From 97f397f30c65a53db843d36e271124666d3a294d Mon Sep 17 00:00:00 2001 From: zederer Date: Wed, 25 Sep 2024 16:06:16 +0800 Subject: [PATCH 1/4] i18n, add chinese lang --- .eslintrc | 3 + .gitignore | 2 +- .lh/.eslintrc.json | 18 + .lh/.lhignore | 6 + .lh/.vscode/launch.json.json | 18 + .lh/package-lock.json.json | 22 + .lh/package.json.json | 26 + .../app/components/APISearchDrawer.tsx.json | 102 + .../components/DataTableContainer.tsx.json | 90 + .lh/src/app/components/DetailDrawer.tsx.json | 30 + .lh/src/app/components/DropZone.tsx.json | 42 + .../app/components/GraphDataHandler.tsx.json | 70 + .lh/src/app/components/GraphViewer.tsx.json | 170 + .lh/src/app/components/Introduction.tsx.json | 30 + .lh/src/app/layout/App.tsx.json | 90 + .lh/src/i18n/en-US/common.ts.json | 18 + .lh/src/i18n/en-US/dataview.ts.json | 46 + .lh/src/i18n/en-US/dintal.ts.json | 22 + .lh/src/i18n/en-US/graphViewer.ts.json | 70 + .lh/src/i18n/en-US/introduction.ts.json | 34 + .lh/src/i18n/en-US/layout.ts.json | 30 + .lh/src/i18n/i18next-config.ts.json | 98 + .lh/src/i18n/index.ts.json | 142 + .lh/src/i18n/languages.json.json | 18 + .lh/src/i18n/zh-Hans/common.ts.json | 22 + .lh/src/i18n/zh-Hans/dataview.ts.json | 30 + .lh/src/i18n/zh-Hans/dintal.ts.json | 34 + .lh/src/i18n/zh-Hans/graphViewer.ts.json | 58 + .lh/src/i18n/zh-Hans/introduction.ts.json | 34 + .lh/src/i18n/zh-Hans/layout.ts.json | 90 + .lh/src/index.tsx.json | 38 + .lh/tsconfig.json.json | 30 + .vscode/launch.json | 16 + Dockerfile | 21 + dataset/create_base_documents.parquet | Bin 0 -> 77753 bytes dataset/create_base_entity_graph.parquet | Bin 0 -> 166577 bytes .../create_base_extracted_entities.parquet | Bin 0 -> 62277 bytes dataset/create_base_text_units.parquet | Bin 0 -> 101551 bytes dataset/create_final_communities.parquet | Bin 0 -> 22321 bytes .../create_final_community_reports.parquet | Bin 0 -> 119141 bytes dataset/create_final_covariates.parquet | Bin 0 -> 59461 bytes dataset/create_final_documents.parquet | Bin 0 -> 77788 bytes dataset/create_final_entities.parquet | Bin 0 -> 1075847 bytes dataset/create_final_nodes.parquet | Bin 0 -> 34500 bytes dataset/create_final_relationships.parquet | Bin 0 -> 57461 bytes dataset/create_final_text_units.parquet | Bin 0 -> 128009 bytes dataset/create_summarized_entities.parquet | Bin 0 -> 59226 bytes .../join_text_units_to_covariate_ids.parquet | Bin 0 -> 12266 bytes dataset/join_text_units_to_entity_ids.parquet | Bin 0 -> 10281 bytes ...oin_text_units_to_relationship_ids.parquet | Bin 0 -> 17709 bytes docker-compose.yml | 20 + package-lock.json | 3302 ++++++++++++----- package.json | 9 +- src/app/components/APISearchDrawer.tsx | 23 +- src/app/components/DataTableContainer.tsx | 30 +- src/app/components/DetailDrawer.tsx | 289 +- src/app/components/DropZone.tsx | 6 +- src/app/components/GraphDataHandler.tsx | 24 +- src/app/components/GraphViewer.tsx | 32 +- src/app/components/Introduction.tsx | 98 +- src/app/layout/App.tsx | 20 +- src/i18n/en-US/common.ts | 51 + src/i18n/en-US/dataview.ts | 21 + src/i18n/en-US/dintal.ts | 7 + src/i18n/en-US/graphViewer.ts | 62 + src/i18n/en-US/introduction.ts | 39 + src/i18n/en-US/layout.ts | 18 + src/i18n/index.ts | 45 + src/i18n/languages.json | 18 + src/i18n/zh-Hans/common.ts | 51 + src/i18n/zh-Hans/dataview.ts | 47 + src/i18n/zh-Hans/dintal.ts | 9 + src/i18n/zh-Hans/graphViewer.ts | 37 + src/i18n/zh-Hans/introduction.ts | 39 + src/i18n/zh-Hans/layout.ts | 18 + src/index.tsx | 1 + tsconfig.json | 6 +- 77 files changed, 4655 insertions(+), 1237 deletions(-) create mode 100644 .eslintrc create mode 100644 .lh/.eslintrc.json create mode 100644 .lh/.lhignore create mode 100644 .lh/.vscode/launch.json.json create mode 100644 .lh/package-lock.json.json create mode 100644 .lh/package.json.json create mode 100644 .lh/src/app/components/APISearchDrawer.tsx.json create mode 100644 .lh/src/app/components/DataTableContainer.tsx.json create mode 100644 .lh/src/app/components/DetailDrawer.tsx.json create mode 100644 .lh/src/app/components/DropZone.tsx.json create mode 100644 .lh/src/app/components/GraphDataHandler.tsx.json create mode 100644 .lh/src/app/components/GraphViewer.tsx.json create mode 100644 .lh/src/app/components/Introduction.tsx.json create mode 100644 .lh/src/app/layout/App.tsx.json create mode 100644 .lh/src/i18n/en-US/common.ts.json create mode 100644 .lh/src/i18n/en-US/dataview.ts.json create mode 100644 .lh/src/i18n/en-US/dintal.ts.json create mode 100644 .lh/src/i18n/en-US/graphViewer.ts.json create mode 100644 .lh/src/i18n/en-US/introduction.ts.json create mode 100644 .lh/src/i18n/en-US/layout.ts.json create mode 100644 .lh/src/i18n/i18next-config.ts.json create mode 100644 .lh/src/i18n/index.ts.json create mode 100644 .lh/src/i18n/languages.json.json create mode 100644 .lh/src/i18n/zh-Hans/common.ts.json create mode 100644 .lh/src/i18n/zh-Hans/dataview.ts.json create mode 100644 .lh/src/i18n/zh-Hans/dintal.ts.json create mode 100644 .lh/src/i18n/zh-Hans/graphViewer.ts.json create mode 100644 .lh/src/i18n/zh-Hans/introduction.ts.json create mode 100644 .lh/src/i18n/zh-Hans/layout.ts.json create mode 100644 .lh/src/index.tsx.json create mode 100644 .lh/tsconfig.json.json create mode 100644 .vscode/launch.json create mode 100644 Dockerfile create mode 100644 dataset/create_base_documents.parquet create mode 100644 dataset/create_base_entity_graph.parquet create mode 100644 dataset/create_base_extracted_entities.parquet create mode 100644 dataset/create_base_text_units.parquet create mode 100644 dataset/create_final_communities.parquet create mode 100644 dataset/create_final_community_reports.parquet create mode 100644 dataset/create_final_covariates.parquet create mode 100644 dataset/create_final_documents.parquet create mode 100644 dataset/create_final_entities.parquet create mode 100644 dataset/create_final_nodes.parquet create mode 100644 dataset/create_final_relationships.parquet create mode 100644 dataset/create_final_text_units.parquet create mode 100644 dataset/create_summarized_entities.parquet create mode 100644 dataset/join_text_units_to_covariate_ids.parquet create mode 100644 dataset/join_text_units_to_entity_ids.parquet create mode 100644 dataset/join_text_units_to_relationship_ids.parquet create mode 100644 docker-compose.yml create mode 100644 src/i18n/en-US/common.ts create mode 100644 src/i18n/en-US/dataview.ts create mode 100644 src/i18n/en-US/dintal.ts create mode 100644 src/i18n/en-US/graphViewer.ts create mode 100644 src/i18n/en-US/introduction.ts create mode 100644 src/i18n/en-US/layout.ts create mode 100644 src/i18n/index.ts create mode 100644 src/i18n/languages.json create mode 100644 src/i18n/zh-Hans/common.ts create mode 100644 src/i18n/zh-Hans/dataview.ts create mode 100644 src/i18n/zh-Hans/dintal.ts create mode 100644 src/i18n/zh-Hans/graphViewer.ts create mode 100644 src/i18n/zh-Hans/introduction.ts create mode 100644 src/i18n/zh-Hans/layout.ts diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..a5d4b3a --- /dev/null +++ b/.eslintrc @@ -0,0 +1,3 @@ +{ + "extends": "react-app" +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 532eddc..d98768b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - +.*/** # dependencies /node_modules /.pnp diff --git a/.lh/.eslintrc.json b/.lh/.eslintrc.json new file mode 100644 index 0000000..163cb84 --- /dev/null +++ b/.lh/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "sourceFile": ".eslintrc", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 0, + "patches": [ + { + "date": 1727231361577, + "content": "Index: \n===================================================================\n--- \n+++ \n" + } + ], + "date": 1727231361577, + "name": "Commit-0", + "content": "{\n \"extends\": \"react-app\"\n }" + } + ] +} \ No newline at end of file diff --git a/.lh/.lhignore b/.lh/.lhignore new file mode 100644 index 0000000..1de5100 --- /dev/null +++ b/.lh/.lhignore @@ -0,0 +1,6 @@ +# list file to not track by the local-history extension. comment line starts with a '#' character +# each line describe a regular expression pattern (search for 'Javascript regex') +# it will relate to the workspace directory root. for example: +# '.*\.txt' ignores any file with 'txt' extension +# '/test/.*' ignores all the files under the 'test' directory +# '.*/test/.*' ignores all the files under any 'test' directory (even under sub-folders) diff --git a/.lh/.vscode/launch.json.json b/.lh/.vscode/launch.json.json new file mode 100644 index 0000000..be9a8a9 --- /dev/null +++ b/.lh/.vscode/launch.json.json @@ -0,0 +1,18 @@ +{ + "sourceFile": ".vscode/launch.json", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 0, + "patches": [ + { + "date": 1727231661383, + "content": "Index: \n===================================================================\n--- \n+++ \n" + } + ], + "date": 1727231661383, + "name": "Commit-0", + "content": "{\n \"version\": \"0.2.0\",\n \"configurations\": [\n {\n \"name\": \"Chrome\",\n \"type\": \"chrome\",\n \"request\": \"launch\",\n \"url\": \"http://localhost:3000\",\n \"webRoot\": \"${workspaceRoot}/src\",\n \"userDataDir\": \"${workspaceRoot}/.vscode/chrome\",\n \"sourceMapPathOverrides\": {\n \"webpack:///src/*\": \"${webRoot}/*\"\n }\n }\n ]\n }" + } + ] +} \ No newline at end of file diff --git a/.lh/package-lock.json.json b/.lh/package-lock.json.json new file mode 100644 index 0000000..671195c --- /dev/null +++ b/.lh/package-lock.json.json @@ -0,0 +1,22 @@ +{ + "sourceFile": "package-lock.json", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 1, + "patches": [ + { + "date": 1727236549152, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727236566422, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -21,17 +21,16 @@\n \"@types/react-dom\": \"^18.3.0\",\n \"axios\": \"^1.7.2\",\n \"fuse.js\": \"^7.0.0\",\n \"hyparquet\": \"^1.1.0\",\n- \"i180\": \"^22.4.13\",\n+ \"i18next\": \"^22.4.13\",\n \"material-react-table\": \"^2.13.1\",\n \"react\": \"^18.3.1\",\n \"react-app-rewired\": \"^2.2.1\",\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n- \"react-ga4\": \"^2.1.0\",\n \"react-i18next\": \"^12.2.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n" + } + ], + "date": 1727236549152, + "name": "Commit-0", + "content": "{\n \"name\": \"graphrag-visualizer\",\n \"version\": \"0.1.0\",\n \"lockfileVersion\": 2,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"graphrag-visualizer\",\n \"version\": \"0.1.0\",\n \"dependencies\": {\n \"@emotion/react\": \"^11.13.0\",\n \"@emotion/styled\": \"^11.13.0\",\n \"@mui/icons-material\": \"^5.16.5\",\n \"@mui/material\": \"^5.16.5\",\n \"@testing-library/jest-dom\": \"^5.17.0\",\n \"@testing-library/react\": \"^13.4.0\",\n \"@testing-library/user-event\": \"^13.5.0\",\n \"@types/jest\": \"^27.5.2\",\n \"@types/node\": \"^16.18.104\",\n \"@types/react\": \"^18.3.3\",\n \"@types/react-dom\": \"^18.3.0\",\n \"axios\": \"^1.7.2\",\n \"fuse.js\": \"^7.0.0\",\n \"hyparquet\": \"^1.1.0\",\n \"i180\": \"^22.4.13\",\n \"material-react-table\": \"^2.13.1\",\n \"react\": \"^18.3.1\",\n \"react-app-rewired\": \"^2.2.1\",\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n \"react-ga4\": \"^2.1.0\",\n \"react-i18next\": \"^12.2.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n \"web-vitals\": \"^2.1.4\"\n },\n \"devDependencies\": {\n \"@types/react-table\": \"^7.7.20\",\n \"@types/three\": \"^0.167.1\",\n \"gh-pages\": \"^6.1.1\"\n }\n },\n \"node_modules/@adobe/css-tools\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz\",\n \"integrity\": \"sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==\"\n },\n \"node_modules/@alloc/quick-lru\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz\",\n \"integrity\": \"sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz\",\n \"integrity\": \"sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==\",\n \"dependencies\": {\n \"@babel/highlight\": \"^7.24.7\",\n \"picocolors\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz\",\n \"integrity\": \"sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.24.9\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz\",\n \"integrity\": \"sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.24.9\",\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-module-transforms\": \"^7.24.9\",\n \"@babel/helpers\": \"^7.24.8\",\n \"@babel/parser\": \"^7.24.8\",\n \"@babel/template\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.9\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/core/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/eslint-parser\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz\",\n \"integrity\": \"sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nicolo-ribaudo/eslint-scope-5-internals\": \"5.1.1-v1\",\n \"eslint-visitor-keys\": \"^2.1.0\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || >=14.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.11.0\",\n \"eslint\": \"^7.5.0 || ^8.0.0 || ^9.0.0\"\n }\n },\n \"node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n \"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@babel/eslint-parser/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz\",\n \"integrity\": \"sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.25.6\",\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\",\n \"jsesc\": \"^2.5.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-annotate-as-pure\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz\",\n \"integrity\": \"sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-builder-binary-assignment-operator-visitor\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz\",\n \"integrity\": \"sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz\",\n \"integrity\": \"sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.25.2\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"browserslist\": \"^4.23.1\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/helper-create-class-features-plugin\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz\",\n \"integrity\": \"sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.4\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-create-class-features-plugin/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/helper-create-regexp-features-plugin\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz\",\n \"integrity\": \"sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"regexpu-core\": \"^5.3.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/helper-define-polyfill-provider\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz\",\n \"integrity\": \"sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-compilation-targets\": \"^7.22.6\",\n \"@babel/helper-plugin-utils\": \"^7.22.5\",\n \"debug\": \"^4.1.1\",\n \"lodash.debounce\": \"^4.0.8\",\n \"resolve\": \"^1.14.2\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/@babel/helper-member-expression-to-functions\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz\",\n \"integrity\": \"sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz\",\n \"integrity\": \"sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz\",\n \"integrity\": \"sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-simple-access\": \"^7.24.7\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-optimise-call-expression\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz\",\n \"integrity\": \"sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz\",\n \"integrity\": \"sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-remap-async-to-generator\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz\",\n \"integrity\": \"sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-wrap-function\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-replace-supers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz\",\n \"integrity\": \"sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-simple-access\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz\",\n \"integrity\": \"sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-skip-transparent-expression-wrappers\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz\",\n \"integrity\": \"sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz\",\n \"integrity\": \"sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz\",\n \"integrity\": \"sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz\",\n \"integrity\": \"sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-wrap-function\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz\",\n \"integrity\": \"sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz\",\n \"integrity\": \"sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==\",\n \"dependencies\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/highlight\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz\",\n \"integrity\": \"sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"chalk\": \"^2.4.2\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz\",\n \"integrity\": \"sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.25.6\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key\": {\n \"version\": \"7.25.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz\",\n \"integrity\": \"sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz\",\n \"integrity\": \"sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz\",\n \"integrity\": \"sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz\",\n \"integrity\": \"sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.13.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz\",\n \"integrity\": \"sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-class-properties\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz\",\n \"integrity\": \"sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-decorators\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-nullish-coalescing-operator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz\",\n \"integrity\": \"sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-numeric-separator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz\",\n \"integrity\": \"sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-optional-chaining\": {\n \"version\": \"7.21.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz\",\n \"integrity\": \"sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.20.2\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-private-methods\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz\",\n \"integrity\": \"sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-private-property-in-object\": {\n \"version\": \"7.21.0-placeholder-for-preset-env.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz\",\n \"integrity\": \"sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-async-generators\": {\n \"version\": \"7.8.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz\",\n \"integrity\": \"sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-bigint\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz\",\n \"integrity\": \"sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-class-properties\": {\n \"version\": \"7.12.13\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz\",\n \"integrity\": \"sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.12.13\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-class-static-block\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz\",\n \"integrity\": \"sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-dynamic-import\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz\",\n \"integrity\": \"sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-export-namespace-from\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz\",\n \"integrity\": \"sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.3\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-flow\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz\",\n \"integrity\": \"sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-import-assertions\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz\",\n \"integrity\": \"sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-import-attributes\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz\",\n \"integrity\": \"sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-import-meta\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz\",\n \"integrity\": \"sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-json-strings\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz\",\n \"integrity\": \"sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-jsx\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz\",\n \"integrity\": \"sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-logical-assignment-operators\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz\",\n \"integrity\": \"sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-nullish-coalescing-operator\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz\",\n \"integrity\": \"sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-numeric-separator\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz\",\n \"integrity\": \"sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-object-rest-spread\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz\",\n \"integrity\": \"sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-optional-catch-binding\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz\",\n \"integrity\": \"sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-optional-chaining\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz\",\n \"integrity\": \"sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-private-property-in-object\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz\",\n \"integrity\": \"sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-top-level-await\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz\",\n \"integrity\": \"sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-typescript\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz\",\n \"integrity\": \"sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-unicode-sets-regex\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz\",\n \"integrity\": \"sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-arrow-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-async-generator-functions\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz\",\n \"integrity\": \"sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-remap-async-to-generator\": \"^7.25.0\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/traverse\": \"^7.25.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-async-to-generator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz\",\n \"integrity\": \"sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-remap-async-to-generator\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-block-scoped-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-block-scoping\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz\",\n \"integrity\": \"sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-class-properties\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz\",\n \"integrity\": \"sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-class-static-block\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz\",\n \"integrity\": \"sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.12.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-classes\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz\",\n \"integrity\": \"sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.4\",\n \"globals\": \"^11.1.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-computed-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/template\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-destructuring\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz\",\n \"integrity\": \"sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-dotall-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-duplicate-keys\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz\",\n \"integrity\": \"sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz\",\n \"integrity\": \"sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-dynamic-import\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz\",\n \"integrity\": \"sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-exponentiation-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-builder-binary-assignment-operator-visitor\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-export-namespace-from\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz\",\n \"integrity\": \"sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-flow-strip-types\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz\",\n \"integrity\": \"sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-flow\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-for-of\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz\",\n \"integrity\": \"sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-function-name\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz\",\n \"integrity\": \"sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-json-strings\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz\",\n \"integrity\": \"sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-literals\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz\",\n \"integrity\": \"sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-logical-assignment-operators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz\",\n \"integrity\": \"sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-member-expression-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-amd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz\",\n \"integrity\": \"sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-commonjs\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz\",\n \"integrity\": \"sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-simple-access\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-systemjs\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz\",\n \"integrity\": \"sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-umd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz\",\n \"integrity\": \"sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-named-capturing-groups-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-new-target\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz\",\n \"integrity\": \"sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-nullish-coalescing-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-numeric-separator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz\",\n \"integrity\": \"sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-object-rest-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-compilation-targets\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-object-super\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz\",\n \"integrity\": \"sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-optional-catch-binding\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz\",\n \"integrity\": \"sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-optional-chaining\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz\",\n \"integrity\": \"sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-parameters\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz\",\n \"integrity\": \"sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-private-methods\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz\",\n \"integrity\": \"sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-private-property-in-object\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz\",\n \"integrity\": \"sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-property-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-constant-elements\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz\",\n \"integrity\": \"sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-display-name\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz\",\n \"integrity\": \"sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz\",\n \"integrity\": \"sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/types\": \"^7.25.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-development\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz\",\n \"integrity\": \"sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-pure-annotations\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz\",\n \"integrity\": \"sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-regenerator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz\",\n \"integrity\": \"sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"regenerator-transform\": \"^0.15.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-reserved-words\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz\",\n \"integrity\": \"sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-runtime\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz\",\n \"integrity\": \"sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-runtime/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/plugin-transform-shorthand-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-sticky-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-template-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-typeof-symbol\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz\",\n \"integrity\": \"sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-typescript\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz\",\n \"integrity\": \"sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-typescript\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-escapes\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz\",\n \"integrity\": \"sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-property-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-sets-regex\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz\",\n \"integrity\": \"sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/preset-env\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz\",\n \"integrity\": \"sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.25.4\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"@babel/plugin-bugfix-firefox-class-in-computed-class-key\": \"^7.25.3\",\n \"@babel/plugin-bugfix-safari-class-field-initializer-scope\": \"^7.25.0\",\n \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": \"^7.25.0\",\n \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": \"^7.24.7\",\n \"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": \"^7.25.0\",\n \"@babel/plugin-proposal-private-property-in-object\": \"7.21.0-placeholder-for-preset-env.2\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-assertions\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\",\n \"@babel/plugin-syntax-unicode-sets-regex\": \"^7.18.6\",\n \"@babel/plugin-transform-arrow-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-async-generator-functions\": \"^7.25.4\",\n \"@babel/plugin-transform-async-to-generator\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoped-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoping\": \"^7.25.0\",\n \"@babel/plugin-transform-class-properties\": \"^7.25.4\",\n \"@babel/plugin-transform-class-static-block\": \"^7.24.7\",\n \"@babel/plugin-transform-classes\": \"^7.25.4\",\n \"@babel/plugin-transform-computed-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-destructuring\": \"^7.24.8\",\n \"@babel/plugin-transform-dotall-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-keys\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-named-capturing-groups-regex\": \"^7.25.0\",\n \"@babel/plugin-transform-dynamic-import\": \"^7.24.7\",\n \"@babel/plugin-transform-exponentiation-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-export-namespace-from\": \"^7.24.7\",\n \"@babel/plugin-transform-for-of\": \"^7.24.7\",\n \"@babel/plugin-transform-function-name\": \"^7.25.1\",\n \"@babel/plugin-transform-json-strings\": \"^7.24.7\",\n \"@babel/plugin-transform-literals\": \"^7.25.2\",\n \"@babel/plugin-transform-logical-assignment-operators\": \"^7.24.7\",\n \"@babel/plugin-transform-member-expression-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-amd\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.8\",\n \"@babel/plugin-transform-modules-systemjs\": \"^7.25.0\",\n \"@babel/plugin-transform-modules-umd\": \"^7.24.7\",\n \"@babel/plugin-transform-named-capturing-groups-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-new-target\": \"^7.24.7\",\n \"@babel/plugin-transform-nullish-coalescing-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-numeric-separator\": \"^7.24.7\",\n \"@babel/plugin-transform-object-rest-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-object-super\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-catch-binding\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.8\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\",\n \"@babel/plugin-transform-private-methods\": \"^7.25.4\",\n \"@babel/plugin-transform-private-property-in-object\": \"^7.24.7\",\n \"@babel/plugin-transform-property-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-regenerator\": \"^7.24.7\",\n \"@babel/plugin-transform-reserved-words\": \"^7.24.7\",\n \"@babel/plugin-transform-shorthand-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-sticky-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-template-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-typeof-symbol\": \"^7.24.8\",\n \"@babel/plugin-transform-unicode-escapes\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-property-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-sets-regex\": \"^7.25.4\",\n \"@babel/preset-modules\": \"0.1.6-no-external-plugins\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"core-js-compat\": \"^3.37.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/preset-env/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/preset-modules\": {\n \"version\": \"0.1.6-no-external-plugins\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz\",\n \"integrity\": \"sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@babel/types\": \"^7.4.4\",\n \"esutils\": \"^2.0.2\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/@babel/preset-react\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz\",\n \"integrity\": \"sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-transform-react-display-name\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx-development\": \"^7.24.7\",\n \"@babel/plugin-transform-react-pure-annotations\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/preset-typescript\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz\",\n \"integrity\": \"sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.7\",\n \"@babel/plugin-transform-typescript\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/regjsgen\": {\n \"version\": \"0.8.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz\",\n \"integrity\": \"sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz\",\n \"integrity\": \"sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==\",\n \"dependencies\": {\n \"regenerator-runtime\": \"^0.14.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz\",\n \"integrity\": \"sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/parser\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz\",\n \"integrity\": \"sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.25.6\",\n \"@babel/parser\": \"^7.25.6\",\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.6\",\n \"debug\": \"^4.3.1\",\n \"globals\": \"^11.1.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz\",\n \"integrity\": \"sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"to-fast-properties\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@bcoe/v8-coverage\": {\n \"version\": \"0.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz\",\n \"integrity\": \"sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@csstools/normalize.css\": {\n \"version\": \"12.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz\",\n \"integrity\": \"sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/@csstools/postcss-cascade-layers\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz\",\n \"integrity\": \"sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/selector-specificity\": \"^2.0.2\",\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-color-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz\",\n \"integrity\": \"sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-font-format-keywords\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz\",\n \"integrity\": \"sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-hwb-function\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz\",\n \"integrity\": \"sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-ic-unit\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz\",\n \"integrity\": \"sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-is-pseudo-class\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz\",\n \"integrity\": \"sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-nested-calc\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz\",\n \"integrity\": \"sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-normalize-display-values\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz\",\n \"integrity\": \"sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-oklab-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz\",\n \"integrity\": \"sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-progressive-custom-properties\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz\",\n \"integrity\": \"sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.3\"\n }\n },\n \"node_modules/@csstools/postcss-stepped-value-functions\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz\",\n \"integrity\": \"sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-text-decoration-shorthand\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz\",\n \"integrity\": \"sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-trigonometric-functions\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz\",\n \"integrity\": \"sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-unset-value\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz\",\n \"integrity\": \"sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/selector-specificity\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz\",\n \"integrity\": \"sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^14 || ^16 || >=18\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"node_modules/@emotion/babel-plugin\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz\",\n \"integrity\": \"sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.16.7\",\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/serialize\": \"^1.2.0\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"convert-source-map\": \"^1.5.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"find-root\": \"^1.1.0\",\n \"source-map\": \"^0.5.7\",\n \"stylis\": \"4.2.0\"\n }\n },\n \"node_modules/@emotion/babel-plugin/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@emotion/babel-plugin/node_modules/source-map\": {\n \"version\": \"0.5.7\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n \"integrity\": \"sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@emotion/cache\": {\n \"version\": \"11.13.1\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz\",\n \"integrity\": \"sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==\",\n \"dependencies\": {\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/sheet\": \"^1.4.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"stylis\": \"4.2.0\"\n }\n },\n \"node_modules/@emotion/hash\": {\n \"version\": \"0.9.2\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz\",\n \"integrity\": \"sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==\"\n },\n \"node_modules/@emotion/is-prop-valid\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz\",\n \"integrity\": \"sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==\",\n \"dependencies\": {\n \"@emotion/memoize\": \"^0.9.0\"\n }\n },\n \"node_modules/@emotion/memoize\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz\",\n \"integrity\": \"sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==\"\n },\n \"node_modules/@emotion/react\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/react/-/react-11.13.0.tgz\",\n \"integrity\": \"sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/cache\": \"^11.13.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@emotion/serialize\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.0.tgz\",\n \"integrity\": \"sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA==\",\n \"dependencies\": {\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/unitless\": \"^0.9.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@emotion/sheet\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz\",\n \"integrity\": \"sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==\"\n },\n \"node_modules/@emotion/styled\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz\",\n \"integrity\": \"sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/is-prop-valid\": \"^1.3.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.0.0-rc.0\",\n \"react\": \">=16.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@emotion/unitless\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/unitless/-/unitless-0.9.0.tgz\",\n \"integrity\": \"sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==\"\n },\n \"node_modules/@emotion/use-insertion-effect-with-fallbacks\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz\",\n \"integrity\": \"sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==\",\n \"peerDependencies\": {\n \"react\": \">=16.8.0\"\n }\n },\n \"node_modules/@emotion/utils\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz\",\n \"integrity\": \"sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==\"\n },\n \"node_modules/@emotion/weak-memoize\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz\",\n \"integrity\": \"sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==\"\n },\n \"node_modules/@eslint-community/eslint-utils\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n \"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eslint-visitor-keys\": \"^3.3.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || >=8.0.0\"\n }\n },\n \"node_modules/@eslint-community/regexpp\": {\n \"version\": \"4.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz\",\n \"integrity\": \"sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.0.0 || ^14.0.0 || >=16.0.0\"\n }\n },\n \"node_modules/@eslint/eslintrc\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz\",\n \"integrity\": \"sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ajv\": \"^6.12.4\",\n \"debug\": \"^4.3.2\",\n \"espree\": \"^9.6.0\",\n \"globals\": \"^13.19.0\",\n \"ignore\": \"^5.2.0\",\n \"import-fresh\": \"^3.2.1\",\n \"js-yaml\": \"^4.1.0\",\n \"minimatch\": \"^3.1.2\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/@eslint/eslintrc/node_modules/argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n \"license\": \"Python-2.0\"\n },\n \"node_modules/@eslint/eslintrc/node_modules/globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-fest\": \"^0.20.2\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@eslint/eslintrc/node_modules/js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"argparse\": \"^2.0.1\"\n },\n \"bin\": {\n \"js-yaml\": \"bin/js-yaml.js\"\n }\n },\n \"node_modules/@eslint/eslintrc/node_modules/type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@eslint/js\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz\",\n \"integrity\": \"sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n }\n },\n \"node_modules/@floating-ui/core\": {\n \"version\": \"1.6.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz\",\n \"integrity\": \"sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==\",\n \"peer\": true,\n \"dependencies\": {\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"node_modules/@floating-ui/dom\": {\n \"version\": \"1.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.8.tgz\",\n \"integrity\": \"sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==\",\n \"peer\": true,\n \"dependencies\": {\n \"@floating-ui/core\": \"^1.6.0\",\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"node_modules/@floating-ui/react-dom\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz\",\n \"integrity\": \"sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==\",\n \"peer\": true,\n \"dependencies\": {\n \"@floating-ui/dom\": \"^1.0.0\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.8.0\",\n \"react-dom\": \">=16.8.0\"\n }\n },\n \"node_modules/@floating-ui/utils\": {\n \"version\": \"0.2.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz\",\n \"integrity\": \"sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==\",\n \"peer\": true\n },\n \"node_modules/@humanwhocodes/config-array\": {\n \"version\": \"0.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz\",\n \"integrity\": \"sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==\",\n \"deprecated\": \"Use @eslint/config-array instead\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@humanwhocodes/object-schema\": \"^2.0.3\",\n \"debug\": \"^4.3.1\",\n \"minimatch\": \"^3.0.5\"\n },\n \"engines\": {\n \"node\": \">=10.10.0\"\n }\n },\n \"node_modules/@humanwhocodes/module-importer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n \"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.22\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/nzakas\"\n }\n },\n \"node_modules/@humanwhocodes/object-schema\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz\",\n \"integrity\": \"sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==\",\n \"deprecated\": \"Use @eslint/object-schema instead\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/@isaacs/cliui\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz\",\n \"integrity\": \"sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^5.1.2\",\n \"string-width-cjs\": \"npm:string-width@^4.2.0\",\n \"strip-ansi\": \"^7.0.1\",\n \"strip-ansi-cjs\": \"npm:strip-ansi@^6.0.1\",\n \"wrap-ansi\": \"^8.1.0\",\n \"wrap-ansi-cjs\": \"npm:wrap-ansi@^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-regex?sponsor=1\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/ansi-styles\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz\",\n \"integrity\": \"sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/string-width\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz\",\n \"integrity\": \"sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eastasianwidth\": \"^0.2.0\",\n \"emoji-regex\": \"^9.2.2\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/strip-ansi?sponsor=1\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/wrap-ansi\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz\",\n \"integrity\": \"sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^6.1.0\",\n \"string-width\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/@istanbuljs/load-nyc-config\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz\",\n \"integrity\": \"sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"camelcase\": \"^5.3.1\",\n \"find-up\": \"^4.1.0\",\n \"get-package-type\": \"^0.1.0\",\n \"js-yaml\": \"^3.13.1\",\n \"resolve-from\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n \"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/@istanbuljs/schema\": {\n \"version\": \"0.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz\",\n \"integrity\": \"sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/console\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz\",\n \"integrity\": \"sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/console/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/console/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/console/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/console/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/console/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/console/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/core\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz\",\n \"integrity\": \"sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/reporters\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-changed-files\": \"^27.5.1\",\n \"jest-config\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-resolve-dependencies\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"jest-watcher\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"rimraf\": \"^3.0.0\",\n \"slash\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@jest/core/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/core/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/core/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/core/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/core/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/core/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/environment\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz\",\n \"integrity\": \"sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/fake-timers\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz\",\n \"integrity\": \"sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@sinonjs/fake-timers\": \"^8.0.1\",\n \"@types/node\": \"*\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/globals\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz\",\n \"integrity\": \"sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"expect\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/reporters\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz\",\n \"integrity\": \"sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@bcoe/v8-coverage\": \"^0.2.3\",\n \"@jest/console\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"exit\": \"^0.1.2\",\n \"glob\": \"^7.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"istanbul-lib-instrument\": \"^5.1.0\",\n \"istanbul-lib-report\": \"^3.0.0\",\n \"istanbul-lib-source-maps\": \"^4.0.0\",\n \"istanbul-reports\": \"^3.1.3\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.0\",\n \"string-length\": \"^4.0.1\",\n \"terminal-link\": \"^2.0.0\",\n \"v8-to-istanbul\": \"^8.1.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@jest/reporters/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/reporters/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/schemas\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz\",\n \"integrity\": \"sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@sinclair/typebox\": \"^0.24.1\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/@jest/source-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz\",\n \"integrity\": \"sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"callsites\": \"^3.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"source-map\": \"^0.6.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/source-map/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@jest/test-result\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz\",\n \"integrity\": \"sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/test-sequencer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz\",\n \"integrity\": \"sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/transform\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz\",\n \"integrity\": \"sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.1.0\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"chalk\": \"^4.0.0\",\n \"convert-source-map\": \"^1.4.0\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"pirates\": \"^4.0.4\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\",\n \"write-file-atomic\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/transform/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/transform/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/transform/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/transform/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/transform/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/transform/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/transform/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@jest/transform/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/types\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz\",\n \"integrity\": \"sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^16.0.0\",\n \"chalk\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/types/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/types/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/types/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/types/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/types/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/types/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz\",\n \"integrity\": \"sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==\",\n \"dependencies\": {\n \"@jridgewell/set-array\": \"^1.2.1\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.10\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/set-array\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz\",\n \"integrity\": \"sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/source-map\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz\",\n \"integrity\": \"sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz\",\n \"integrity\": \"sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.25\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz\",\n \"integrity\": \"sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@leichtgewicht/ip-codec\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz\",\n \"integrity\": \"sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@mui/base\": {\n \"version\": \"5.0.0-beta.40\",\n \"resolved\": \"https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz\",\n \"integrity\": \"sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==\",\n \"peer\": true,\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@floating-ui/react-dom\": \"^2.0.8\",\n \"@mui/types\": \"^7.2.14\",\n \"@mui/utils\": \"^5.15.14\",\n \"@popperjs/core\": \"^2.11.8\",\n \"clsx\": \"^2.1.0\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/core-downloads-tracker\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.5.tgz\",\n \"integrity\": \"sha512-ziFn1oPm6VjvHQcdGcAO+fXvOQEgieIj0BuSqcltFU+JXIxjPdVYNTdn2HU7/Ak5Gabk6k2u7+9PV7oZ6JT5sA==\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n }\n },\n \"node_modules/@mui/icons-material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.5.tgz\",\n \"integrity\": \"sha512-bn88xxU/J9UV0s6+eutq7o3TTOrOlbCX+KshFb8kxgIxJZZfYz3JbAXVMivvoMF4Md6jCVUzM9HEkf4Ajab4tw==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@mui/material\": \"^5.0.0\",\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/material/-/material-5.16.5.tgz\",\n \"integrity\": \"sha512-eQrjjg4JeczXvh/+8yvJkxWIiKNHVptB/AqpsKfZBWp5mUD5U3VsjODMuUl1K2BSq0omV3CiO/mQmWSSMKSmaA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/core-downloads-tracker\": \"^5.16.5\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"@popperjs/core\": \"^2.11.8\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\",\n \"react-transition-group\": \"^4.4.5\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.5.0\",\n \"@emotion/styled\": \"^11.3.0\",\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n },\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/material/node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n },\n \"node_modules/@mui/private-theming\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.5.tgz\",\n \"integrity\": \"sha512-CSLg0YkpDqg0aXOxtjo3oTMd3XWMxvNb5d0v4AYVqwOltU8q6GvnZjhWyCLjGSCrcgfwm6/VDjaKLPlR14wxIA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/utils\": \"^5.16.5\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/styled-engine\": {\n \"version\": \"5.16.4\",\n \"resolved\": \"https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.4.tgz\",\n \"integrity\": \"sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@emotion/cache\": \"^11.11.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.4.1\",\n \"@emotion/styled\": \"^11.3.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/system\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/system/-/system-5.16.5.tgz\",\n \"integrity\": \"sha512-uzIUGdrWddUx1HPxW4+B2o4vpgKyRxGe/8BxbfXVDPNPHX75c782TseoCnR/VyfnZJfqX87GcxDmnZEE1c031g==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/private-theming\": \"^5.16.5\",\n \"@mui/styled-engine\": \"^5.16.4\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.5.0\",\n \"@emotion/styled\": \"^11.3.0\",\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n },\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/types\": {\n \"version\": \"7.2.15\",\n \"resolved\": \"https://registry.npmjs.org/@mui/types/-/types-7.2.15.tgz\",\n \"integrity\": \"sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==\",\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/utils\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/utils/-/utils-5.16.5.tgz\",\n \"integrity\": \"sha512-CwhcA9y44XwK7k2joL3Y29mRUnoBt+gOZZdGyw7YihbEwEErJYBtDwbZwVgH68zAljGe/b+Kd5bzfl63Gi3R2A==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/types\": \"^7.2.15\",\n \"@types/prop-types\": \"^15.7.12\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/utils/node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n },\n \"node_modules/@mui/x-date-pickers\": {\n \"version\": \"7.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.11.1.tgz\",\n \"integrity\": \"sha512-CflouzTNSv0YeOA8iiYpJMtqGlwGC8LI9EE9egDGhatR9Mn5geRDTXsm0rRG/4pMOfaRxyJc6Yzr/axBhEXM7w==\",\n \"peer\": true,\n \"dependencies\": {\n \"@babel/runtime\": \"^7.24.8\",\n \"@mui/base\": \"^5.0.0-beta.40\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/utils\": \"^5.16.5\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-transition-group\": \"^4.4.5\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.9.0\",\n \"@emotion/styled\": \"^11.8.1\",\n \"@mui/material\": \"^5.15.14\",\n \"date-fns\": \"^2.25.0 || ^3.2.0\",\n \"date-fns-jalali\": \"^2.13.0-0 || ^3.2.0-0\",\n \"dayjs\": \"^1.10.7\",\n \"luxon\": \"^3.0.2\",\n \"moment\": \"^2.29.4\",\n \"moment-hijri\": \"^2.1.2\",\n \"moment-jalaali\": \"^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0\",\n \"react\": \"^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n },\n \"date-fns\": {\n \"optional\": true\n },\n \"date-fns-jalali\": {\n \"optional\": true\n },\n \"dayjs\": {\n \"optional\": true\n },\n \"luxon\": {\n \"optional\": true\n },\n \"moment\": {\n \"optional\": true\n },\n \"moment-hijri\": {\n \"optional\": true\n },\n \"moment-jalaali\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals\": {\n \"version\": \"5.1.1-v1\",\n \"resolved\": \"https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz\",\n \"integrity\": \"sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eslint-scope\": \"5.1.1\"\n }\n },\n \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/@nodelib/fs.scandir\": {\n \"version\": \"2.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n \"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"2.0.5\",\n \"run-parallel\": \"^1.1.9\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.stat\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n \"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.walk\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n \"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.scandir\": \"2.1.5\",\n \"fastq\": \"^1.6.0\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@pkgjs/parseargs\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz\",\n \"integrity\": \"sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/@pmmmwh/react-refresh-webpack-plugin\": {\n \"version\": \"0.5.15\",\n \"resolved\": \"https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz\",\n \"integrity\": \"sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-html\": \"^0.0.9\",\n \"core-js-pure\": \"^3.23.3\",\n \"error-stack-parser\": \"^2.0.6\",\n \"html-entities\": \"^2.1.0\",\n \"loader-utils\": \"^2.0.4\",\n \"schema-utils\": \"^4.2.0\",\n \"source-map\": \"^0.7.3\"\n },\n \"engines\": {\n \"node\": \">= 10.13\"\n },\n \"peerDependencies\": {\n \"@types/webpack\": \"4.x || 5.x\",\n \"react-refresh\": \">=0.10.0 <1.0.0\",\n \"sockjs-client\": \"^1.4.0\",\n \"type-fest\": \">=0.17.0 <5.0.0\",\n \"webpack\": \">=4.43.0 <6.0.0\",\n \"webpack-dev-server\": \"3.x || 4.x || 5.x\",\n \"webpack-hot-middleware\": \"2.x\",\n \"webpack-plugin-serve\": \"0.x || 1.x\"\n },\n \"peerDependenciesMeta\": {\n \"@types/webpack\": {\n \"optional\": true\n },\n \"sockjs-client\": {\n \"optional\": true\n },\n \"type-fest\": {\n \"optional\": true\n },\n \"webpack-dev-server\": {\n \"optional\": true\n },\n \"webpack-hot-middleware\": {\n \"optional\": true\n },\n \"webpack-plugin-serve\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@popperjs/core\": {\n \"version\": \"2.11.8\",\n \"resolved\": \"https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz\",\n \"integrity\": \"sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/popperjs\"\n }\n },\n \"node_modules/@rollup/plugin-babel\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz\",\n \"integrity\": \"sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.10.4\",\n \"@rollup/pluginutils\": \"^3.1.0\"\n },\n \"engines\": {\n \"node\": \">= 10.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\",\n \"@types/babel__core\": \"^7.1.9\",\n \"rollup\": \"^1.20.0||^2.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/babel__core\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rollup/plugin-node-resolve\": {\n \"version\": \"11.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz\",\n \"integrity\": \"sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"@types/resolve\": \"1.17.1\",\n \"builtin-modules\": \"^3.1.0\",\n \"deepmerge\": \"^4.2.2\",\n \"is-module\": \"^1.0.0\",\n \"resolve\": \"^1.19.0\"\n },\n \"engines\": {\n \"node\": \">= 10.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0||^2.0.0\"\n }\n },\n \"node_modules/@rollup/plugin-replace\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz\",\n \"integrity\": \"sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"magic-string\": \"^0.25.7\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0 || ^2.0.0\"\n }\n },\n \"node_modules/@rollup/pluginutils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz\",\n \"integrity\": \"sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"0.0.39\",\n \"estree-walker\": \"^1.0.1\",\n \"picomatch\": \"^2.2.2\"\n },\n \"engines\": {\n \"node\": \">= 8.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0||^2.0.0\"\n }\n },\n \"node_modules/@rollup/pluginutils/node_modules/@types/estree\": {\n \"version\": \"0.0.39\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz\",\n \"integrity\": \"sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rtsao/scc\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz\",\n \"integrity\": \"sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rushstack/eslint-patch\": {\n \"version\": \"1.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz\",\n \"integrity\": \"sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@sinclair/typebox\": {\n \"version\": \"0.24.51\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz\",\n \"integrity\": \"sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@sinonjs/commons\": {\n \"version\": \"1.8.6\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz\",\n \"integrity\": \"sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"type-detect\": \"4.0.8\"\n }\n },\n \"node_modules/@sinonjs/fake-timers\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz\",\n \"integrity\": \"sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"@sinonjs/commons\": \"^1.7.0\"\n }\n },\n \"node_modules/@surma/rollup-plugin-off-main-thread\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz\",\n \"integrity\": \"sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"ejs\": \"^3.1.6\",\n \"json5\": \"^2.2.0\",\n \"magic-string\": \"^0.25.0\",\n \"string.prototype.matchall\": \"^4.0.6\"\n }\n },\n \"node_modules/@svgr/babel-plugin-add-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-remove-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-remove-jsx-empty-expression\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz\",\n \"integrity\": \"sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-replace-jsx-attribute-value\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz\",\n \"integrity\": \"sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-svg-dynamic-title\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz\",\n \"integrity\": \"sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-svg-em-dimensions\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz\",\n \"integrity\": \"sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-transform-react-native-svg\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz\",\n \"integrity\": \"sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-transform-svg-component\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz\",\n \"integrity\": \"sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-preset\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz\",\n \"integrity\": \"sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@svgr/babel-plugin-add-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-empty-expression\": \"^5.0.1\",\n \"@svgr/babel-plugin-replace-jsx-attribute-value\": \"^5.0.1\",\n \"@svgr/babel-plugin-svg-dynamic-title\": \"^5.4.0\",\n \"@svgr/babel-plugin-svg-em-dimensions\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-react-native-svg\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-svg-component\": \"^5.5.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/core\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz\",\n \"integrity\": \"sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"camelcase\": \"^6.2.0\",\n \"cosmiconfig\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/hast-util-to-babel-ast\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz\",\n \"integrity\": \"sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.12.6\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/plugin-jsx\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz\",\n \"integrity\": \"sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.12.3\",\n \"@svgr/babel-preset\": \"^5.5.0\",\n \"@svgr/hast-util-to-babel-ast\": \"^5.5.0\",\n \"svg-parser\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/plugin-svgo\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz\",\n \"integrity\": \"sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"svgo\": \"^1.2.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/webpack\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz\",\n \"integrity\": \"sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/plugin-transform-react-constant-elements\": \"^7.12.1\",\n \"@babel/preset-env\": \"^7.12.1\",\n \"@babel/preset-react\": \"^7.12.5\",\n \"@svgr/core\": \"^5.5.0\",\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"@svgr/plugin-svgo\": \"^5.5.0\",\n \"loader-utils\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@tanstack/match-sorter-utils\": {\n \"version\": \"8.15.1\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.15.1.tgz\",\n \"integrity\": \"sha512-PnVV3d2poenUM31ZbZi/yXkBu3J7kd5k2u51CGwwNojag451AjTH9N6n41yjXz2fpLeewleyLBmNS6+HcGDlXw==\",\n \"dependencies\": {\n \"remove-accents\": \"0.5.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@tanstack/react-table\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.19.3.tgz\",\n \"integrity\": \"sha512-MtgPZc4y+cCRtU16y1vh1myuyZ2OdkWgMEBzyjYsoMWMicKZGZvcDnub3Zwb6XF2pj9iRMvm1SO1n57lS0vXLw==\",\n \"dependencies\": {\n \"@tanstack/table-core\": \"8.19.3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.8\",\n \"react-dom\": \">=16.8\"\n }\n },\n \"node_modules/@tanstack/react-virtual\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.8.3.tgz\",\n \"integrity\": \"sha512-9ICwbDUUzN99CJIGc373i8NLoj6zFTKI2Hlcmo0+lCSAhPQ5mxq4dGOMKmLYoEFyHcGQ64Bd6ZVbnPpM6lNK5w==\",\n \"dependencies\": {\n \"@tanstack/virtual-core\": \"3.8.3\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0\"\n }\n },\n \"node_modules/@tanstack/table-core\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.19.3.tgz\",\n \"integrity\": \"sha512-IqREj9ADoml9zCAouIG/5kCGoyIxPFdqdyoxis9FisXFi5vT+iYfEfLosq4xkU/iDbMcEuAj+X8dWRLvKYDNoQ==\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@tanstack/virtual-core\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.8.3.tgz\",\n \"integrity\": \"sha512-vd2A2TnM5lbnWZnHi9B+L2gPtkSeOtJOAw358JqokIH1+v2J7vUAzFVPwB/wrye12RFOurffXu33plm4uQ+JBQ==\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@testing-library/dom\": {\n \"version\": \"10.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz\",\n \"integrity\": \"sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==\",\n \"peer\": true,\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.3.0\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"peer\": true,\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/aria-query\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz\",\n \"integrity\": \"sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==\",\n \"peer\": true,\n \"dependencies\": {\n \"dequal\": \"^2.0.3\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"peer\": true,\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"peer\": true,\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"peer\": true\n },\n \"node_modules/@testing-library/dom/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"peer\": true,\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/jest-dom\": {\n \"version\": \"5.17.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz\",\n \"integrity\": \"sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==\",\n \"dependencies\": {\n \"@adobe/css-tools\": \"^4.0.1\",\n \"@babel/runtime\": \"^7.9.2\",\n \"@types/testing-library__jest-dom\": \"^5.9.1\",\n \"aria-query\": \"^5.0.0\",\n \"chalk\": \"^3.0.0\",\n \"css.escape\": \"^1.5.1\",\n \"dom-accessibility-api\": \"^0.5.6\",\n \"lodash\": \"^4.17.15\",\n \"redent\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\",\n \"npm\": \">=6\",\n \"yarn\": \">=1\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/chalk\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz\",\n \"integrity\": \"sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/@testing-library/jest-dom/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/react\": {\n \"version\": \"13.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz\",\n \"integrity\": \"sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"@testing-library/dom\": \"^8.5.0\",\n \"@types/react-dom\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.0.0\",\n \"react-dom\": \"^18.0.0\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/@testing-library/dom\": {\n \"version\": \"8.20.1\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz\",\n \"integrity\": \"sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.1.3\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/@testing-library/react/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/user-event\": {\n \"version\": \"13.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz\",\n \"integrity\": \"sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.12.5\"\n },\n \"engines\": {\n \"node\": \">=10\",\n \"npm\": \">=6\"\n },\n \"peerDependencies\": {\n \"@testing-library/dom\": \">=7.21.4\"\n }\n },\n \"node_modules/@tootallnate/once\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz\",\n \"integrity\": \"sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/@trysound/sax\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz\",\n \"integrity\": \"sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/@tweenjs/tween.js\": {\n \"version\": \"23.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz\",\n \"integrity\": \"sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==\"\n },\n \"node_modules/@types/aria-query\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz\",\n \"integrity\": \"sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==\"\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz\",\n \"integrity\": \"sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz\",\n \"integrity\": \"sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/body-parser\": {\n \"version\": \"1.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz\",\n \"integrity\": \"sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/connect\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/bonjour\": {\n \"version\": \"3.5.13\",\n \"resolved\": \"https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz\",\n \"integrity\": \"sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/connect\": {\n \"version\": \"3.4.38\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz\",\n \"integrity\": \"sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/connect-history-api-fallback\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz\",\n \"integrity\": \"sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/express-serve-static-core\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/eslint\": {\n \"version\": \"8.56.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz\",\n \"integrity\": \"sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"*\",\n \"@types/json-schema\": \"*\"\n }\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz\",\n \"integrity\": \"sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/express\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz\",\n \"integrity\": \"sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/body-parser\": \"*\",\n \"@types/express-serve-static-core\": \"^4.17.33\",\n \"@types/qs\": \"*\",\n \"@types/serve-static\": \"*\"\n }\n },\n \"node_modules/@types/express-serve-static-core\": {\n \"version\": \"4.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz\",\n \"integrity\": \"sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"@types/qs\": \"*\",\n \"@types/range-parser\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"node_modules/@types/graceful-fs\": {\n \"version\": \"4.1.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz\",\n \"integrity\": \"sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/http-errors\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz\",\n \"integrity\": \"sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/http-proxy\": {\n \"version\": \"1.17.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz\",\n \"integrity\": \"sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/istanbul-lib-coverage\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz\",\n \"integrity\": \"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/istanbul-lib-report\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz\",\n \"integrity\": \"sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/istanbul-lib-coverage\": \"*\"\n }\n },\n \"node_modules/@types/istanbul-reports\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz\",\n \"integrity\": \"sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/istanbul-lib-report\": \"*\"\n }\n },\n \"node_modules/@types/jest\": {\n \"version\": \"27.5.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz\",\n \"integrity\": \"sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==\",\n \"dependencies\": {\n \"jest-matcher-utils\": \"^27.0.0\",\n \"pretty-format\": \"^27.0.0\"\n }\n },\n \"node_modules/@types/json-schema\": {\n \"version\": \"7.0.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz\",\n \"integrity\": \"sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/json5\": {\n \"version\": \"0.0.29\",\n \"resolved\": \"https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz\",\n \"integrity\": \"sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/mime\": {\n \"version\": \"1.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz\",\n \"integrity\": \"sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"16.18.104\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-16.18.104.tgz\",\n \"integrity\": \"sha512-OF3keVCbfPlkzxnnDBUZJn1RiCJzKeadjiW0xTEb0G1SUJ5gDVb3qnzZr2T4uIFvsbKJbXy1v2DN7e2zaEY7jQ==\"\n },\n \"node_modules/@types/node-forge\": {\n \"version\": \"1.3.11\",\n \"resolved\": \"https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz\",\n \"integrity\": \"sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/parse-json\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz\",\n \"integrity\": \"sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==\"\n },\n \"node_modules/@types/prettier\": {\n \"version\": \"2.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz\",\n \"integrity\": \"sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz\",\n \"integrity\": \"sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==\"\n },\n \"node_modules/@types/q\": {\n \"version\": \"1.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz\",\n \"integrity\": \"sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/qs\": {\n \"version\": \"6.9.16\",\n \"resolved\": \"https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz\",\n \"integrity\": \"sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/range-parser\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz\",\n \"integrity\": \"sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz\",\n \"integrity\": \"sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz\",\n \"integrity\": \"sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==\",\n \"dependencies\": {\n \"@types/react\": \"*\"\n }\n },\n \"node_modules/@types/react-table\": {\n \"version\": \"7.7.20\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-table/-/react-table-7.7.20.tgz\",\n \"integrity\": \"sha512-ahMp4pmjVlnExxNwxyaDrFgmKxSbPwU23sGQw2gJK4EhCvnvmib2s/O/+y1dfV57dXOwpr2plfyBol+vEHbi2w==\",\n \"dev\": true,\n \"dependencies\": {\n \"@types/react\": \"*\"\n }\n },\n \"node_modules/@types/react-transition-group\": {\n \"version\": \"4.4.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz\",\n \"integrity\": \"sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==\",\n \"dependencies\": {\n \"@types/react\": \"*\"\n }\n },\n \"node_modules/@types/resolve\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz\",\n \"integrity\": \"sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz\",\n \"integrity\": \"sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/semver\": {\n \"version\": \"7.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz\",\n \"integrity\": \"sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/send\": {\n \"version\": \"0.17.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz\",\n \"integrity\": \"sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/mime\": \"^1\",\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/serve-index\": {\n \"version\": \"1.9.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz\",\n \"integrity\": \"sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/express\": \"*\"\n }\n },\n \"node_modules/@types/serve-static\": {\n \"version\": \"1.15.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz\",\n \"integrity\": \"sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/http-errors\": \"*\",\n \"@types/node\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"node_modules/@types/sockjs\": {\n \"version\": \"0.3.36\",\n \"resolved\": \"https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz\",\n \"integrity\": \"sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/stack-utils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz\",\n \"integrity\": \"sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/stats.js\": {\n \"version\": \"0.17.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz\",\n \"integrity\": \"sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==\",\n \"dev\": true\n },\n \"node_modules/@types/testing-library__jest-dom\": {\n \"version\": \"5.14.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz\",\n \"integrity\": \"sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==\",\n \"dependencies\": {\n \"@types/jest\": \"*\"\n }\n },\n \"node_modules/@types/three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-OCd2Uv/8/4TbmSaIRFawrCOnDMLdpaa+QGJdhlUBmdfbHjLY8k6uFc0tde2/UvcaHQ6NtLl28onj/vJfofV+Tg==\",\n \"dev\": true,\n \"dependencies\": {\n \"@tweenjs/tween.js\": \"~23.1.2\",\n \"@types/stats.js\": \"*\",\n \"@types/webxr\": \"*\",\n \"fflate\": \"~0.8.2\",\n \"meshoptimizer\": \"~0.18.1\"\n }\n },\n \"node_modules/@types/trusted-types\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz\",\n \"integrity\": \"sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/webxr\": {\n \"version\": \"0.5.19\",\n \"resolved\": \"https://registry.npmjs.org/@types/webxr/-/webxr-0.5.19.tgz\",\n \"integrity\": \"sha512-4hxA+NwohSgImdTSlPXEqDqqFktNgmTXQ05ff1uWam05tNGroCMp4G+4XVl6qWm1p7GQ/9oD41kAYsSssF6Mzw==\",\n \"dev\": true\n },\n \"node_modules/@types/ws\": {\n \"version\": \"8.5.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz\",\n \"integrity\": \"sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/yargs\": {\n \"version\": \"16.0.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz\",\n \"integrity\": \"sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"node_modules/@types/yargs-parser\": {\n \"version\": \"21.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz\",\n \"integrity\": \"sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@typescript-eslint/eslint-plugin\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz\",\n \"integrity\": \"sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/regexpp\": \"^4.4.0\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/type-utils\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"natural-compare-lite\": \"^1.4.0\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"@typescript-eslint/parser\": \"^5.0.0\",\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/experimental-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/utils\": \"5.62.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/parser\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz\",\n \"integrity\": \"sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"debug\": \"^4.3.4\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/scope-manager\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz\",\n \"integrity\": \"sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@typescript-eslint/type-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"tsutils\": \"^3.21.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/types\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz\",\n \"integrity\": \"sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@typescript-eslint/typescript-estree\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz\",\n \"integrity\": \"sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"globby\": \"^11.1.0\",\n \"is-glob\": \"^4.0.3\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz\",\n \"integrity\": \"sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@types/json-schema\": \"^7.0.9\",\n \"@types/semver\": \"^7.3.12\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"eslint-scope\": \"^5.1.1\",\n \"semver\": \"^7.3.7\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/utils/node_modules/eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/utils/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/@typescript-eslint/visitor-keys\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz\",\n \"integrity\": \"sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"eslint-visitor-keys\": \"^3.3.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@ungap/structured-clone\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz\",\n \"integrity\": \"sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/@webassemblyjs/ast\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz\",\n \"integrity\": \"sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/helper-numbers\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\"\n }\n },\n \"node_modules/@webassemblyjs/floating-point-hex-parser\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz\",\n \"integrity\": \"sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-api-error\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz\",\n \"integrity\": \"sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-buffer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz\",\n \"integrity\": \"sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-numbers\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz\",\n \"integrity\": \"sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/floating-point-hex-parser\": \"1.11.6\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"node_modules/@webassemblyjs/helper-wasm-bytecode\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz\",\n \"integrity\": \"sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-wasm-section\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz\",\n \"integrity\": \"sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\"\n }\n },\n \"node_modules/@webassemblyjs/ieee754\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz\",\n \"integrity\": \"sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@xtuc/ieee754\": \"^1.2.0\"\n }\n },\n \"node_modules/@webassemblyjs/leb128\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz\",\n \"integrity\": \"sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"node_modules/@webassemblyjs/utf8\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz\",\n \"integrity\": \"sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/wasm-edit\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz\",\n \"integrity\": \"sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-section\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-opt\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\",\n \"@webassemblyjs/wast-printer\": \"1.12.1\"\n }\n },\n \"node_modules/@webassemblyjs/wasm-gen\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz\",\n \"integrity\": \"sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"node_modules/@webassemblyjs/wasm-opt\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz\",\n \"integrity\": \"sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\"\n }\n },\n \"node_modules/@webassemblyjs/wasm-parser\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz\",\n \"integrity\": \"sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"node_modules/@webassemblyjs/wast-printer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz\",\n \"integrity\": \"sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"node_modules/@xtuc/ieee754\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz\",\n \"integrity\": \"sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/@xtuc/long\": {\n \"version\": \"4.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz\",\n \"integrity\": \"sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/3d-force-graph\": {\n \"version\": \"1.73.3\",\n \"resolved\": \"https://registry.npmjs.org/3d-force-graph/-/3d-force-graph-1.73.3.tgz\",\n \"integrity\": \"sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==\",\n \"dependencies\": {\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"three\": \">=0.118 <1\",\n \"three-forcegraph\": \"1\",\n \"three-render-objects\": \"^1.29\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/abab\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/abab/-/abab-2.0.6.tgz\",\n \"integrity\": \"sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==\",\n \"deprecated\": \"Use your platform's native atob() and btoa() methods instead\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/accepts\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz\",\n \"integrity\": \"sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mime-types\": \"~2.1.34\",\n \"negotiator\": \"0.6.3\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/accessor-fn\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.1.tgz\",\n \"integrity\": \"sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/acorn\": {\n \"version\": \"8.12.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz\",\n \"integrity\": \"sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-globals\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz\",\n \"integrity\": \"sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^7.1.1\",\n \"acorn-walk\": \"^7.1.1\"\n }\n },\n \"node_modules/acorn-globals/node_modules/acorn\": {\n \"version\": \"7.4.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz\",\n \"integrity\": \"sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-import-attributes\": {\n \"version\": \"1.9.5\",\n \"resolved\": \"https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz\",\n \"integrity\": \"sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"acorn\": \"^8\"\n }\n },\n \"node_modules/acorn-jsx\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n \"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n }\n },\n \"node_modules/acorn-walk\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz\",\n \"integrity\": \"sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/address\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/address/-/address-1.2.2.tgz\",\n \"integrity\": \"sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 10.0.0\"\n }\n },\n \"node_modules/adjust-sourcemap-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loader-utils\": \"^2.0.0\",\n \"regex-parser\": \"^2.2.11\"\n },\n \"engines\": {\n \"node\": \">=8.9\"\n }\n },\n \"node_modules/agent-base\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz\",\n \"integrity\": \"sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"4\"\n },\n \"engines\": {\n \"node\": \">= 6.0.0\"\n }\n },\n \"node_modules/ajv\": {\n \"version\": \"6.12.6\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz\",\n \"integrity\": \"sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.1\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"json-schema-traverse\": \"^0.4.1\",\n \"uri-js\": \"^4.2.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/ajv-formats\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz\",\n \"integrity\": \"sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ajv\": \"^8.0.0\"\n },\n \"peerDependencies\": {\n \"ajv\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"ajv\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/ajv-formats/node_modules/ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/ajv-formats/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ajv-keywords\": {\n \"version\": \"3.5.2\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz\",\n \"integrity\": \"sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"ajv\": \"^6.9.1\"\n }\n },\n \"node_modules/ansi-escapes\": {\n \"version\": \"4.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",\n \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-fest\": \"^0.21.3\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/ansi-html\": {\n \"version\": \"0.0.9\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz\",\n \"integrity\": \"sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==\",\n \"engines\": [\n \"node >= 0.8.0\"\n ],\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"ansi-html\": \"bin/ansi-html\"\n }\n },\n \"node_modules/ansi-html-community\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz\",\n \"integrity\": \"sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==\",\n \"engines\": [\n \"node >= 0.8.0\"\n ],\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"ansi-html\": \"bin/ansi-html\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n \"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n \"dependencies\": {\n \"color-convert\": \"^1.9.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/any-promise\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz\",\n \"integrity\": \"sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/anymatch\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz\",\n \"integrity\": \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"normalize-path\": \"^3.0.0\",\n \"picomatch\": \"^2.0.4\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/arg\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/arg/-/arg-5.0.2.tgz\",\n \"integrity\": \"sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/argparse\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n \"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"sprintf-js\": \"~1.0.2\"\n }\n },\n \"node_modules/aria-query\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz\",\n \"integrity\": \"sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==\",\n \"dependencies\": {\n \"deep-equal\": \"^2.0.5\"\n }\n },\n \"node_modules/array-buffer-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.5\",\n \"is-array-buffer\": \"^3.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array-flatten\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n \"integrity\": \"sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/array-includes\": {\n \"version\": \"3.1.8\",\n \"resolved\": \"https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz\",\n \"integrity\": \"sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"is-string\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array-union\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz\",\n \"integrity\": \"sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-uniq\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/array-uniq\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz\",\n \"integrity\": \"sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/array.prototype.findlast\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz\",\n \"integrity\": \"sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.findlastindex\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz\",\n \"integrity\": \"sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.flat\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz\",\n \"integrity\": \"sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.flatmap\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz\",\n \"integrity\": \"sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.reduce\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz\",\n \"integrity\": \"sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-array-method-boxes-properly\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"is-string\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.tosorted\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz\",\n \"integrity\": \"sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/arraybuffer.prototype.slice\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz\",\n \"integrity\": \"sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.22.3\",\n \"es-errors\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.3\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-shared-array-buffer\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/asap\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n \"integrity\": \"sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ast-types-flow\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz\",\n \"integrity\": \"sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/async\": {\n \"version\": \"3.2.5\",\n \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.5.tgz\",\n \"integrity\": \"sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==\"\n },\n \"node_modules/asynckit\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==\"\n },\n \"node_modules/at-least-node\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",\n \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">= 4.0.0\"\n }\n },\n \"node_modules/attr-accept\": {\n \"version\": \"2.2.2\",\n \"resolved\": \"https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz\",\n \"integrity\": \"sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/autoprefixer\": {\n \"version\": \"10.4.20\",\n \"resolved\": \"https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz\",\n \"integrity\": \"sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/autoprefixer\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.23.3\",\n \"caniuse-lite\": \"^1.0.30001646\",\n \"fraction.js\": \"^4.3.7\",\n \"normalize-range\": \"^0.1.2\",\n \"picocolors\": \"^1.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"bin\": {\n \"autoprefixer\": \"bin/autoprefixer\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/available-typed-arrays\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz\",\n \"integrity\": \"sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==\",\n \"dependencies\": {\n \"possible-typed-array-names\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/axe-core\": {\n \"version\": \"4.10.0\",\n \"resolved\": \"https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz\",\n \"integrity\": \"sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==\",\n \"license\": \"MPL-2.0\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/axios\": {\n \"version\": \"1.7.7\",\n \"resolved\": \"https://registry.npmjs.org/axios/-/axios-1.7.7.tgz\",\n \"integrity\": \"sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"follow-redirects\": \"^1.15.6\",\n \"form-data\": \"^4.0.0\",\n \"proxy-from-env\": \"^1.1.0\"\n }\n },\n \"node_modules/axios/node_modules/form-data\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz\",\n \"integrity\": \"sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==\",\n \"dependencies\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/axobject-query\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz\",\n \"integrity\": \"sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/babel-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__core\": \"^7.1.14\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"babel-preset-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.8.0\"\n }\n },\n \"node_modules/babel-jest/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/babel-jest/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/babel-jest/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/babel-jest/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/babel-jest/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/babel-jest/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/babel-loader\": {\n \"version\": \"8.4.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz\",\n \"integrity\": \"sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"find-cache-dir\": \"^3.3.1\",\n \"loader-utils\": \"^2.0.4\",\n \"make-dir\": \"^3.1.0\",\n \"schema-utils\": \"^2.6.5\"\n },\n \"engines\": {\n \"node\": \">= 8.9\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\",\n \"webpack\": \">=2\"\n }\n },\n \"node_modules/babel-loader/node_modules/schema-utils\": {\n \"version\": \"2.7.1\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz\",\n \"integrity\": \"sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.5\",\n \"ajv\": \"^6.12.4\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 8.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/babel-plugin-istanbul\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz\",\n \"integrity\": \"sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@istanbuljs/load-nyc-config\": \"^1.0.0\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-instrument\": \"^5.0.4\",\n \"test-exclude\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/babel-plugin-jest-hoist\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz\",\n \"integrity\": \"sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.3.3\",\n \"@babel/types\": \"^7.3.3\",\n \"@types/babel__core\": \"^7.0.0\",\n \"@types/babel__traverse\": \"^7.0.6\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/babel-plugin-macros\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz\",\n \"integrity\": \"sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"cosmiconfig\": \"^7.0.0\",\n \"resolve\": \"^1.19.0\"\n },\n \"engines\": {\n \"node\": \">=10\",\n \"npm\": \">=6\"\n }\n },\n \"node_modules/babel-plugin-named-asset-import\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz\",\n \"integrity\": \"sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==\",\n \"peerDependencies\": {\n \"@babel/core\": \"^7.1.0\"\n }\n },\n \"node_modules/babel-plugin-polyfill-corejs2\": {\n \"version\": \"0.4.11\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz\",\n \"integrity\": \"sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.22.6\",\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"semver\": \"^6.3.1\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/babel-plugin-polyfill-corejs2/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/babel-plugin-polyfill-corejs3\": {\n \"version\": \"0.10.6\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz\",\n \"integrity\": \"sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"core-js-compat\": \"^3.38.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/babel-plugin-polyfill-regenerator\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz\",\n \"integrity\": \"sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/babel-plugin-transform-react-remove-prop-types\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz\",\n \"integrity\": \"sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/babel-preset-current-node-syntax\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz\",\n \"integrity\": \"sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-bigint\": \"^7.8.3\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/babel-preset-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"babel-plugin-jest-hoist\": \"^27.5.1\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/babel-preset-react-app\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz\",\n \"integrity\": \"sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.16.0\",\n \"@babel/plugin-proposal-decorators\": \"^7.16.4\",\n \"@babel/plugin-proposal-nullish-coalescing-operator\": \"^7.16.0\",\n \"@babel/plugin-proposal-numeric-separator\": \"^7.16.0\",\n \"@babel/plugin-proposal-optional-chaining\": \"^7.16.0\",\n \"@babel/plugin-proposal-private-methods\": \"^7.16.0\",\n \"@babel/plugin-transform-flow-strip-types\": \"^7.16.0\",\n \"@babel/plugin-transform-react-display-name\": \"^7.16.0\",\n \"@babel/plugin-transform-runtime\": \"^7.16.4\",\n \"@babel/preset-env\": \"^7.16.4\",\n \"@babel/preset-react\": \"^7.16.0\",\n \"@babel/preset-typescript\": \"^7.16.0\",\n \"@babel/runtime\": \"^7.16.3\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"babel-plugin-transform-react-remove-prop-types\": \"^0.4.24\"\n }\n },\n \"node_modules/balanced-match\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\"\n },\n \"node_modules/batch\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/batch/-/batch-0.6.1.tgz\",\n \"integrity\": \"sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/bezier-js\": {\n \"version\": \"6.1.4\",\n \"resolved\": \"https://registry.npmjs.org/bezier-js/-/bezier-js-6.1.4.tgz\",\n \"integrity\": \"sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==\",\n \"funding\": {\n \"type\": \"individual\",\n \"url\": \"https://github.com/Pomax/bezierjs/blob/master/FUNDING.md\"\n }\n },\n \"node_modules/bfj\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz\",\n \"integrity\": \"sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"bluebird\": \"^3.7.2\",\n \"check-types\": \"^11.2.3\",\n \"hoopy\": \"^0.1.4\",\n \"jsonpath\": \"^1.1.1\",\n \"tryer\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8.0.0\"\n }\n },\n \"node_modules/big.js\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz\",\n \"integrity\": \"sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/binary-extensions\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz\",\n \"integrity\": \"sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/bluebird\": {\n \"version\": \"3.7.2\",\n \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/body-parser\": {\n \"version\": \"1.20.3\",\n \"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz\",\n \"integrity\": \"sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"bytes\": \"3.1.2\",\n \"content-type\": \"~1.0.5\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"on-finished\": \"2.4.1\",\n \"qs\": \"6.13.0\",\n \"raw-body\": \"2.5.2\",\n \"type-is\": \"~1.6.18\",\n \"unpipe\": \"1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\",\n \"npm\": \"1.2.8000 || >= 1.4.16\"\n }\n },\n \"node_modules/body-parser/node_modules/bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/body-parser/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/body-parser/node_modules/iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/body-parser/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/bonjour-service\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz\",\n \"integrity\": \"sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"multicast-dns\": \"^7.2.5\"\n }\n },\n \"node_modules/boolbase\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n \"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\",\n \"license\": \"ISC\"\n },\n \"node_modules/brace-expansion\": {\n \"version\": \"1.1.11\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\",\n \"concat-map\": \"0.0.1\"\n }\n },\n \"node_modules/braces\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.3.tgz\",\n \"integrity\": \"sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fill-range\": \"^7.1.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/browser-process-hrtime\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz\",\n \"integrity\": \"sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.23.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz\",\n \"integrity\": \"sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001646\",\n \"electron-to-chromium\": \"^1.5.4\",\n \"node-releases\": \"^2.0.18\",\n \"update-browserslist-db\": \"^1.1.0\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/bser\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/bser/-/bser-2.1.1.tgz\",\n \"integrity\": \"sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"node-int64\": \"^0.4.0\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/builtin-modules\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n \"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/bytes\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n \"integrity\": \"sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/call-bind\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz\",\n \"integrity\": \"sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"set-function-length\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/callsites\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n \"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/camel-case\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz\",\n \"integrity\": \"sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"pascal-case\": \"^3.1.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/camelcase\": {\n \"version\": \"6.3.0\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz\",\n \"integrity\": \"sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/camelcase-css\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz\",\n \"integrity\": \"sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/caniuse-api\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz\",\n \"integrity\": \"sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.0.0\",\n \"caniuse-lite\": \"^1.0.0\",\n \"lodash.memoize\": \"^4.1.2\",\n \"lodash.uniq\": \"^4.5.0\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001663\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz\",\n \"integrity\": \"sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/canvas-color-tracker\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/canvas-color-tracker/-/canvas-color-tracker-1.2.2.tgz\",\n \"integrity\": \"sha512-r+u/Ft2ka4Rj274Ts4L9bhYZLuMvbuJ/yL4seP0s+Pi+i9CM0caD+Sd//yseS5EVBJ2SKSmq36h2mNYUCdmTfA==\",\n \"dependencies\": {\n \"tinycolor2\": \"^1.6.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/case-sensitive-paths-webpack-plugin\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz\",\n \"integrity\": \"sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n \"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n \"dependencies\": {\n \"ansi-styles\": \"^3.2.1\",\n \"escape-string-regexp\": \"^1.0.5\",\n \"supports-color\": \"^5.3.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/char-regex\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz\",\n \"integrity\": \"sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/check-types\": {\n \"version\": \"11.2.3\",\n \"resolved\": \"https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz\",\n \"integrity\": \"sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/chokidar\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz\",\n \"integrity\": \"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"anymatch\": \"~3.1.2\",\n \"braces\": \"~3.0.2\",\n \"glob-parent\": \"~5.1.2\",\n \"is-binary-path\": \"~2.1.0\",\n \"is-glob\": \"~4.0.1\",\n \"normalize-path\": \"~3.0.0\",\n \"readdirp\": \"~3.6.0\"\n },\n \"engines\": {\n \"node\": \">= 8.10.0\"\n },\n \"funding\": {\n \"url\": \"https://paulmillr.com/funding/\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/chokidar/node_modules/glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/chrome-trace-event\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz\",\n \"integrity\": \"sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0\"\n }\n },\n \"node_modules/ci-info\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",\n \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/sibiraj-s\"\n }\n ],\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/cjs-module-lexer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz\",\n \"integrity\": \"sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/clean-css\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz\",\n \"integrity\": \"sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"source-map\": \"~0.6.0\"\n },\n \"engines\": {\n \"node\": \">= 10.0\"\n }\n },\n \"node_modules/clean-css/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"7.0.4\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz\",\n \"integrity\": \"sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.0\",\n \"wrap-ansi\": \"^7.0.0\"\n }\n },\n \"node_modules/clsx\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz\",\n \"integrity\": \"sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/co\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/co/-/co-4.6.0.tgz\",\n \"integrity\": \"sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"iojs\": \">= 1.0.0\",\n \"node\": \">= 0.12.0\"\n }\n },\n \"node_modules/coa\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/coa/-/coa-2.0.2.tgz\",\n \"integrity\": \"sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/q\": \"^1.5.1\",\n \"chalk\": \"^2.4.1\",\n \"q\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 4.0\"\n }\n },\n \"node_modules/collect-v8-coverage\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz\",\n \"integrity\": \"sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/color-convert\": {\n \"version\": \"1.9.3\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n \"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n \"dependencies\": {\n \"color-name\": \"1.1.3\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n \"integrity\": \"sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==\"\n },\n \"node_modules/colord\": {\n \"version\": \"2.9.3\",\n \"resolved\": \"https://registry.npmjs.org/colord/-/colord-2.9.3.tgz\",\n \"integrity\": \"sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/colorette\": {\n \"version\": \"2.0.20\",\n \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",\n \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/combined-stream\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n \"dependencies\": {\n \"delayed-stream\": \"~1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/commander\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-8.3.0.tgz\",\n \"integrity\": \"sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 12\"\n }\n },\n \"node_modules/common-tags\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",\n \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4.0.0\"\n }\n },\n \"node_modules/commondir\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n \"integrity\": \"sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==\"\n },\n \"node_modules/compressible\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n \"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mime-db\": \">= 1.43.0 < 2\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/compression\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n \"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"accepts\": \"~1.3.5\",\n \"bytes\": \"3.0.0\",\n \"compressible\": \"~2.0.16\",\n \"debug\": \"2.6.9\",\n \"on-headers\": \"~1.0.2\",\n \"safe-buffer\": \"5.1.2\",\n \"vary\": \"~1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/compression/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/compression/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/compression/node_modules/safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/concat-map\": {\n \"version\": \"0.0.1\",\n \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\"\n },\n \"node_modules/confusing-browser-globals\": {\n \"version\": \"1.0.11\",\n \"resolved\": \"https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz\",\n \"integrity\": \"sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/connect-history-api-fallback\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz\",\n \"integrity\": \"sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.8\"\n }\n },\n \"node_modules/content-disposition\": {\n \"version\": \"0.5.4\",\n \"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz\",\n \"integrity\": \"sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"5.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/content-type\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz\",\n \"integrity\": \"sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\"\n },\n \"node_modules/cookie\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz\",\n \"integrity\": \"sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/cookie-signature\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n \"integrity\": \"sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/core-js\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz\",\n \"integrity\": \"sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/core-js\"\n }\n },\n \"node_modules/core-js-compat\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz\",\n \"integrity\": \"sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.23.3\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/core-js\"\n }\n },\n \"node_modules/core-js-pure\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz\",\n \"integrity\": \"sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/core-js\"\n }\n },\n \"node_modules/core-util-is\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz\",\n \"integrity\": \"sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/cosmiconfig\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz\",\n \"integrity\": \"sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==\",\n \"dependencies\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.2.1\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.10.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/cross-spawn\": {\n \"version\": \"7.0.3\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/crypto-random-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz\",\n \"integrity\": \"sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/css-blank-pseudo\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz\",\n \"integrity\": \"sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"bin\": {\n \"css-blank-pseudo\": \"dist/cli.cjs\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/css-declaration-sorter\": {\n \"version\": \"6.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz\",\n \"integrity\": \"sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.0.9\"\n }\n },\n \"node_modules/css-has-pseudo\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz\",\n \"integrity\": \"sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"bin\": {\n \"css-has-pseudo\": \"dist/cli.cjs\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/css-loader\": {\n \"version\": \"6.11.0\",\n \"resolved\": \"https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz\",\n \"integrity\": \"sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"icss-utils\": \"^5.1.0\",\n \"postcss\": \"^8.4.33\",\n \"postcss-modules-extract-imports\": \"^3.1.0\",\n \"postcss-modules-local-by-default\": \"^4.0.5\",\n \"postcss-modules-scope\": \"^3.2.0\",\n \"postcss-modules-values\": \"^4.0.0\",\n \"postcss-value-parser\": \"^4.2.0\",\n \"semver\": \"^7.5.4\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"@rspack/core\": \"0.x || 1.x\",\n \"webpack\": \"^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@rspack/core\": {\n \"optional\": true\n },\n \"webpack\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/css-minimizer-webpack-plugin\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz\",\n \"integrity\": \"sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssnano\": \"^5.0.6\",\n \"jest-worker\": \"^27.0.2\",\n \"postcss\": \"^8.3.5\",\n \"schema-utils\": \"^4.0.0\",\n \"serialize-javascript\": \"^6.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@parcel/css\": {\n \"optional\": true\n },\n \"clean-css\": {\n \"optional\": true\n },\n \"csso\": {\n \"optional\": true\n },\n \"esbuild\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/css-minimizer-webpack-plugin/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/css-prefers-color-scheme\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz\",\n \"integrity\": \"sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==\",\n \"license\": \"CC0-1.0\",\n \"bin\": {\n \"css-prefers-color-scheme\": \"dist/cli.cjs\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/css-select\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz\",\n \"integrity\": \"sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^6.0.1\",\n \"domhandler\": \"^4.3.1\",\n \"domutils\": \"^2.8.0\",\n \"nth-check\": \"^2.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n },\n \"node_modules/css-select-base-adapter\": {\n \"version\": \"0.1.1\",\n \"resolved\": \"https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz\",\n \"integrity\": \"sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/css-tree\": {\n \"version\": \"1.0.0-alpha.37\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz\",\n \"integrity\": \"sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mdn-data\": \"2.0.4\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/css-tree/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/css-what\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz\",\n \"integrity\": \"sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">= 6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n },\n \"node_modules/css.escape\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz\",\n \"integrity\": \"sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==\"\n },\n \"node_modules/cssdb\": {\n \"version\": \"7.11.2\",\n \"resolved\": \"https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz\",\n \"integrity\": \"sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/csstools\"\n }\n ],\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/cssesc\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n \"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"cssesc\": \"bin/cssesc\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/cssnano\": {\n \"version\": \"5.1.15\",\n \"resolved\": \"https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz\",\n \"integrity\": \"sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssnano-preset-default\": \"^5.2.14\",\n \"lilconfig\": \"^2.0.3\",\n \"yaml\": \"^1.10.2\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/cssnano\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/cssnano-preset-default\": {\n \"version\": \"5.2.14\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz\",\n \"integrity\": \"sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"css-declaration-sorter\": \"^6.3.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-calc\": \"^8.2.3\",\n \"postcss-colormin\": \"^5.3.1\",\n \"postcss-convert-values\": \"^5.1.3\",\n \"postcss-discard-comments\": \"^5.1.2\",\n \"postcss-discard-duplicates\": \"^5.1.0\",\n \"postcss-discard-empty\": \"^5.1.1\",\n \"postcss-discard-overridden\": \"^5.1.0\",\n \"postcss-merge-longhand\": \"^5.1.7\",\n \"postcss-merge-rules\": \"^5.1.4\",\n \"postcss-minify-font-values\": \"^5.1.0\",\n \"postcss-minify-gradients\": \"^5.1.1\",\n \"postcss-minify-params\": \"^5.1.4\",\n \"postcss-minify-selectors\": \"^5.2.1\",\n \"postcss-normalize-charset\": \"^5.1.0\",\n \"postcss-normalize-display-values\": \"^5.1.0\",\n \"postcss-normalize-positions\": \"^5.1.1\",\n \"postcss-normalize-repeat-style\": \"^5.1.1\",\n \"postcss-normalize-string\": \"^5.1.0\",\n \"postcss-normalize-timing-functions\": \"^5.1.0\",\n \"postcss-normalize-unicode\": \"^5.1.1\",\n \"postcss-normalize-url\": \"^5.1.0\",\n \"postcss-normalize-whitespace\": \"^5.1.1\",\n \"postcss-ordered-values\": \"^5.1.3\",\n \"postcss-reduce-initial\": \"^5.1.2\",\n \"postcss-reduce-transforms\": \"^5.1.0\",\n \"postcss-svgo\": \"^5.1.0\",\n \"postcss-unique-selectors\": \"^5.1.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/cssnano-utils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz\",\n \"integrity\": \"sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/csso\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/csso/-/csso-4.2.0.tgz\",\n \"integrity\": \"sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"css-tree\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/csso/node_modules/css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/csso/node_modules/mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/csso/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/cssom\": {\n \"version\": \"0.4.4\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz\",\n \"integrity\": \"sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/cssstyle\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz\",\n \"integrity\": \"sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssom\": \"~0.3.6\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/cssstyle/node_modules/cssom\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz\",\n \"integrity\": \"sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\"\n },\n \"node_modules/d3-array\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz\",\n \"integrity\": \"sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==\",\n \"dependencies\": {\n \"internmap\": \"1 - 2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-binarytree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz\",\n \"integrity\": \"sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==\"\n },\n \"node_modules/d3-color\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz\",\n \"integrity\": \"sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-dispatch\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz\",\n \"integrity\": \"sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-drag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz\",\n \"integrity\": \"sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==\",\n \"dependencies\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-selection\": \"3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-ease\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz\",\n \"integrity\": \"sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-force-3d\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.5.tgz\",\n \"integrity\": \"sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==\",\n \"dependencies\": {\n \"d3-binarytree\": \"1\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-octree\": \"1\",\n \"d3-quadtree\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-format\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz\",\n \"integrity\": \"sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-interpolate\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz\",\n \"integrity\": \"sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==\",\n \"dependencies\": {\n \"d3-color\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-octree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-octree/-/d3-octree-1.0.2.tgz\",\n \"integrity\": \"sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA==\"\n },\n \"node_modules/d3-quadtree\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz\",\n \"integrity\": \"sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-scale\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz\",\n \"integrity\": \"sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==\",\n \"dependencies\": {\n \"d3-array\": \"2.10.0 - 3\",\n \"d3-format\": \"1 - 3\",\n \"d3-interpolate\": \"1.2.0 - 3\",\n \"d3-time\": \"2.1.1 - 3\",\n \"d3-time-format\": \"2 - 4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-scale-chromatic\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz\",\n \"integrity\": \"sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==\",\n \"dependencies\": {\n \"d3-color\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-selection\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz\",\n \"integrity\": \"sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-time\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz\",\n \"integrity\": \"sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==\",\n \"dependencies\": {\n \"d3-array\": \"2 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-time-format\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz\",\n \"integrity\": \"sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==\",\n \"dependencies\": {\n \"d3-time\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-timer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz\",\n \"integrity\": \"sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-transition\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz\",\n \"integrity\": \"sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==\",\n \"dependencies\": {\n \"d3-color\": \"1 - 3\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-ease\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"d3-selection\": \"2 - 3\"\n }\n },\n \"node_modules/d3-zoom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz\",\n \"integrity\": \"sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==\",\n \"dependencies\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-transition\": \"2 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/damerau-levenshtein\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz\",\n \"integrity\": \"sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/data-joint\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/data-joint/-/data-joint-1.3.1.tgz\",\n \"integrity\": \"sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==\",\n \"dependencies\": {\n \"index-array-by\": \"^1.4.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/data-urls\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz\",\n \"integrity\": \"sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"abab\": \"^2.0.3\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/data-view-buffer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz\",\n \"integrity\": \"sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/data-view-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/data-view-byte-offset\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz\",\n \"integrity\": \"sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.3.6\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.6.tgz\",\n \"integrity\": \"sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==\",\n \"dependencies\": {\n \"ms\": \"2.1.2\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/decimal.js\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz\",\n \"integrity\": \"sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/dedent\": {\n \"version\": \"0.7.0\",\n \"resolved\": \"https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz\",\n \"integrity\": \"sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/deep-equal\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz\",\n \"integrity\": \"sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.0\",\n \"call-bind\": \"^1.0.5\",\n \"es-get-iterator\": \"^1.1.3\",\n \"get-intrinsic\": \"^1.2.2\",\n \"is-arguments\": \"^1.1.1\",\n \"is-array-buffer\": \"^3.0.2\",\n \"is-date-object\": \"^1.0.5\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"object-is\": \"^1.1.5\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.4\",\n \"regexp.prototype.flags\": \"^1.5.1\",\n \"side-channel\": \"^1.0.4\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.1\",\n \"which-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/deep-is\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz\",\n \"integrity\": \"sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/deepmerge\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz\",\n \"integrity\": \"sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/default-gateway\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz\",\n \"integrity\": \"sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"execa\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/define-data-property\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz\",\n \"integrity\": \"sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"gopd\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/define-lazy-prop\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz\",\n \"integrity\": \"sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/define-properties\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz\",\n \"integrity\": \"sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==\",\n \"dependencies\": {\n \"define-data-property\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.0\",\n \"object-keys\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/delayed-stream\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==\",\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/depd\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-2.0.0.tgz\",\n \"integrity\": \"sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/dequal\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz\",\n \"integrity\": \"sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/destroy\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz\",\n \"integrity\": \"sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\",\n \"npm\": \"1.2.8000 || >= 1.4.16\"\n }\n },\n \"node_modules/detect-newline\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz\",\n \"integrity\": \"sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/detect-node\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz\",\n \"integrity\": \"sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/detect-port-alt\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz\",\n \"integrity\": \"sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"address\": \"^1.0.1\",\n \"debug\": \"^2.6.0\"\n },\n \"bin\": {\n \"detect\": \"bin/detect-port\",\n \"detect-port\": \"bin/detect-port\"\n },\n \"engines\": {\n \"node\": \">= 4.2.1\"\n }\n },\n \"node_modules/detect-port-alt/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/detect-port-alt/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/didyoumean\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz\",\n \"integrity\": \"sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/diff-sequences\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz\",\n \"integrity\": \"sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==\",\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/dir-glob\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz\",\n \"integrity\": \"sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-type\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/dlv\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz\",\n \"integrity\": \"sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/dns-packet\": {\n \"version\": \"5.6.1\",\n \"resolved\": \"https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz\",\n \"integrity\": \"sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@leichtgewicht/ip-codec\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/doctrine\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n \"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/dom-accessibility-api\": {\n \"version\": \"0.5.16\",\n \"resolved\": \"https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz\",\n \"integrity\": \"sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==\"\n },\n \"node_modules/dom-converter\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz\",\n \"integrity\": \"sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"utila\": \"~0.4\"\n }\n },\n \"node_modules/dom-helpers\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz\",\n \"integrity\": \"sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.8.7\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/dom-serializer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz\",\n \"integrity\": \"sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.2.0\",\n \"entities\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor=1\"\n }\n },\n \"node_modules/domelementtype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz\",\n \"integrity\": \"sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n ],\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/domexception\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz\",\n \"integrity\": \"sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==\",\n \"deprecated\": \"Use your platform's native DOMException instead\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"webidl-conversions\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/domexception/node_modules/webidl-conversions\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz\",\n \"integrity\": \"sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/domhandler\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz\",\n \"integrity\": \"sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"domelementtype\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">= 4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/domhandler?sponsor=1\"\n }\n },\n \"node_modules/domutils\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz\",\n \"integrity\": \"sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"dom-serializer\": \"^1.0.1\",\n \"domelementtype\": \"^2.2.0\",\n \"domhandler\": \"^4.2.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/domutils?sponsor=1\"\n }\n },\n \"node_modules/dot-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz\",\n \"integrity\": \"sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/dotenv\": {\n \"version\": \"10.0.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz\",\n \"integrity\": \"sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/dotenv-expand\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz\",\n \"integrity\": \"sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/duplexer\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz\",\n \"integrity\": \"sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/eastasianwidth\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz\",\n \"integrity\": \"sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ee-first\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n \"integrity\": \"sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ejs\": {\n \"version\": \"3.1.10\",\n \"resolved\": \"https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz\",\n \"integrity\": \"sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"jake\": \"^10.8.5\"\n },\n \"bin\": {\n \"ejs\": \"bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.28\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz\",\n \"integrity\": \"sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/email-addresses\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz\",\n \"integrity\": \"sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==\",\n \"dev\": true\n },\n \"node_modules/emittery\": {\n \"version\": \"0.8.1\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz\",\n \"integrity\": \"sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/emittery?sponsor=1\"\n }\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"9.2.2\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz\",\n \"integrity\": \"sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/emojis-list\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz\",\n \"integrity\": \"sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/encodeurl\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz\",\n \"integrity\": \"sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/enhanced-resolve\": {\n \"version\": \"5.17.1\",\n \"resolved\": \"https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz\",\n \"integrity\": \"sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"graceful-fs\": \"^4.2.4\",\n \"tapable\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/entities\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/entities/-/entities-2.2.0.tgz\",\n \"integrity\": \"sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==\",\n \"license\": \"BSD-2-Clause\",\n \"funding\": {\n \"url\": \"https://github.com/fb55/entities?sponsor=1\"\n }\n },\n \"node_modules/error-ex\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n \"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n \"dependencies\": {\n \"is-arrayish\": \"^0.2.1\"\n }\n },\n \"node_modules/error-stack-parser\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz\",\n \"integrity\": \"sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"stackframe\": \"^1.3.4\"\n }\n },\n \"node_modules/es-abstract\": {\n \"version\": \"1.23.3\",\n \"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz\",\n \"integrity\": \"sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"arraybuffer.prototype.slice\": \"^1.0.3\",\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"data-view-buffer\": \"^1.0.1\",\n \"data-view-byte-length\": \"^1.0.1\",\n \"data-view-byte-offset\": \"^1.0.0\",\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"es-to-primitive\": \"^1.2.1\",\n \"function.prototype.name\": \"^1.1.6\",\n \"get-intrinsic\": \"^1.2.4\",\n \"get-symbol-description\": \"^1.0.2\",\n \"globalthis\": \"^1.0.3\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.2\",\n \"internal-slot\": \"^1.0.7\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-callable\": \"^1.2.7\",\n \"is-data-view\": \"^1.0.1\",\n \"is-negative-zero\": \"^2.0.3\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.3\",\n \"is-string\": \"^1.0.7\",\n \"is-typed-array\": \"^1.1.13\",\n \"is-weakref\": \"^1.0.2\",\n \"object-inspect\": \"^1.13.1\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.5\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"safe-array-concat\": \"^1.1.2\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.trim\": \"^1.2.9\",\n \"string.prototype.trimend\": \"^1.0.8\",\n \"string.prototype.trimstart\": \"^1.0.8\",\n \"typed-array-buffer\": \"^1.0.2\",\n \"typed-array-byte-length\": \"^1.0.1\",\n \"typed-array-byte-offset\": \"^1.0.2\",\n \"typed-array-length\": \"^1.0.6\",\n \"unbox-primitive\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/es-array-method-boxes-properly\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz\",\n \"integrity\": \"sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/es-define-property\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz\",\n \"integrity\": \"sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==\",\n \"dependencies\": {\n \"get-intrinsic\": \"^1.2.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-errors\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz\",\n \"integrity\": \"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-get-iterator\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz\",\n \"integrity\": \"sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.1.3\",\n \"has-symbols\": \"^1.0.3\",\n \"is-arguments\": \"^1.1.1\",\n \"is-map\": \"^2.0.2\",\n \"is-set\": \"^2.0.2\",\n \"is-string\": \"^1.0.7\",\n \"isarray\": \"^2.0.5\",\n \"stop-iteration-iterator\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/es-iterator-helpers\": {\n \"version\": \"1.0.19\",\n \"resolved\": \"https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz\",\n \"integrity\": \"sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"iterator.prototype\": \"^1.1.2\",\n \"safe-array-concat\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz\",\n \"integrity\": \"sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/es-object-atoms\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz\",\n \"integrity\": \"sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-set-tostringtag\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz\",\n \"integrity\": \"sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-intrinsic\": \"^1.2.4\",\n \"has-tostringtag\": \"^1.0.2\",\n \"hasown\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-shim-unscopables\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz\",\n \"integrity\": \"sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"hasown\": \"^2.0.0\"\n }\n },\n \"node_modules/es-to-primitive\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n \"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-callable\": \"^1.1.4\",\n \"is-date-object\": \"^1.0.1\",\n \"is-symbol\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz\",\n \"integrity\": \"sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/escape-html\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n \"integrity\": \"sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/escape-string-regexp\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\",\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/escodegen\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz\",\n \"integrity\": \"sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^5.2.0\",\n \"esutils\": \"^2.0.2\"\n },\n \"bin\": {\n \"escodegen\": \"bin/escodegen.js\",\n \"esgenerate\": \"bin/esgenerate.js\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"optionalDependencies\": {\n \"source-map\": \"~0.6.1\"\n }\n },\n \"node_modules/escodegen/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/eslint\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz\",\n \"integrity\": \"sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@eslint-community/regexpp\": \"^4.6.1\",\n \"@eslint/eslintrc\": \"^2.1.4\",\n \"@eslint/js\": \"8.57.1\",\n \"@humanwhocodes/config-array\": \"^0.13.0\",\n \"@humanwhocodes/module-importer\": \"^1.0.1\",\n \"@nodelib/fs.walk\": \"^1.2.8\",\n \"@ungap/structured-clone\": \"^1.2.0\",\n \"ajv\": \"^6.12.4\",\n \"chalk\": \"^4.0.0\",\n \"cross-spawn\": \"^7.0.2\",\n \"debug\": \"^4.3.2\",\n \"doctrine\": \"^3.0.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"eslint-scope\": \"^7.2.2\",\n \"eslint-visitor-keys\": \"^3.4.3\",\n \"espree\": \"^9.6.1\",\n \"esquery\": \"^1.4.2\",\n \"esutils\": \"^2.0.2\",\n \"fast-deep-equal\": \"^3.1.3\",\n \"file-entry-cache\": \"^6.0.1\",\n \"find-up\": \"^5.0.0\",\n \"glob-parent\": \"^6.0.2\",\n \"globals\": \"^13.19.0\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"imurmurhash\": \"^0.1.4\",\n \"is-glob\": \"^4.0.0\",\n \"is-path-inside\": \"^3.0.3\",\n \"js-yaml\": \"^4.1.0\",\n \"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n \"levn\": \"^0.4.1\",\n \"lodash.merge\": \"^4.6.2\",\n \"minimatch\": \"^3.1.2\",\n \"natural-compare\": \"^1.4.0\",\n \"optionator\": \"^0.9.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"bin\": {\n \"eslint\": \"bin/eslint.js\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint-config-react-app\": {\n \"version\": \"7.0.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz\",\n \"integrity\": \"sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/eslint-parser\": \"^7.16.3\",\n \"@rushstack/eslint-patch\": \"^1.1.0\",\n \"@typescript-eslint/eslint-plugin\": \"^5.5.0\",\n \"@typescript-eslint/parser\": \"^5.5.0\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"confusing-browser-globals\": \"^1.0.11\",\n \"eslint-plugin-flowtype\": \"^8.0.3\",\n \"eslint-plugin-import\": \"^2.25.3\",\n \"eslint-plugin-jest\": \"^25.3.0\",\n \"eslint-plugin-jsx-a11y\": \"^6.5.1\",\n \"eslint-plugin-react\": \"^7.27.1\",\n \"eslint-plugin-react-hooks\": \"^4.3.0\",\n \"eslint-plugin-testing-library\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^8.0.0\"\n }\n },\n \"node_modules/eslint-import-resolver-node\": {\n \"version\": \"0.3.9\",\n \"resolved\": \"https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz\",\n \"integrity\": \"sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^3.2.7\",\n \"is-core-module\": \"^2.13.0\",\n \"resolve\": \"^1.22.4\"\n }\n },\n \"node_modules/eslint-import-resolver-node/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-module-utils\": {\n \"version\": \"2.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz\",\n \"integrity\": \"sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^3.2.7\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependenciesMeta\": {\n \"eslint\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/eslint-module-utils/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-plugin-flowtype\": {\n \"version\": \"8.0.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz\",\n \"integrity\": \"sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"lodash\": \"^4.17.21\",\n \"string-natural-compare\": \"^3.0.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/plugin-syntax-flow\": \"^7.14.5\",\n \"@babel/plugin-transform-react-jsx\": \"^7.14.9\",\n \"eslint\": \"^8.1.0\"\n }\n },\n \"node_modules/eslint-plugin-import\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz\",\n \"integrity\": \"sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rtsao/scc\": \"^1.1.0\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlastindex\": \"^1.2.5\",\n \"array.prototype.flat\": \"^1.3.2\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"debug\": \"^3.2.7\",\n \"doctrine\": \"^2.1.0\",\n \"eslint-import-resolver-node\": \"^0.3.9\",\n \"eslint-module-utils\": \"^2.9.0\",\n \"hasown\": \"^2.0.2\",\n \"is-core-module\": \"^2.15.1\",\n \"is-glob\": \"^4.0.3\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.groupby\": \"^1.0.3\",\n \"object.values\": \"^1.2.0\",\n \"semver\": \"^6.3.1\",\n \"tsconfig-paths\": \"^3.15.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8\"\n }\n },\n \"node_modules/eslint-plugin-import/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-plugin-import/node_modules/doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/eslint-plugin-import/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/eslint-plugin-jest\": {\n \"version\": \"25.7.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz\",\n \"integrity\": \"sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/experimental-utils\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"@typescript-eslint/eslint-plugin\": \"^4.0.0 || ^5.0.0\",\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@typescript-eslint/eslint-plugin\": {\n \"optional\": true\n },\n \"jest\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/eslint-plugin-jsx-a11y\": {\n \"version\": \"6.10.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz\",\n \"integrity\": \"sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"aria-query\": \"~5.1.3\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"ast-types-flow\": \"^0.0.8\",\n \"axe-core\": \"^4.10.0\",\n \"axobject-query\": \"^4.1.0\",\n \"damerau-levenshtein\": \"^1.0.8\",\n \"emoji-regex\": \"^9.2.2\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^3.3.5\",\n \"language-tags\": \"^1.0.9\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.includes\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9\"\n }\n },\n \"node_modules/eslint-plugin-react\": {\n \"version\": \"7.36.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz\",\n \"integrity\": \"sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlast\": \"^1.2.5\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"array.prototype.tosorted\": \"^1.1.4\",\n \"doctrine\": \"^2.1.0\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"estraverse\": \"^5.3.0\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^2.4.1 || ^3.0.0\",\n \"minimatch\": \"^3.1.2\",\n \"object.entries\": \"^1.1.8\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.values\": \"^1.2.0\",\n \"prop-types\": \"^15.8.1\",\n \"resolve\": \"^2.0.0-next.5\",\n \"semver\": \"^6.3.1\",\n \"string.prototype.matchall\": \"^4.0.11\",\n \"string.prototype.repeat\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7\"\n }\n },\n \"node_modules/eslint-plugin-react-hooks\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz\",\n \"integrity\": \"sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0\"\n }\n },\n \"node_modules/eslint-plugin-react/node_modules/doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/eslint-plugin-react/node_modules/resolve\": {\n \"version\": \"2.0.0-next.5\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz\",\n \"integrity\": \"sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n },\n \"bin\": {\n \"resolve\": \"bin/resolve\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/eslint-plugin-react/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/eslint-plugin-testing-library\": {\n \"version\": \"5.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz\",\n \"integrity\": \"sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/utils\": \"^5.58.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\",\n \"npm\": \">=6\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^7.5.0 || ^8.0.0\"\n }\n },\n \"node_modules/eslint-scope\": {\n \"version\": \"7.2.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz\",\n \"integrity\": \"sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^5.2.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint-visitor-keys\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",\n \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint-webpack-plugin\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz\",\n \"integrity\": \"sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/eslint\": \"^7.29.0 || ^8.4.1\",\n \"jest-worker\": \"^28.0.2\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"schema-utils\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^7.0.0 || ^8.0.0\",\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/eslint-webpack-plugin/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/eslint-webpack-plugin/node_modules/jest-worker\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz\",\n \"integrity\": \"sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/eslint-webpack-plugin/node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/eslint/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/eslint/node_modules/argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n \"license\": \"Python-2.0\"\n },\n \"node_modules/eslint/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/eslint/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/eslint/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/eslint/node_modules/escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-fest\": \"^0.20.2\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/eslint/node_modules/js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"argparse\": \"^2.0.1\"\n },\n \"bin\": {\n \"js-yaml\": \"bin/js-yaml.js\"\n }\n },\n \"node_modules/eslint/node_modules/locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-locate\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^0.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-limit\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/eslint/node_modules/type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/espree\": {\n \"version\": \"9.6.1\",\n \"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.6.1.tgz\",\n \"integrity\": \"sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"acorn\": \"^8.9.0\",\n \"acorn-jsx\": \"^5.3.2\",\n \"eslint-visitor-keys\": \"^3.4.1\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/esprima\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n \"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\",\n \"license\": \"BSD-2-Clause\",\n \"bin\": {\n \"esparse\": \"bin/esparse.js\",\n \"esvalidate\": \"bin/esvalidate.js\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/esquery\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz\",\n \"integrity\": \"sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"estraverse\": \"^5.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10\"\n }\n },\n \"node_modules/esrecurse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n \"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"estraverse\": \"^5.2.0\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/estraverse\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz\",\n \"integrity\": \"sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/esutils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n \"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/etag\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n \"integrity\": \"sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/eventemitter3\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz\",\n \"integrity\": \"sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/events\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/events/-/events-3.3.0.tgz\",\n \"integrity\": \"sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.8.x\"\n }\n },\n \"node_modules/execa\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-5.1.1.tgz\",\n \"integrity\": \"sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^6.0.0\",\n \"human-signals\": \"^2.1.0\",\n \"is-stream\": \"^2.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^4.0.1\",\n \"onetime\": \"^5.1.2\",\n \"signal-exit\": \"^3.0.3\",\n \"strip-final-newline\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/execa?sponsor=1\"\n }\n },\n \"node_modules/exit\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/exit/-/exit-0.1.2.tgz\",\n \"integrity\": \"sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==\",\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/expect\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/expect/-/expect-27.5.1.tgz\",\n \"integrity\": \"sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/express\": {\n \"version\": \"4.21.0\",\n \"resolved\": \"https://registry.npmjs.org/express/-/express-4.21.0.tgz\",\n \"integrity\": \"sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"accepts\": \"~1.3.8\",\n \"array-flatten\": \"1.1.1\",\n \"body-parser\": \"1.20.3\",\n \"content-disposition\": \"0.5.4\",\n \"content-type\": \"~1.0.4\",\n \"cookie\": \"0.6.0\",\n \"cookie-signature\": \"1.0.6\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"finalhandler\": \"1.3.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"merge-descriptors\": \"1.0.3\",\n \"methods\": \"~1.1.2\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"path-to-regexp\": \"0.1.10\",\n \"proxy-addr\": \"~2.0.7\",\n \"qs\": \"6.13.0\",\n \"range-parser\": \"~1.2.1\",\n \"safe-buffer\": \"5.2.1\",\n \"send\": \"0.19.0\",\n \"serve-static\": \"1.16.2\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"type-is\": \"~1.6.18\",\n \"utils-merge\": \"1.0.1\",\n \"vary\": \"~1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.10.0\"\n }\n },\n \"node_modules/express/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/express/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-deep-equal\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n \"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-glob\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz\",\n \"integrity\": \"sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"^2.0.2\",\n \"@nodelib/fs.walk\": \"^1.2.3\",\n \"glob-parent\": \"^5.1.2\",\n \"merge2\": \"^1.3.0\",\n \"micromatch\": \"^4.0.4\"\n },\n \"engines\": {\n \"node\": \">=8.6.0\"\n }\n },\n \"node_modules/fast-glob/node_modules/glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/fast-json-stable-stringify\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n \"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-levenshtein\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n \"integrity\": \"sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-uri\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz\",\n \"integrity\": \"sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fastq\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz\",\n \"integrity\": \"sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"reusify\": \"^1.0.4\"\n }\n },\n \"node_modules/faye-websocket\": {\n \"version\": \"0.11.4\",\n \"resolved\": \"https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz\",\n \"integrity\": \"sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"websocket-driver\": \">=0.5.1\"\n },\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/fb-watchman\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz\",\n \"integrity\": \"sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"bser\": \"2.1.1\"\n }\n },\n \"node_modules/fflate\": {\n \"version\": \"0.8.2\",\n \"resolved\": \"https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz\",\n \"integrity\": \"sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==\",\n \"dev\": true\n },\n \"node_modules/file-entry-cache\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n \"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"flat-cache\": \"^3.0.4\"\n },\n \"engines\": {\n \"node\": \"^10.12.0 || >=12.0.0\"\n }\n },\n \"node_modules/file-loader\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz\",\n \"integrity\": \"sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loader-utils\": \"^2.0.0\",\n \"schema-utils\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.0.0 || ^5.0.0\"\n }\n },\n \"node_modules/file-loader/node_modules/schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/file-selector\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz\",\n \"integrity\": \"sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==\",\n \"dependencies\": {\n \"tslib\": \"^2.4.0\"\n },\n \"engines\": {\n \"node\": \">= 12\"\n }\n },\n \"node_modules/filelist\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz\",\n \"integrity\": \"sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"minimatch\": \"^5.0.1\"\n }\n },\n \"node_modules/filelist/node_modules/brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"node_modules/filelist/node_modules/minimatch\": {\n \"version\": \"5.1.6\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz\",\n \"integrity\": \"sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/filename-reserved-regex\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz\",\n \"integrity\": \"sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/filenamify\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz\",\n \"integrity\": \"sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==\",\n \"dev\": true,\n \"dependencies\": {\n \"filename-reserved-regex\": \"^2.0.0\",\n \"strip-outer\": \"^1.0.1\",\n \"trim-repeated\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/filesize\": {\n \"version\": \"8.0.7\",\n \"resolved\": \"https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz\",\n \"integrity\": \"sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">= 0.4.0\"\n }\n },\n \"node_modules/fill-range\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz\",\n \"integrity\": \"sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"to-regex-range\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/finalhandler\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz\",\n \"integrity\": \"sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"2.6.9\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"statuses\": \"2.0.1\",\n \"unpipe\": \"~1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/finalhandler/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/finalhandler/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/find-cache-dir\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz\",\n \"integrity\": \"sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==\",\n \"dependencies\": {\n \"commondir\": \"^1.0.1\",\n \"make-dir\": \"^3.0.2\",\n \"pkg-dir\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/avajs/find-cache-dir?sponsor=1\"\n }\n },\n \"node_modules/find-root\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz\",\n \"integrity\": \"sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==\"\n },\n \"node_modules/find-up\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n \"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n \"dependencies\": {\n \"locate-path\": \"^5.0.0\",\n \"path-exists\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/flat-cache\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz\",\n \"integrity\": \"sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"flatted\": \"^3.2.9\",\n \"keyv\": \"^4.5.3\",\n \"rimraf\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \"^10.12.0 || >=12.0.0\"\n }\n },\n \"node_modules/flatted\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz\",\n \"integrity\": \"sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/follow-redirects\": {\n \"version\": \"1.15.6\",\n \"resolved\": \"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz\",\n \"integrity\": \"sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==\",\n \"funding\": [\n {\n \"type\": \"individual\",\n \"url\": \"https://github.com/sponsors/RubenVerborgh\"\n }\n ],\n \"engines\": {\n \"node\": \">=4.0\"\n },\n \"peerDependenciesMeta\": {\n \"debug\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/for-each\": {\n \"version\": \"0.3.3\",\n \"resolved\": \"https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz\",\n \"integrity\": \"sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==\",\n \"dependencies\": {\n \"is-callable\": \"^1.1.3\"\n }\n },\n \"node_modules/force-graph\": {\n \"version\": \"1.43.5\",\n \"resolved\": \"https://registry.npmjs.org/force-graph/-/force-graph-1.43.5.tgz\",\n \"integrity\": \"sha512-HveLELh9yhZXO/QOfaFS38vlwJZ/3sKu+jarfXzRmbmihSOH/BbRWnUvmg8wLFiYy6h4HlH4lkRfZRccHYmXgA==\",\n \"dependencies\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"bezier-js\": \"3 - 6\",\n \"canvas-color-tracker\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-zoom\": \"2 - 3\",\n \"index-array-by\": \"1\",\n \"kapsule\": \"^1.14\",\n \"lodash-es\": \"4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/foreground-child\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz\",\n \"integrity\": \"sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.0\",\n \"signal-exit\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/foreground-child/node_modules/signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin\": {\n \"version\": \"6.5.3\",\n \"resolved\": \"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz\",\n \"integrity\": \"sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.8.3\",\n \"@types/json-schema\": \"^7.0.5\",\n \"chalk\": \"^4.1.0\",\n \"chokidar\": \"^3.4.2\",\n \"cosmiconfig\": \"^6.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"fs-extra\": \"^9.0.0\",\n \"glob\": \"^7.1.6\",\n \"memfs\": \"^3.1.2\",\n \"minimatch\": \"^3.0.4\",\n \"schema-utils\": \"2.7.0\",\n \"semver\": \"^7.3.2\",\n \"tapable\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\",\n \"yarn\": \">=1.0.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \">= 6\",\n \"typescript\": \">= 2.7\",\n \"vue-template-compiler\": \"*\",\n \"webpack\": \">= 4\"\n },\n \"peerDependenciesMeta\": {\n \"eslint\": {\n \"optional\": true\n },\n \"vue-template-compiler\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz\",\n \"integrity\": \"sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.1.0\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.7.2\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz\",\n \"integrity\": \"sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.4\",\n \"ajv\": \"^6.12.2\",\n \"ajv-keywords\": \"^3.4.1\"\n },\n \"engines\": {\n \"node\": \">= 8.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz\",\n \"integrity\": \"sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/form-data\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz\",\n \"integrity\": \"sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/forwarded\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz\",\n \"integrity\": \"sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/fraction.js\": {\n \"version\": \"4.3.7\",\n \"resolved\": \"https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz\",\n \"integrity\": \"sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n },\n \"funding\": {\n \"type\": \"patreon\",\n \"url\": \"https://github.com/sponsors/rawify\"\n }\n },\n \"node_modules/fresh\": {\n \"version\": \"0.5.2\",\n \"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n \"integrity\": \"sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/fromentries\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz\",\n \"integrity\": \"sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ]\n },\n \"node_modules/fs-extra\": {\n \"version\": \"10.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz\",\n \"integrity\": \"sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/fs-monkey\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz\",\n \"integrity\": \"sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==\",\n \"license\": \"Unlicense\"\n },\n \"node_modules/fs.realpath\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\"\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/function-bind\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz\",\n \"integrity\": \"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/function.prototype.name\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz\",\n \"integrity\": \"sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"functions-have-names\": \"^1.2.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/functions-have-names\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz\",\n \"integrity\": \"sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/fuse.js\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz\",\n \"integrity\": \"sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-intrinsic\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz\",\n \"integrity\": \"sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"has-proto\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/get-own-enumerable-property-symbols\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz\",\n \"integrity\": \"sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==\",\n \"license\": \"ISC\"\n },\n \"node_modules/get-package-type\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz\",\n \"integrity\": \"sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/get-stream\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz\",\n \"integrity\": \"sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/get-symbol-description\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz\",\n \"integrity\": \"sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.5\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/gh-pages\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz\",\n \"integrity\": \"sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==\",\n \"dev\": true,\n \"dependencies\": {\n \"async\": \"^3.2.4\",\n \"commander\": \"^11.0.0\",\n \"email-addresses\": \"^5.0.0\",\n \"filenamify\": \"^4.3.0\",\n \"find-cache-dir\": \"^3.3.1\",\n \"fs-extra\": \"^11.1.1\",\n \"globby\": \"^6.1.0\"\n },\n \"bin\": {\n \"gh-pages\": \"bin/gh-pages.js\",\n \"gh-pages-clean\": \"bin/gh-pages-clean.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/gh-pages/node_modules/commander\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-11.1.0.tgz\",\n \"integrity\": \"sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=16\"\n }\n },\n \"node_modules/gh-pages/node_modules/fs-extra\": {\n \"version\": \"11.2.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz\",\n \"integrity\": \"sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==\",\n \"dev\": true,\n \"dependencies\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=14.14\"\n }\n },\n \"node_modules/gh-pages/node_modules/globby\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-6.1.0.tgz\",\n \"integrity\": \"sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==\",\n \"dev\": true,\n \"dependencies\": {\n \"array-union\": \"^1.0.1\",\n \"glob\": \"^7.0.3\",\n \"object-assign\": \"^4.0.1\",\n \"pify\": \"^2.0.0\",\n \"pinkie-promise\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/glob\": {\n \"version\": \"7.2.3\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",\n \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==\",\n \"deprecated\": \"Glob versions prior to v9 are no longer supported\",\n \"dependencies\": {\n \"fs.realpath\": \"^1.0.0\",\n \"inflight\": \"^1.0.4\",\n \"inherits\": \"2\",\n \"minimatch\": \"^3.1.1\",\n \"once\": \"^1.3.0\",\n \"path-is-absolute\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"*\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/glob-parent\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n \"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/glob-to-regexp\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz\",\n \"integrity\": \"sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/global-modules\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz\",\n \"integrity\": \"sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"global-prefix\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/global-prefix\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz\",\n \"integrity\": \"sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ini\": \"^1.3.5\",\n \"kind-of\": \"^6.0.2\",\n \"which\": \"^1.3.1\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/global-prefix/node_modules/which\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n \"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"which\": \"bin/which\"\n }\n },\n \"node_modules/globals\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n \"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/globalthis\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz\",\n \"integrity\": \"sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.2.1\",\n \"gopd\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/globby\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-11.1.0.tgz\",\n \"integrity\": \"sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-union\": \"^2.1.0\",\n \"dir-glob\": \"^3.0.1\",\n \"fast-glob\": \"^3.2.9\",\n \"ignore\": \"^5.2.0\",\n \"merge2\": \"^1.4.1\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/globby/node_modules/array-union\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz\",\n \"integrity\": \"sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/gopd\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz\",\n \"integrity\": \"sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==\",\n \"dependencies\": {\n \"get-intrinsic\": \"^1.1.3\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/graceful-fs\": {\n \"version\": \"4.2.11\",\n \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",\n \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==\"\n },\n \"node_modules/graphemer\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz\",\n \"integrity\": \"sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/gzip-size\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz\",\n \"integrity\": \"sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"duplexer\": \"^0.1.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/handle-thing\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz\",\n \"integrity\": \"sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/harmony-reflect\": {\n \"version\": \"1.6.2\",\n \"resolved\": \"https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz\",\n \"integrity\": \"sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==\"\n },\n \"node_modules/has-bigints\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz\",\n \"integrity\": \"sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n \"integrity\": \"sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/has-property-descriptors\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz\",\n \"integrity\": \"sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-proto\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz\",\n \"integrity\": \"sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-symbols\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",\n \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-tostringtag\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz\",\n \"integrity\": \"sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==\",\n \"dependencies\": {\n \"has-symbols\": \"^1.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/hasown\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz\",\n \"integrity\": \"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==\",\n \"dependencies\": {\n \"function-bind\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/he\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n \"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"he\": \"bin/he\"\n }\n },\n \"node_modules/highlight-words\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/highlight-words/-/highlight-words-1.2.2.tgz\",\n \"integrity\": \"sha512-Mf4xfPXYm8Ay1wTibCrHpNWeR2nUMynMVFkXCi4mbl+TEgmNOe+I4hV7W3OCZcSvzGL6kupaqpfHOemliMTGxQ==\",\n \"engines\": {\n \"node\": \">= 16\",\n \"npm\": \">= 8\"\n }\n },\n \"node_modules/hoist-non-react-statics\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz\",\n \"integrity\": \"sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==\",\n \"dependencies\": {\n \"react-is\": \"^16.7.0\"\n }\n },\n \"node_modules/hoist-non-react-statics/node_modules/react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n },\n \"node_modules/hoopy\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz\",\n \"integrity\": \"sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6.0.0\"\n }\n },\n \"node_modules/hpack.js\": {\n \"version\": \"2.1.6\",\n \"resolved\": \"https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz\",\n \"integrity\": \"sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"inherits\": \"^2.0.1\",\n \"obuf\": \"^1.0.0\",\n \"readable-stream\": \"^2.0.1\",\n \"wbuf\": \"^1.1.0\"\n }\n },\n \"node_modules/hpack.js/node_modules/isarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n \"integrity\": \"sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/hpack.js/node_modules/readable-stream\": {\n \"version\": \"2.3.8\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz\",\n \"integrity\": \"sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"core-util-is\": \"~1.0.0\",\n \"inherits\": \"~2.0.3\",\n \"isarray\": \"~1.0.0\",\n \"process-nextick-args\": \"~2.0.0\",\n \"safe-buffer\": \"~5.1.1\",\n \"string_decoder\": \"~1.1.1\",\n \"util-deprecate\": \"~1.0.1\"\n }\n },\n \"node_modules/hpack.js/node_modules/safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/hpack.js/node_modules/string_decoder\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n \"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"~5.1.0\"\n }\n },\n \"node_modules/html-encoding-sniffer\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz\",\n \"integrity\": \"sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"whatwg-encoding\": \"^1.0.5\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/html-entities\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz\",\n \"integrity\": \"sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/mdevils\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://patreon.com/mdevils\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/html-escaper\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n \"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"camel-case\": \"^4.1.2\",\n \"clean-css\": \"^5.2.2\",\n \"commander\": \"^8.3.0\",\n \"he\": \"^1.2.0\",\n \"param-case\": \"^3.0.4\",\n \"relateurl\": \"^0.2.7\",\n \"terser\": \"^5.10.0\"\n },\n \"bin\": {\n \"html-minifier-terser\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/html-parse-stringify\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz\",\n \"integrity\": \"sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==\",\n \"dependencies\": {\n \"void-elements\": \"3.1.0\"\n }\n },\n \"node_modules/html-webpack-plugin\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz\",\n \"integrity\": \"sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/html-minifier-terser\": \"^6.0.0\",\n \"html-minifier-terser\": \"^6.0.2\",\n \"lodash\": \"^4.17.21\",\n \"pretty-error\": \"^4.0.0\",\n \"tapable\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/html-webpack-plugin\"\n },\n \"peerDependencies\": {\n \"@rspack/core\": \"0.x || 1.x\",\n \"webpack\": \"^5.20.0\"\n },\n \"peerDependenciesMeta\": {\n \"@rspack/core\": {\n \"optional\": true\n },\n \"webpack\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/htmlparser2\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz\",\n \"integrity\": \"sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==\",\n \"funding\": [\n \"https://github.com/fb55/htmlparser2?sponsor=1\",\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.0.0\",\n \"domutils\": \"^2.5.2\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"node_modules/http-deceiver\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz\",\n \"integrity\": \"sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/http-errors\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz\",\n \"integrity\": \"sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"depd\": \"2.0.0\",\n \"inherits\": \"2.0.4\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"toidentifier\": \"1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/http-parser-js\": {\n \"version\": \"0.5.8\",\n \"resolved\": \"https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz\",\n \"integrity\": \"sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/http-proxy\": {\n \"version\": \"1.18.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz\",\n \"integrity\": \"sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eventemitter3\": \"^4.0.0\",\n \"follow-redirects\": \"^1.0.0\",\n \"requires-port\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/http-proxy-agent\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz\",\n \"integrity\": \"sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tootallnate/once\": \"1\",\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/http-proxy-middleware\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz\",\n \"integrity\": \"sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/http-proxy\": \"^1.17.8\",\n \"http-proxy\": \"^1.18.1\",\n \"is-glob\": \"^4.0.1\",\n \"is-plain-obj\": \"^3.0.0\",\n \"micromatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"@types/express\": \"^4.17.13\"\n },\n \"peerDependenciesMeta\": {\n \"@types/express\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/https-proxy-agent\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz\",\n \"integrity\": \"sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/human-signals\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz\",\n \"integrity\": \"sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=10.17.0\"\n }\n },\n \"node_modules/hyparquet\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/hyparquet/-/hyparquet-1.1.0.tgz\",\n \"integrity\": \"sha512-WrLZblRqQ1qO7oLQfJrED+4HrVm9QRASauY+fhd4Ufeuo0ULjQYH95o9oHmoJ7P+S3CBI2B6Z9lzVuhnaXw8Ew==\"\n },\n \"node_modules/i18next\": {\n \"version\": \"22.5.1\",\n \"resolved\": \"https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz\",\n \"integrity\": \"sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==\",\n \"funding\": [\n {\n \"type\": \"individual\",\n \"url\": \"https://locize.com\"\n },\n {\n \"type\": \"individual\",\n \"url\": \"https://locize.com/i18next.html\"\n },\n {\n \"type\": \"individual\",\n \"url\": \"https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project\"\n }\n ],\n \"dependencies\": {\n \"@babel/runtime\": \"^7.20.6\"\n }\n },\n \"node_modules/iconv-lite\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz\",\n \"integrity\": \"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3.0.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/icss-utils\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz\",\n \"integrity\": \"sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/idb\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/idb/-/idb-7.1.1.tgz\",\n \"integrity\": \"sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/identity-obj-proxy\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz\",\n \"integrity\": \"sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==\",\n \"dependencies\": {\n \"harmony-reflect\": \"^1.4.6\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/ignore\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz\",\n \"integrity\": \"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/immer\": {\n \"version\": \"9.0.21\",\n \"resolved\": \"https://registry.npmjs.org/immer/-/immer-9.0.21.tgz\",\n \"integrity\": \"sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/immer\"\n }\n },\n \"node_modules/import-fresh\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n \"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n \"dependencies\": {\n \"parent-module\": \"^1.0.0\",\n \"resolve-from\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/import-fresh/node_modules/resolve-from\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n \"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/import-local\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz\",\n \"integrity\": \"sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"pkg-dir\": \"^4.2.0\",\n \"resolve-cwd\": \"^3.0.0\"\n },\n \"bin\": {\n \"import-local-fixture\": \"fixtures/cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/imurmurhash\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n \"integrity\": \"sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.8.19\"\n }\n },\n \"node_modules/indent-string\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/index-array-by\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz\",\n \"integrity\": \"sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/inflight\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\",\n \"deprecated\": \"This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.\",\n \"dependencies\": {\n \"once\": \"^1.3.0\",\n \"wrappy\": \"1\"\n }\n },\n \"node_modules/inherits\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\n \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\"\n },\n \"node_modules/ini\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/ini/-/ini-1.3.8.tgz\",\n \"integrity\": \"sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==\",\n \"license\": \"ISC\"\n },\n \"node_modules/internal-slot\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz\",\n \"integrity\": \"sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"hasown\": \"^2.0.0\",\n \"side-channel\": \"^1.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/internmap\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz\",\n \"integrity\": \"sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/ipaddr.js\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz\",\n \"integrity\": \"sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/is-arguments\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz\",\n \"integrity\": \"sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-array-buffer\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz\",\n \"integrity\": \"sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-arrayish\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n \"integrity\": \"sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==\"\n },\n \"node_modules/is-async-function\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz\",\n \"integrity\": \"sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-bigint\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz\",\n \"integrity\": \"sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==\",\n \"dependencies\": {\n \"has-bigints\": \"^1.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-binary-path\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz\",\n \"integrity\": \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"binary-extensions\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-boolean-object\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz\",\n \"integrity\": \"sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-callable\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz\",\n \"integrity\": \"sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-core-module\": {\n \"version\": \"2.15.1\",\n \"resolved\": \"https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz\",\n \"integrity\": \"sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"hasown\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-data-view\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz\",\n \"integrity\": \"sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-date-object\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz\",\n \"integrity\": \"sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-docker\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz\",\n \"integrity\": \"sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"is-docker\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-extglob\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n \"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-finalizationregistry\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz\",\n \"integrity\": \"sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-generator-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/is-generator-function\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz\",\n \"integrity\": \"sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-glob\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n \"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-extglob\": \"^2.1.1\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-map\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz\",\n \"integrity\": \"sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-module\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz\",\n \"integrity\": \"sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/is-negative-zero\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz\",\n \"integrity\": \"sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-number\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.12.0\"\n }\n },\n \"node_modules/is-number-object\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz\",\n \"integrity\": \"sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-obj\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz\",\n \"integrity\": \"sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-path-inside\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-plain-obj\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz\",\n \"integrity\": \"sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-potential-custom-element-name\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz\",\n \"integrity\": \"sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/is-regex\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz\",\n \"integrity\": \"sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-regexp\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz\",\n \"integrity\": \"sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-root\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz\",\n \"integrity\": \"sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/is-set\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz\",\n \"integrity\": \"sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-shared-array-buffer\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz\",\n \"integrity\": \"sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-stream\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",\n \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-string\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz\",\n \"integrity\": \"sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-symbol\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz\",\n \"integrity\": \"sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==\",\n \"dependencies\": {\n \"has-symbols\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-typed-array\": {\n \"version\": \"1.1.13\",\n \"resolved\": \"https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz\",\n \"integrity\": \"sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"which-typed-array\": \"^1.1.14\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-typedarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/is-weakmap\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz\",\n \"integrity\": \"sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-weakref\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz\",\n \"integrity\": \"sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-weakset\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz\",\n \"integrity\": \"sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-wsl\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz\",\n \"integrity\": \"sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-docker\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/isarray\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz\",\n \"integrity\": \"sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==\"\n },\n \"node_modules/isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/istanbul-lib-coverage\": {\n \"version\": \"3.2.2\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz\",\n \"integrity\": \"sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-instrument\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz\",\n \"integrity\": \"sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/parser\": \"^7.14.7\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-coverage\": \"^3.2.0\",\n \"semver\": \"^6.3.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-instrument/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/istanbul-lib-report\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz\",\n \"integrity\": \"sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"make-dir\": \"^4.0.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/istanbul-lib-report/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-report/node_modules/make-dir\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz\",\n \"integrity\": \"sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"semver\": \"^7.5.3\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/istanbul-lib-report/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-source-maps\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz\",\n \"integrity\": \"sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"debug\": \"^4.1.1\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/istanbul-lib-source-maps/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/istanbul-reports\": {\n \"version\": \"3.1.7\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz\",\n \"integrity\": \"sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"html-escaper\": \"^2.0.0\",\n \"istanbul-lib-report\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/iterator.prototype\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz\",\n \"integrity\": \"sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"reflect.getprototypeof\": \"^1.0.4\",\n \"set-function-name\": \"^2.0.1\"\n }\n },\n \"node_modules/jackspeak\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz\",\n \"integrity\": \"sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"@isaacs/cliui\": \"^8.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n },\n \"optionalDependencies\": {\n \"@pkgjs/parseargs\": \"^0.11.0\"\n }\n },\n \"node_modules/jake\": {\n \"version\": \"10.9.2\",\n \"resolved\": \"https://registry.npmjs.org/jake/-/jake-10.9.2.tgz\",\n \"integrity\": \"sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"async\": \"^3.2.3\",\n \"chalk\": \"^4.0.2\",\n \"filelist\": \"^1.0.4\",\n \"minimatch\": \"^3.1.2\"\n },\n \"bin\": {\n \"jake\": \"bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/jake/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jake/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jake/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jake/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jake/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jake/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jerrypick\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jerrypick/-/jerrypick-1.1.1.tgz\",\n \"integrity\": \"sha512-XTtedPYEyVp4t6hJrXuRKr/jHj8SC4z+4K0b396PMkov6muL+i8IIamJIvZWe3jUspgIJak0P+BaWKawMYNBLg==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest/-/jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/core\": \"^27.5.1\",\n \"import-local\": \"^3.0.2\",\n \"jest-cli\": \"^27.5.1\"\n },\n \"bin\": {\n \"jest\": \"bin/jest.js\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-changed-files\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz\",\n \"integrity\": \"sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"execa\": \"^5.0.0\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-circus\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz\",\n \"integrity\": \"sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"dedent\": \"^0.7.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-circus/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-circus/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-circus/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-circus/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-circus/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-circus/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-cli\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz\",\n \"integrity\": \"sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/core\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"import-local\": \"^3.0.2\",\n \"jest-config\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"prompts\": \"^2.0.1\",\n \"yargs\": \"^16.2.0\"\n },\n \"bin\": {\n \"jest\": \"bin/jest.js\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-cli/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-cli/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-cli/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-cli/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-cli/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-cli/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-config\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz\",\n \"integrity\": \"sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.8.0\",\n \"@jest/test-sequencer\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"deepmerge\": \"^4.2.2\",\n \"glob\": \"^7.1.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-circus\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-jasmine2\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"parse-json\": \"^5.2.0\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"ts-node\": \">=9.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"ts-node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-config/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-config/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-config/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-config/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-config/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-config/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-diff\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz\",\n \"integrity\": \"sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==\",\n \"dependencies\": {\n \"chalk\": \"^4.0.0\",\n \"diff-sequences\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-diff/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-diff/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-diff/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-diff/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/jest-diff/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-diff/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-docblock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz\",\n \"integrity\": \"sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"detect-newline\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-each\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz\",\n \"integrity\": \"sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-each/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-each/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-each/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-each/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-each/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-each/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-environment-jsdom\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz\",\n \"integrity\": \"sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jsdom\": \"^16.6.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-environment-node\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz\",\n \"integrity\": \"sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-get-type\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz\",\n \"integrity\": \"sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==\",\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-haste-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz\",\n \"integrity\": \"sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/graceful-fs\": \"^4.1.2\",\n \"@types/node\": \"*\",\n \"anymatch\": \"^3.0.3\",\n \"fb-watchman\": \"^2.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-serializer\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"walker\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"^2.3.2\"\n }\n },\n \"node_modules/jest-jasmine2\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz\",\n \"integrity\": \"sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-jasmine2/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-leak-detector\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz\",\n \"integrity\": \"sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-matcher-utils\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz\",\n \"integrity\": \"sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==\",\n \"dependencies\": {\n \"chalk\": \"^4.0.0\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/jest-matcher-utils/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-message-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz\",\n \"integrity\": \"sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-message-util/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-message-util/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-message-util/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-message-util/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-message-util/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-message-util/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-mock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz\",\n \"integrity\": \"sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-pnp-resolver\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz\",\n \"integrity\": \"sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n },\n \"peerDependencies\": {\n \"jest-resolve\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"jest-resolve\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-regex-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz\",\n \"integrity\": \"sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-resolve\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz\",\n \"integrity\": \"sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-pnp-resolver\": \"^1.2.2\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"resolve\": \"^1.20.0\",\n \"resolve.exports\": \"^1.1.0\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-resolve-dependencies\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz\",\n \"integrity\": \"sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-resolve/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-resolve/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-resolve/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-resolve/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-resolve/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-resolve/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runner\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz\",\n \"integrity\": \"sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-docblock\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-leak-detector\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"source-map-support\": \"^0.5.6\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-runner/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-runner/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-runner/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-runner/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-runner/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runner/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runtime\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz\",\n \"integrity\": \"sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/globals\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"cjs-module-lexer\": \"^1.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"execa\": \"^5.0.0\",\n \"glob\": \"^7.1.3\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-bom\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-runtime/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-runtime/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-runtime/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-runtime/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-runtime/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runtime/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-serializer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz\",\n \"integrity\": \"sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"graceful-fs\": \"^4.2.9\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-snapshot\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz\",\n \"integrity\": \"sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.7.2\",\n \"@babel/generator\": \"^7.7.2\",\n \"@babel/plugin-syntax-typescript\": \"^7.7.2\",\n \"@babel/traverse\": \"^7.7.2\",\n \"@babel/types\": \"^7.0.0\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__traverse\": \"^7.0.4\",\n \"@types/prettier\": \"^2.1.5\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\",\n \"chalk\": \"^4.0.0\",\n \"expect\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"natural-compare\": \"^1.4.0\",\n \"pretty-format\": \"^27.5.1\",\n \"semver\": \"^7.3.2\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-snapshot/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz\",\n \"integrity\": \"sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-util/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-util/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-util/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-util/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-util/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-util/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-validate\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz\",\n \"integrity\": \"sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"camelcase\": \"^6.2.0\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"leven\": \"^3.1.0\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-validate/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-validate/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-validate/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-validate/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-validate/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-validate/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz\",\n \"integrity\": \"sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-escapes\": \"^4.3.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-regex-util\": \"^28.0.0\",\n \"jest-watcher\": \"^28.0.0\",\n \"slash\": \"^4.0.0\",\n \"string-length\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"jest\": \"^27.0.0 || ^28.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/console\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz\",\n \"integrity\": \"sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^28.1.3\",\n \"jest-util\": \"^28.1.3\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/test-result\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz\",\n \"integrity\": \"sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/types\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz\",\n \"integrity\": \"sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^17.0.8\",\n \"chalk\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@types/yargs\": {\n \"version\": \"17.0.33\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz\",\n \"integrity\": \"sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-watch-typeahead/node_modules/emittery\": {\n \"version\": \"0.10.2\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz\",\n \"integrity\": \"sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/emittery?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-message-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz\",\n \"integrity\": \"sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^28.1.3\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-regex-util\": {\n \"version\": \"28.0.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz\",\n \"integrity\": \"sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz\",\n \"integrity\": \"sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-watcher\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz\",\n \"integrity\": \"sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/test-result\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.10.2\",\n \"jest-util\": \"^28.1.3\",\n \"string-length\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/pretty-format\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz\",\n \"integrity\": \"sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-watch-typeahead/node_modules/slash\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-4.0.0.tgz\",\n \"integrity\": \"sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/string-length\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz\",\n \"integrity\": \"sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"char-regex\": \"^2.0.0\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=12.20\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz\",\n \"integrity\": \"sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.20\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/strip-ansi?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-regex?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watcher\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz\",\n \"integrity\": \"sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-util\": \"^27.5.1\",\n \"string-length\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-watcher/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-watcher/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-watcher/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-watcher/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-watcher/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watcher/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-worker\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz\",\n \"integrity\": \"sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n }\n },\n \"node_modules/jest-worker/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-worker/node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/jiti\": {\n \"version\": \"1.21.6\",\n \"resolved\": \"https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz\",\n \"integrity\": \"sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"jiti\": \"bin/jiti.js\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\"\n },\n \"node_modules/js-yaml\": {\n \"version\": \"3.14.1\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz\",\n \"integrity\": \"sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"argparse\": \"^1.0.7\",\n \"esprima\": \"^4.0.0\"\n },\n \"bin\": {\n \"js-yaml\": \"bin/js-yaml.js\"\n }\n },\n \"node_modules/jsdom\": {\n \"version\": \"16.7.0\",\n \"resolved\": \"https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz\",\n \"integrity\": \"sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"abab\": \"^2.0.5\",\n \"acorn\": \"^8.2.4\",\n \"acorn-globals\": \"^6.0.0\",\n \"cssom\": \"^0.4.4\",\n \"cssstyle\": \"^2.3.0\",\n \"data-urls\": \"^2.0.0\",\n \"decimal.js\": \"^10.2.1\",\n \"domexception\": \"^2.0.1\",\n \"escodegen\": \"^2.0.0\",\n \"form-data\": \"^3.0.0\",\n \"html-encoding-sniffer\": \"^2.0.1\",\n \"http-proxy-agent\": \"^4.0.1\",\n \"https-proxy-agent\": \"^5.0.0\",\n \"is-potential-custom-element-name\": \"^1.0.1\",\n \"nwsapi\": \"^2.2.0\",\n \"parse5\": \"6.0.1\",\n \"saxes\": \"^5.0.1\",\n \"symbol-tree\": \"^3.2.4\",\n \"tough-cookie\": \"^4.0.0\",\n \"w3c-hr-time\": \"^1.0.2\",\n \"w3c-xmlserializer\": \"^2.0.0\",\n \"webidl-conversions\": \"^6.1.0\",\n \"whatwg-encoding\": \"^1.0.5\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.5.0\",\n \"ws\": \"^7.4.6\",\n \"xml-name-validator\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"peerDependencies\": {\n \"canvas\": \"^2.5.0\"\n },\n \"peerDependenciesMeta\": {\n \"canvas\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jsesc\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n \"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/json-buffer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\",\n \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/json-parse-even-better-errors\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n \"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\"\n },\n \"node_modules/json-schema\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",\n \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==\",\n \"license\": \"(AFL-2.1 OR BSD-3-Clause)\"\n },\n \"node_modules/json-schema-traverse\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n \"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/json-stable-stringify-without-jsonify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n \"integrity\": \"sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/jsonfile\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",\n \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==\",\n \"dependencies\": {\n \"universalify\": \"^2.0.0\"\n },\n \"optionalDependencies\": {\n \"graceful-fs\": \"^4.1.6\"\n }\n },\n \"node_modules/jsonpath\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz\",\n \"integrity\": \"sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esprima\": \"1.2.2\",\n \"static-eval\": \"2.0.2\",\n \"underscore\": \"1.12.1\"\n }\n },\n \"node_modules/jsonpath/node_modules/esprima\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz\",\n \"integrity\": \"sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==\",\n \"bin\": {\n \"esparse\": \"bin/esparse.js\",\n \"esvalidate\": \"bin/esvalidate.js\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/jsonpointer\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz\",\n \"integrity\": \"sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/jsx-ast-utils\": {\n \"version\": \"3.3.5\",\n \"resolved\": \"https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz\",\n \"integrity\": \"sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-includes\": \"^3.1.6\",\n \"array.prototype.flat\": \"^1.3.1\",\n \"object.assign\": \"^4.1.4\",\n \"object.values\": \"^1.1.6\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/kapsule\": {\n \"version\": \"1.14.5\",\n \"resolved\": \"https://registry.npmjs.org/kapsule/-/kapsule-1.14.5.tgz\",\n \"integrity\": \"sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==\",\n \"dependencies\": {\n \"lodash-es\": \"4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/keyv\": {\n \"version\": \"4.5.4\",\n \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\",\n \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"json-buffer\": \"3.0.1\"\n }\n },\n \"node_modules/kind-of\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz\",\n \"integrity\": \"sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/kleur\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz\",\n \"integrity\": \"sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/klona\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/klona/-/klona-2.0.6.tgz\",\n \"integrity\": \"sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/language-subtag-registry\": {\n \"version\": \"0.3.23\",\n \"resolved\": \"https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz\",\n \"integrity\": \"sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/language-tags\": {\n \"version\": \"1.0.9\",\n \"resolved\": \"https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz\",\n \"integrity\": \"sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"language-subtag-registry\": \"^0.3.20\"\n },\n \"engines\": {\n \"node\": \">=0.10\"\n }\n },\n \"node_modules/launch-editor\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz\",\n \"integrity\": \"sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"picocolors\": \"^1.0.0\",\n \"shell-quote\": \"^1.8.1\"\n }\n },\n \"node_modules/leven\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/leven/-/leven-3.1.0.tgz\",\n \"integrity\": \"sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/levn\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n \"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"~0.4.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/lilconfig\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz\",\n \"integrity\": \"sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/lines-and-columns\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n \"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\"\n },\n \"node_modules/loader-runner\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz\",\n \"integrity\": \"sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.11.5\"\n }\n },\n \"node_modules/loader-utils\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz\",\n \"integrity\": \"sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"big.js\": \"^5.2.2\",\n \"emojis-list\": \"^3.0.0\",\n \"json5\": \"^2.1.2\"\n },\n \"engines\": {\n \"node\": \">=8.9.0\"\n }\n },\n \"node_modules/locate-path\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n \"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n \"dependencies\": {\n \"p-locate\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n },\n \"node_modules/lodash-es\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz\",\n \"integrity\": \"sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==\"\n },\n \"node_modules/lodash.debounce\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz\",\n \"integrity\": \"sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.memoize\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n \"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.merge\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n \"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.sortby\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz\",\n \"integrity\": \"sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.uniq\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz\",\n \"integrity\": \"sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/lower-case\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz\",\n \"integrity\": \"sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/lz-string\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz\",\n \"integrity\": \"sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==\",\n \"bin\": {\n \"lz-string\": \"bin/bin.js\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.25.9\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz\",\n \"integrity\": \"sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"sourcemap-codec\": \"^1.4.8\"\n }\n },\n \"node_modules/make-dir\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz\",\n \"integrity\": \"sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==\",\n \"dependencies\": {\n \"semver\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/make-dir/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/makeerror\": {\n \"version\": \"1.0.12\",\n \"resolved\": \"https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz\",\n \"integrity\": \"sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"tmpl\": \"1.0.5\"\n }\n },\n \"node_modules/material-react-table\": {\n \"version\": \"2.13.1\",\n \"resolved\": \"https://registry.npmjs.org/material-react-table/-/material-react-table-2.13.1.tgz\",\n \"integrity\": \"sha512-3iWwCa24ogxwllP4+W11euR/GV6f5wQE5FEilJ72/H3hDYHgsN+XehANytaG0G7/qy/OWYE7oXkcsRUU35I/iA==\",\n \"dependencies\": {\n \"@tanstack/match-sorter-utils\": \"8.15.1\",\n \"@tanstack/react-table\": \"8.19.3\",\n \"@tanstack/react-virtual\": \"3.8.3\",\n \"highlight-words\": \"1.2.2\"\n },\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/kevinvandy\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \">=11.11\",\n \"@emotion/styled\": \">=11.11\",\n \"@mui/icons-material\": \">=5.11\",\n \"@mui/material\": \">=5.13\",\n \"@mui/x-date-pickers\": \">=6.15.0\",\n \"react\": \">=17.0\",\n \"react-dom\": \">=17.0\"\n }\n },\n \"node_modules/mdn-data\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz\",\n \"integrity\": \"sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/media-typer\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n \"integrity\": \"sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/memfs\": {\n \"version\": \"3.5.3\",\n \"resolved\": \"https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz\",\n \"integrity\": \"sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==\",\n \"license\": \"Unlicense\",\n \"dependencies\": {\n \"fs-monkey\": \"^1.0.4\"\n },\n \"engines\": {\n \"node\": \">= 4.0.0\"\n }\n },\n \"node_modules/merge-descriptors\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz\",\n \"integrity\": \"sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/merge2\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz\",\n \"integrity\": \"sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/meshoptimizer\": {\n \"version\": \"0.18.1\",\n \"resolved\": \"https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz\",\n \"integrity\": \"sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==\",\n \"dev\": true\n },\n \"node_modules/methods\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n \"integrity\": \"sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/micromatch\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz\",\n \"integrity\": \"sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"braces\": \"^3.0.3\",\n \"picomatch\": \"^2.3.1\"\n },\n \"engines\": {\n \"node\": \">=8.6\"\n }\n },\n \"node_modules/mime\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n \"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"mime\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/mime-db\": {\n \"version\": \"1.52.0\",\n \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",\n \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/mime-types\": {\n \"version\": \"2.1.35\",\n \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",\n \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==\",\n \"dependencies\": {\n \"mime-db\": \"1.52.0\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/mimic-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/min-indent\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n \"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/mini-css-extract-plugin\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz\",\n \"integrity\": \"sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"schema-utils\": \"^4.0.0\",\n \"tapable\": \"^2.2.1\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/minimalistic-assert\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz\",\n \"integrity\": \"sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==\",\n \"license\": \"ISC\"\n },\n \"node_modules/minimatch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n \"dependencies\": {\n \"brace-expansion\": \"^1.1.7\"\n },\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/minimist\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",\n \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/minipass\": {\n \"version\": \"7.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz\",\n \"integrity\": \"sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n }\n },\n \"node_modules/mkdirp\": {\n \"version\": \"0.5.6\",\n \"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz\",\n \"integrity\": \"sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimist\": \"^1.2.6\"\n },\n \"bin\": {\n \"mkdirp\": \"bin/cmd.js\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\"\n },\n \"node_modules/multicast-dns\": {\n \"version\": \"7.2.5\",\n \"resolved\": \"https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz\",\n \"integrity\": \"sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dns-packet\": \"^5.2.2\",\n \"thunky\": \"^1.0.2\"\n },\n \"bin\": {\n \"multicast-dns\": \"cli.js\"\n }\n },\n \"node_modules/mz\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/mz/-/mz-2.7.0.tgz\",\n \"integrity\": \"sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"any-promise\": \"^1.0.0\",\n \"object-assign\": \"^4.0.1\",\n \"thenify-all\": \"^1.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.7\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz\",\n \"integrity\": \"sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/natural-compare\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n \"integrity\": \"sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/natural-compare-lite\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz\",\n \"integrity\": \"sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/negotiator\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz\",\n \"integrity\": \"sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/neo-async\": {\n \"version\": \"2.6.2\",\n \"resolved\": \"https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz\",\n \"integrity\": \"sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ngraph.events\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz\",\n \"integrity\": \"sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==\"\n },\n \"node_modules/ngraph.forcelayout\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz\",\n \"integrity\": \"sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==\",\n \"dependencies\": {\n \"ngraph.events\": \"^1.0.0\",\n \"ngraph.merge\": \"^1.0.0\",\n \"ngraph.random\": \"^1.0.0\"\n }\n },\n \"node_modules/ngraph.graph\": {\n \"version\": \"20.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz\",\n \"integrity\": \"sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==\",\n \"dependencies\": {\n \"ngraph.events\": \"^1.2.1\"\n }\n },\n \"node_modules/ngraph.merge\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.merge/-/ngraph.merge-1.0.0.tgz\",\n \"integrity\": \"sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg==\"\n },\n \"node_modules/ngraph.random\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.random/-/ngraph.random-1.1.0.tgz\",\n \"integrity\": \"sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw==\"\n },\n \"node_modules/no-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz\",\n \"integrity\": \"sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lower-case\": \"^2.0.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/node-forge\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz\",\n \"integrity\": \"sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==\",\n \"license\": \"(BSD-3-Clause OR GPL-2.0)\",\n \"engines\": {\n \"node\": \">= 6.13.0\"\n }\n },\n \"node_modules/node-int64\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz\",\n \"integrity\": \"sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz\",\n \"integrity\": \"sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==\"\n },\n \"node_modules/normalize-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz\",\n \"integrity\": \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/normalize-range\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz\",\n \"integrity\": \"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/normalize-url\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz\",\n \"integrity\": \"sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/npm-run-path\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",\n \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/nth-check\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n \"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/nth-check?sponsor=1\"\n }\n },\n \"node_modules/nwsapi\": {\n \"version\": \"2.2.12\",\n \"resolved\": \"https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz\",\n \"integrity\": \"sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/object-assign\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz\",\n \"integrity\": \"sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/object-hash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz\",\n \"integrity\": \"sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/object-inspect\": {\n \"version\": \"1.13.2\",\n \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz\",\n \"integrity\": \"sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object-is\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz\",\n \"integrity\": \"sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object-keys\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n \"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.assign\": {\n \"version\": \"4.1.5\",\n \"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz\",\n \"integrity\": \"sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"object-keys\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.entries\": {\n \"version\": \"1.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz\",\n \"integrity\": \"sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.fromentries\": {\n \"version\": \"2.0.8\",\n \"resolved\": \"https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz\",\n \"integrity\": \"sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.getownpropertydescriptors\": {\n \"version\": \"2.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz\",\n \"integrity\": \"sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array.prototype.reduce\": \"^1.0.6\",\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"gopd\": \"^1.0.1\",\n \"safe-array-concat\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.groupby\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz\",\n \"integrity\": \"sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.values\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz\",\n \"integrity\": \"sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/obuf\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz\",\n \"integrity\": \"sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/on-finished\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz\",\n \"integrity\": \"sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ee-first\": \"1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/on-headers\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n \"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/once\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\",\n \"dependencies\": {\n \"wrappy\": \"1\"\n }\n },\n \"node_modules/onetime\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",\n \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mimic-fn\": \"^2.1.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/open\": {\n \"version\": \"8.4.2\",\n \"resolved\": \"https://registry.npmjs.org/open/-/open-8.4.2.tgz\",\n \"integrity\": \"sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-lazy-prop\": \"^2.0.0\",\n \"is-docker\": \"^2.1.1\",\n \"is-wsl\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/optionator\": {\n \"version\": \"0.9.4\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz\",\n \"integrity\": \"sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"deep-is\": \"^0.1.3\",\n \"fast-levenshtein\": \"^2.0.6\",\n \"levn\": \"^0.4.1\",\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"^0.4.0\",\n \"word-wrap\": \"^1.2.5\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/p-limit\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n \"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n \"dependencies\": {\n \"p-try\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-locate\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n \"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n \"dependencies\": {\n \"p-limit\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz\",\n \"integrity\": \"sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/p-try\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n \"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/package-json-from-dist\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz\",\n \"integrity\": \"sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==\",\n \"license\": \"BlueOak-1.0.0\"\n },\n \"node_modules/param-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz\",\n \"integrity\": \"sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dot-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/parent-module\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n \"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n \"dependencies\": {\n \"callsites\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/parse-json\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n \"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.0.0\",\n \"error-ex\": \"^1.3.1\",\n \"json-parse-even-better-errors\": \"^2.3.0\",\n \"lines-and-columns\": \"^1.1.6\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/parse5\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz\",\n \"integrity\": \"sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/parseurl\": {\n \"version\": \"1.3.3\",\n \"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n \"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/pascal-case\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz\",\n \"integrity\": \"sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/path-exists\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n \"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/path-is-absolute\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/path-parse\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz\",\n \"integrity\": \"sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\"\n },\n \"node_modules/path-scurry\": {\n \"version\": \"1.11.1\",\n \"resolved\": \"https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz\",\n \"integrity\": \"sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"lru-cache\": \"^10.2.0\",\n \"minipass\": \"^5.0.0 || ^6.0.2 || ^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/path-scurry/node_modules/lru-cache\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz\",\n \"integrity\": \"sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/path-to-regexp\": {\n \"version\": \"0.1.10\",\n \"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz\",\n \"integrity\": \"sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/path-type\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz\",\n \"integrity\": \"sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/performance-now\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz\",\n \"integrity\": \"sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/pify\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",\n \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/pinkie\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz\",\n \"integrity\": \"sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/pinkie-promise\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz\",\n \"integrity\": \"sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==\",\n \"dev\": true,\n \"dependencies\": {\n \"pinkie\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/pirates\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz\",\n \"integrity\": \"sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/pkg-dir\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz\",\n \"integrity\": \"sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==\",\n \"dependencies\": {\n \"find-up\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pkg-up\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz\",\n \"integrity\": \"sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"find-up\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pkg-up/node_modules/find-up\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n \"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"locate-path\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/pkg-up/node_modules/locate-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n \"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-locate\": \"^3.0.0\",\n \"path-exists\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/pkg-up/node_modules/p-locate\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n \"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-limit\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/pkg-up/node_modules/path-exists\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n \"integrity\": \"sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/polished\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/polished/-/polished-4.3.1.tgz\",\n \"integrity\": \"sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.17.8\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/possible-typed-array-names\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz\",\n \"integrity\": \"sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.4.47\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz\",\n \"integrity\": \"sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.7\",\n \"picocolors\": \"^1.1.0\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/postcss-attribute-case-insensitive\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz\",\n \"integrity\": \"sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-browser-comments\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz\",\n \"integrity\": \"sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">=4\",\n \"postcss\": \">=8\"\n }\n },\n \"node_modules/postcss-calc\": {\n \"version\": \"8.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz\",\n \"integrity\": \"sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.2\"\n }\n },\n \"node_modules/postcss-clamp\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz\",\n \"integrity\": \"sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \">=7.6.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4.6\"\n }\n },\n \"node_modules/postcss-color-functional-notation\": {\n \"version\": \"4.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz\",\n \"integrity\": \"sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-color-hex-alpha\": {\n \"version\": \"8.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz\",\n \"integrity\": \"sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-color-rebeccapurple\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz\",\n \"integrity\": \"sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-colormin\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz\",\n \"integrity\": \"sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"colord\": \"^2.9.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-convert-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz\",\n \"integrity\": \"sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-custom-media\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz\",\n \"integrity\": \"sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.3\"\n }\n },\n \"node_modules/postcss-custom-properties\": {\n \"version\": \"12.1.11\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz\",\n \"integrity\": \"sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-custom-selectors\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz\",\n \"integrity\": \"sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.3\"\n }\n },\n \"node_modules/postcss-dir-pseudo-class\": {\n \"version\": \"6.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz\",\n \"integrity\": \"sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-discard-comments\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz\",\n \"integrity\": \"sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-discard-duplicates\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz\",\n \"integrity\": \"sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-discard-empty\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz\",\n \"integrity\": \"sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-discard-overridden\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz\",\n \"integrity\": \"sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-double-position-gradients\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz\",\n \"integrity\": \"sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-env-function\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz\",\n \"integrity\": \"sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-flexbugs-fixes\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz\",\n \"integrity\": \"sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.1.4\"\n }\n },\n \"node_modules/postcss-focus-visible\": {\n \"version\": \"6.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz\",\n \"integrity\": \"sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-focus-within\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz\",\n \"integrity\": \"sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-font-variant\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz\",\n \"integrity\": \"sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-gap-properties\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz\",\n \"integrity\": \"sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-image-set-function\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz\",\n \"integrity\": \"sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-import\": {\n \"version\": \"15.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz\",\n \"integrity\": \"sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.0.0\",\n \"read-cache\": \"^1.0.0\",\n \"resolve\": \"^1.1.7\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.0.0\"\n }\n },\n \"node_modules/postcss-initial\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz\",\n \"integrity\": \"sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.0.0\"\n }\n },\n \"node_modules/postcss-js\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz\",\n \"integrity\": \"sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"camelcase-css\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >= 16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4.21\"\n }\n },\n \"node_modules/postcss-lab-function\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz\",\n \"integrity\": \"sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-load-config\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz\",\n \"integrity\": \"sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lilconfig\": \"^3.0.0\",\n \"yaml\": \"^2.3.4\"\n },\n \"engines\": {\n \"node\": \">= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \">=8.0.9\",\n \"ts-node\": \">=9.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"postcss\": {\n \"optional\": true\n },\n \"ts-node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/postcss-load-config/node_modules/lilconfig\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz\",\n \"integrity\": \"sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antonk52\"\n }\n },\n \"node_modules/postcss-load-config/node_modules/yaml\": {\n \"version\": \"2.5.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz\",\n \"integrity\": \"sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14\"\n }\n },\n \"node_modules/postcss-loader\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz\",\n \"integrity\": \"sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"klona\": \"^2.0.5\",\n \"semver\": \"^7.3.5\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^7.0.0 || ^8.0.1\",\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/postcss-logical\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz\",\n \"integrity\": \"sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-media-minmax\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz\",\n \"integrity\": \"sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-merge-longhand\": {\n \"version\": \"5.1.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz\",\n \"integrity\": \"sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"stylehacks\": \"^5.1.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-merge-rules\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz\",\n \"integrity\": \"sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-selector-parser\": \"^6.0.5\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-font-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz\",\n \"integrity\": \"sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-gradients\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz\",\n \"integrity\": \"sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"colord\": \"^2.9.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-params\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz\",\n \"integrity\": \"sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-selectors\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz\",\n \"integrity\": \"sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-modules-extract-imports\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz\",\n \"integrity\": \"sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-modules-local-by-default\": {\n \"version\": \"4.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz\",\n \"integrity\": \"sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"icss-utils\": \"^5.0.0\",\n \"postcss-selector-parser\": \"^6.0.2\",\n \"postcss-value-parser\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-modules-scope\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz\",\n \"integrity\": \"sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-modules-values\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz\",\n \"integrity\": \"sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"icss-utils\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-nested\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz\",\n \"integrity\": \"sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.1.1\"\n },\n \"engines\": {\n \"node\": \">=12.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.14\"\n }\n },\n \"node_modules/postcss-nesting\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz\",\n \"integrity\": \"sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-normalize\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz\",\n \"integrity\": \"sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/normalize.css\": \"*\",\n \"postcss-browser-comments\": \"^4\",\n \"sanitize.css\": \"*\"\n },\n \"engines\": {\n \"node\": \">= 12\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4\",\n \"postcss\": \">= 8\"\n }\n },\n \"node_modules/postcss-normalize-charset\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz\",\n \"integrity\": \"sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-display-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz\",\n \"integrity\": \"sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-positions\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz\",\n \"integrity\": \"sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-repeat-style\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz\",\n \"integrity\": \"sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-string\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz\",\n \"integrity\": \"sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-timing-functions\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz\",\n \"integrity\": \"sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-unicode\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz\",\n \"integrity\": \"sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-url\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz\",\n \"integrity\": \"sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"normalize-url\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-whitespace\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz\",\n \"integrity\": \"sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-opacity-percentage\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz\",\n \"integrity\": \"sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==\",\n \"funding\": [\n {\n \"type\": \"kofi\",\n \"url\": \"https://ko-fi.com/mrcgrtz\"\n },\n {\n \"type\": \"liberapay\",\n \"url\": \"https://liberapay.com/mrcgrtz\"\n }\n ],\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-ordered-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz\",\n \"integrity\": \"sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-overflow-shorthand\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz\",\n \"integrity\": \"sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-page-break\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz\",\n \"integrity\": \"sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8\"\n }\n },\n \"node_modules/postcss-place\": {\n \"version\": \"7.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz\",\n \"integrity\": \"sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-preset-env\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz\",\n \"integrity\": \"sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-cascade-layers\": \"^1.1.1\",\n \"@csstools/postcss-color-function\": \"^1.1.1\",\n \"@csstools/postcss-font-format-keywords\": \"^1.0.1\",\n \"@csstools/postcss-hwb-function\": \"^1.0.2\",\n \"@csstools/postcss-ic-unit\": \"^1.0.1\",\n \"@csstools/postcss-is-pseudo-class\": \"^2.0.7\",\n \"@csstools/postcss-nested-calc\": \"^1.0.0\",\n \"@csstools/postcss-normalize-display-values\": \"^1.0.1\",\n \"@csstools/postcss-oklab-function\": \"^1.1.1\",\n \"@csstools/postcss-progressive-custom-properties\": \"^1.3.0\",\n \"@csstools/postcss-stepped-value-functions\": \"^1.0.1\",\n \"@csstools/postcss-text-decoration-shorthand\": \"^1.0.0\",\n \"@csstools/postcss-trigonometric-functions\": \"^1.0.2\",\n \"@csstools/postcss-unset-value\": \"^1.0.2\",\n \"autoprefixer\": \"^10.4.13\",\n \"browserslist\": \"^4.21.4\",\n \"css-blank-pseudo\": \"^3.0.3\",\n \"css-has-pseudo\": \"^3.0.4\",\n \"css-prefers-color-scheme\": \"^6.0.3\",\n \"cssdb\": \"^7.1.0\",\n \"postcss-attribute-case-insensitive\": \"^5.0.2\",\n \"postcss-clamp\": \"^4.1.0\",\n \"postcss-color-functional-notation\": \"^4.2.4\",\n \"postcss-color-hex-alpha\": \"^8.0.4\",\n \"postcss-color-rebeccapurple\": \"^7.1.1\",\n \"postcss-custom-media\": \"^8.0.2\",\n \"postcss-custom-properties\": \"^12.1.10\",\n \"postcss-custom-selectors\": \"^6.0.3\",\n \"postcss-dir-pseudo-class\": \"^6.0.5\",\n \"postcss-double-position-gradients\": \"^3.1.2\",\n \"postcss-env-function\": \"^4.0.6\",\n \"postcss-focus-visible\": \"^6.0.4\",\n \"postcss-focus-within\": \"^5.0.4\",\n \"postcss-font-variant\": \"^5.0.0\",\n \"postcss-gap-properties\": \"^3.0.5\",\n \"postcss-image-set-function\": \"^4.0.7\",\n \"postcss-initial\": \"^4.0.1\",\n \"postcss-lab-function\": \"^4.2.1\",\n \"postcss-logical\": \"^5.0.4\",\n \"postcss-media-minmax\": \"^5.0.0\",\n \"postcss-nesting\": \"^10.2.0\",\n \"postcss-opacity-percentage\": \"^1.1.2\",\n \"postcss-overflow-shorthand\": \"^3.0.4\",\n \"postcss-page-break\": \"^3.0.4\",\n \"postcss-place\": \"^7.0.5\",\n \"postcss-pseudo-class-any-link\": \"^7.1.6\",\n \"postcss-replace-overflow-wrap\": \"^4.0.0\",\n \"postcss-selector-not\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-pseudo-class-any-link\": {\n \"version\": \"7.1.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz\",\n \"integrity\": \"sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-reduce-initial\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz\",\n \"integrity\": \"sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-reduce-transforms\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz\",\n \"integrity\": \"sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-replace-overflow-wrap\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz\",\n \"integrity\": \"sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.0.3\"\n }\n },\n \"node_modules/postcss-selector-not\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz\",\n \"integrity\": \"sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-selector-parser\": {\n \"version\": \"6.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz\",\n \"integrity\": \"sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssesc\": \"^3.0.0\",\n \"util-deprecate\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/postcss-svgo\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz\",\n \"integrity\": \"sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"svgo\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/commander\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-7.2.0.tgz\",\n \"integrity\": \"sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/postcss-svgo/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/svgo\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz\",\n \"integrity\": \"sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@trysound/sax\": \"0.2.0\",\n \"commander\": \"^7.2.0\",\n \"css-select\": \"^4.1.3\",\n \"css-tree\": \"^1.1.3\",\n \"csso\": \"^4.2.0\",\n \"picocolors\": \"^1.0.0\",\n \"stable\": \"^0.1.8\"\n },\n \"bin\": {\n \"svgo\": \"bin/svgo\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/postcss-unique-selectors\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz\",\n \"integrity\": \"sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-value-parser\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz\",\n \"integrity\": \"sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/prelude-ls\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n \"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/pretty-bytes\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",\n \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pretty-error\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz\",\n \"integrity\": \"sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lodash\": \"^4.17.20\",\n \"renderkid\": \"^3.0.0\"\n }\n },\n \"node_modules/pretty-format\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz\",\n \"integrity\": \"sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^17.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/process-nextick-args\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n \"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/promise\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/promise/-/promise-8.3.0.tgz\",\n \"integrity\": \"sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"asap\": \"~2.0.6\"\n }\n },\n \"node_modules/prompts\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz\",\n \"integrity\": \"sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"kleur\": \"^3.0.3\",\n \"sisteransi\": \"^1.0.5\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/prop-types\": {\n \"version\": \"15.8.1\",\n \"resolved\": \"https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz\",\n \"integrity\": \"sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.4.0\",\n \"object-assign\": \"^4.1.1\",\n \"react-is\": \"^16.13.1\"\n }\n },\n \"node_modules/prop-types/node_modules/react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n },\n \"node_modules/proxy-addr\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz\",\n \"integrity\": \"sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"forwarded\": \"0.2.0\",\n \"ipaddr.js\": \"1.9.1\"\n },\n \"engines\": {\n \"node\": \">= 0.10\"\n }\n },\n \"node_modules/proxy-addr/node_modules/ipaddr.js\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n \"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.10\"\n }\n },\n \"node_modules/proxy-from-env\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz\",\n \"integrity\": \"sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==\"\n },\n \"node_modules/psl\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",\n \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/punycode\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz\",\n \"integrity\": \"sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/q\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/q/-/q-1.5.1.tgz\",\n \"integrity\": \"sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==\",\n \"deprecated\": \"You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\\n\\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.6.0\",\n \"teleport\": \">=0.2.0\"\n }\n },\n \"node_modules/qs\": {\n \"version\": \"6.13.0\",\n \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.13.0.tgz\",\n \"integrity\": \"sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"side-channel\": \"^1.0.6\"\n },\n \"engines\": {\n \"node\": \">=0.6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/querystringify\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",\n \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/queue-microtask\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n \"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/raf\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/raf/-/raf-3.4.1.tgz\",\n \"integrity\": \"sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"performance-now\": \"^2.1.0\"\n }\n },\n \"node_modules/randombytes\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz\",\n \"integrity\": \"sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"^5.1.0\"\n }\n },\n \"node_modules/range-parser\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n \"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/raw-body\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz\",\n \"integrity\": \"sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"bytes\": \"3.1.2\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"unpipe\": \"1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/raw-body/node_modules/bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/raw-body/node_modules/iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-app-polyfill\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz\",\n \"integrity\": \"sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"core-js\": \"^3.19.2\",\n \"object-assign\": \"^4.1.1\",\n \"promise\": \"^8.1.0\",\n \"raf\": \"^3.4.1\",\n \"regenerator-runtime\": \"^0.13.9\",\n \"whatwg-fetch\": \"^3.6.2\"\n },\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/react-app-polyfill/node_modules/regenerator-runtime\": {\n \"version\": \"0.13.11\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz\",\n \"integrity\": \"sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/react-app-rewired\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz\",\n \"integrity\": \"sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==\",\n \"dependencies\": {\n \"semver\": \"^5.6.0\"\n },\n \"bin\": {\n \"react-app-rewired\": \"bin/index.js\"\n },\n \"peerDependencies\": {\n \"react-scripts\": \">=2.1.3\"\n }\n },\n \"node_modules/react-app-rewired/node_modules/semver\": {\n \"version\": \"5.7.2\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.2.tgz\",\n \"integrity\": \"sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==\",\n \"bin\": {\n \"semver\": \"bin/semver\"\n }\n },\n \"node_modules/react-dev-utils\": {\n \"version\": \"12.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz\",\n \"integrity\": \"sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.16.0\",\n \"address\": \"^1.1.2\",\n \"browserslist\": \"^4.18.1\",\n \"chalk\": \"^4.1.2\",\n \"cross-spawn\": \"^7.0.3\",\n \"detect-port-alt\": \"^1.1.6\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"filesize\": \"^8.0.6\",\n \"find-up\": \"^5.0.0\",\n \"fork-ts-checker-webpack-plugin\": \"^6.5.0\",\n \"global-modules\": \"^2.0.0\",\n \"globby\": \"^11.0.4\",\n \"gzip-size\": \"^6.0.0\",\n \"immer\": \"^9.0.7\",\n \"is-root\": \"^2.1.0\",\n \"loader-utils\": \"^3.2.0\",\n \"open\": \"^8.4.0\",\n \"pkg-up\": \"^3.1.0\",\n \"prompts\": \"^2.4.2\",\n \"react-error-overlay\": \"^6.0.11\",\n \"recursive-readdir\": \"^2.2.2\",\n \"shell-quote\": \"^1.7.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/react-dev-utils/node_modules/escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/loader-utils\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz\",\n \"integrity\": \"sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 12.13.0\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-locate\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^0.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-limit\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-dropzone\": {\n \"version\": \"14.2.3\",\n \"resolved\": \"https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz\",\n \"integrity\": \"sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==\",\n \"dependencies\": {\n \"attr-accept\": \"^2.2.2\",\n \"file-selector\": \"^0.6.0\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">= 10.13\"\n },\n \"peerDependencies\": {\n \"react\": \">= 16.8 || 18.0.0\"\n }\n },\n \"node_modules/react-error-overlay\": {\n \"version\": \"6.0.11\",\n \"resolved\": \"https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz\",\n \"integrity\": \"sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/react-force-graph-2d\": {\n \"version\": \"1.25.5\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-2d/-/react-force-graph-2d-1.25.5.tgz\",\n \"integrity\": \"sha512-3u8WjZZorpwZSDs3n3QeOS9ZoxFPM+IR9SStYJVQ/qKECydMHarxnf7ynV/MKJbC6kUsc60soD0V+Uq/r2vz7Q==\",\n \"dependencies\": {\n \"force-graph\": \"1\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \"*\"\n }\n },\n \"node_modules/react-force-graph-3d\": {\n \"version\": \"1.24.3\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-3d/-/react-force-graph-3d-1.24.3.tgz\",\n \"integrity\": \"sha512-GGQijzwz0Ig9avTMmosVOr5h3XaSabiTNdXwpoEwVZBkdVd0gc6FvWK3WPv8MoY8pclD9Rre4Gfbh0zBFVVBsA==\",\n \"dependencies\": {\n \"3d-force-graph\": \"^1.73\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \"*\"\n }\n },\n \"node_modules/react-ga4\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz\",\n \"integrity\": \"sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==\"\n },\n \"node_modules/react-i18next\": {\n \"version\": \"12.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz\",\n \"integrity\": \"sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.20.6\",\n \"html-parse-stringify\": \"^3.0.1\"\n },\n \"peerDependencies\": {\n \"i18next\": \">= 19.0.0\",\n \"react\": \">= 16.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"react-dom\": {\n \"optional\": true\n },\n \"react-native\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/react-is\": {\n \"version\": \"17.0.2\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz\",\n \"integrity\": \"sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==\"\n },\n \"node_modules/react-kapsule\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/react-kapsule/-/react-kapsule-2.4.0.tgz\",\n \"integrity\": \"sha512-w4Yv9CgWdj8kWGQEPNWFGJJ08dYEZHZpiaFR/DgZjCMBNqv9wus2Gy1qvHVJmJbzvAZbq6jdvFC+NYzEqAlNhQ==\",\n \"dependencies\": {\n \"fromentries\": \"^1.3.2\",\n \"jerrypick\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.13.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz\",\n \"integrity\": \"sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-scripts\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz\",\n \"integrity\": \"sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.16.0\",\n \"@pmmmwh/react-refresh-webpack-plugin\": \"^0.5.3\",\n \"@svgr/webpack\": \"^5.5.0\",\n \"babel-jest\": \"^27.4.2\",\n \"babel-loader\": \"^8.2.3\",\n \"babel-plugin-named-asset-import\": \"^0.3.8\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"bfj\": \"^7.0.2\",\n \"browserslist\": \"^4.18.1\",\n \"camelcase\": \"^6.2.1\",\n \"case-sensitive-paths-webpack-plugin\": \"^2.4.0\",\n \"css-loader\": \"^6.5.1\",\n \"css-minimizer-webpack-plugin\": \"^3.2.0\",\n \"dotenv\": \"^10.0.0\",\n \"dotenv-expand\": \"^5.1.0\",\n \"eslint\": \"^8.3.0\",\n \"eslint-config-react-app\": \"^7.0.1\",\n \"eslint-webpack-plugin\": \"^3.1.1\",\n \"file-loader\": \"^6.2.0\",\n \"fs-extra\": \"^10.0.0\",\n \"html-webpack-plugin\": \"^5.5.0\",\n \"identity-obj-proxy\": \"^3.0.0\",\n \"jest\": \"^27.4.3\",\n \"jest-resolve\": \"^27.4.2\",\n \"jest-watch-typeahead\": \"^1.0.0\",\n \"mini-css-extract-plugin\": \"^2.4.5\",\n \"postcss\": \"^8.4.4\",\n \"postcss-flexbugs-fixes\": \"^5.0.2\",\n \"postcss-loader\": \"^6.2.1\",\n \"postcss-normalize\": \"^10.0.1\",\n \"postcss-preset-env\": \"^7.0.1\",\n \"prompts\": \"^2.4.2\",\n \"react-app-polyfill\": \"^3.0.0\",\n \"react-dev-utils\": \"^12.0.1\",\n \"react-refresh\": \"^0.11.0\",\n \"resolve\": \"^1.20.0\",\n \"resolve-url-loader\": \"^4.0.0\",\n \"sass-loader\": \"^12.3.0\",\n \"semver\": \"^7.3.5\",\n \"source-map-loader\": \"^3.0.0\",\n \"style-loader\": \"^3.3.1\",\n \"tailwindcss\": \"^3.0.2\",\n \"terser-webpack-plugin\": \"^5.2.5\",\n \"webpack\": \"^5.64.4\",\n \"webpack-dev-server\": \"^4.6.0\",\n \"webpack-manifest-plugin\": \"^4.0.2\",\n \"workbox-webpack-plugin\": \"^6.4.1\"\n },\n \"bin\": {\n \"react-scripts\": \"bin/react-scripts.js\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"^2.3.2\"\n },\n \"peerDependencies\": {\n \"react\": \">= 16\",\n \"typescript\": \"^3.2.1 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/react-table\": {\n \"version\": \"7.8.0\",\n \"resolved\": \"https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz\",\n \"integrity\": \"sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.3 || ^17.0.0-0 || ^18.0.0\"\n }\n },\n \"node_modules/react-transition-group\": {\n \"version\": \"4.4.5\",\n \"resolved\": \"https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz\",\n \"integrity\": \"sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.5.5\",\n \"dom-helpers\": \"^5.0.1\",\n \"loose-envify\": \"^1.4.0\",\n \"prop-types\": \"^15.6.2\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.6.0\",\n \"react-dom\": \">=16.6.0\"\n }\n },\n \"node_modules/read-cache\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz\",\n \"integrity\": \"sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"pify\": \"^2.3.0\"\n }\n },\n \"node_modules/readable-stream\": {\n \"version\": \"3.6.2\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz\",\n \"integrity\": \"sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"inherits\": \"^2.0.3\",\n \"string_decoder\": \"^1.1.1\",\n \"util-deprecate\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/readdirp\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz\",\n \"integrity\": \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"picomatch\": \"^2.2.1\"\n },\n \"engines\": {\n \"node\": \">=8.10.0\"\n }\n },\n \"node_modules/recursive-readdir\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz\",\n \"integrity\": \"sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimatch\": \"^3.0.5\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/redent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/redent/-/redent-3.0.0.tgz\",\n \"integrity\": \"sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==\",\n \"dependencies\": {\n \"indent-string\": \"^4.0.0\",\n \"strip-indent\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/reflect.getprototypeof\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz\",\n \"integrity\": \"sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.1\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"which-builtin-type\": \"^1.1.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/regenerate\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz\",\n \"integrity\": \"sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/regenerate-unicode-properties\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz\",\n \"integrity\": \"sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"regenerate\": \"^1.4.2\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/regenerator-runtime\": {\n \"version\": \"0.14.1\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz\",\n \"integrity\": \"sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==\"\n },\n \"node_modules/regenerator-transform\": {\n \"version\": \"0.15.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz\",\n \"integrity\": \"sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.8.4\"\n }\n },\n \"node_modules/regex-parser\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz\",\n \"integrity\": \"sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/regexp.prototype.flags\": {\n \"version\": \"1.5.2\",\n \"resolved\": \"https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz\",\n \"integrity\": \"sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"define-properties\": \"^1.2.1\",\n \"es-errors\": \"^1.3.0\",\n \"set-function-name\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/regexpu-core\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz\",\n \"integrity\": \"sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/regjsgen\": \"^0.8.0\",\n \"regenerate\": \"^1.4.2\",\n \"regenerate-unicode-properties\": \"^10.1.0\",\n \"regjsparser\": \"^0.9.1\",\n \"unicode-match-property-ecmascript\": \"^2.0.0\",\n \"unicode-match-property-value-ecmascript\": \"^2.1.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/regjsparser\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz\",\n \"integrity\": \"sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"jsesc\": \"~0.5.0\"\n },\n \"bin\": {\n \"regjsparser\": \"bin/parser\"\n }\n },\n \"node_modules/regjsparser/node_modules/jsesc\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz\",\n \"integrity\": \"sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n }\n },\n \"node_modules/relateurl\": {\n \"version\": \"0.2.7\",\n \"resolved\": \"https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz\",\n \"integrity\": \"sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.10\"\n }\n },\n \"node_modules/remove-accents\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz\",\n \"integrity\": \"sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==\"\n },\n \"node_modules/renderkid\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz\",\n \"integrity\": \"sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"css-select\": \"^4.1.3\",\n \"dom-converter\": \"^0.2.0\",\n \"htmlparser2\": \"^6.1.0\",\n \"lodash\": \"^4.17.21\",\n \"strip-ansi\": \"^6.0.1\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-from-string\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz\",\n \"integrity\": \"sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/requires-port\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",\n \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/resolve\": {\n \"version\": \"1.22.8\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz\",\n \"integrity\": \"sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==\",\n \"dependencies\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n },\n \"bin\": {\n \"resolve\": \"bin/resolve\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/resolve-cwd\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz\",\n \"integrity\": \"sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-from\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/resolve-from\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz\",\n \"integrity\": \"sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/resolve-url-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"adjust-sourcemap-loader\": \"^4.0.0\",\n \"convert-source-map\": \"^1.7.0\",\n \"loader-utils\": \"^2.0.0\",\n \"postcss\": \"^7.0.35\",\n \"source-map\": \"0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.9\"\n },\n \"peerDependencies\": {\n \"rework\": \"1.0.1\",\n \"rework-visit\": \"1.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"rework\": {\n \"optional\": true\n },\n \"rework-visit\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/resolve-url-loader/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/resolve-url-loader/node_modules/picocolors\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz\",\n \"integrity\": \"sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==\",\n \"license\": \"ISC\"\n },\n \"node_modules/resolve-url-loader/node_modules/postcss\": {\n \"version\": \"7.0.39\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz\",\n \"integrity\": \"sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"picocolors\": \"^0.2.1\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n }\n },\n \"node_modules/resolve-url-loader/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve.exports\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz\",\n \"integrity\": \"sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/reusify\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n \"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"iojs\": \">=1.0.0\",\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/rimraf\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n \"deprecated\": \"Rimraf versions prior to v4 are no longer supported\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"glob\": \"^7.1.3\"\n },\n \"bin\": {\n \"rimraf\": \"bin.js\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"2.79.1\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz\",\n \"integrity\": \"sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rollup-plugin-terser\": {\n \"version\": \"7.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz\",\n \"integrity\": \"sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==\",\n \"deprecated\": \"This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"jest-worker\": \"^26.2.1\",\n \"serialize-javascript\": \"^4.0.0\",\n \"terser\": \"^5.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^2.0.0\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/jest-worker\": {\n \"version\": \"26.6.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz\",\n \"integrity\": \"sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/serialize-javascript\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz\",\n \"integrity\": \"sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/run-parallel\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n \"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"queue-microtask\": \"^1.2.2\"\n }\n },\n \"node_modules/safe-array-concat\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz\",\n \"integrity\": \"sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\",\n \"has-symbols\": \"^1.0.3\",\n \"isarray\": \"^2.0.5\"\n },\n \"engines\": {\n \"node\": \">=0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/safe-buffer\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",\n \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/safe-regex-test\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz\",\n \"integrity\": \"sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-regex\": \"^1.1.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/safer-buffer\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/sanitize.css\": {\n \"version\": \"13.0.0\",\n \"resolved\": \"https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz\",\n \"integrity\": \"sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/sass-loader\": {\n \"version\": \"12.6.0\",\n \"resolved\": \"https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz\",\n \"integrity\": \"sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"klona\": \"^2.0.4\",\n \"neo-async\": \"^2.6.2\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"fibers\": \">= 3.1.0\",\n \"node-sass\": \"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\",\n \"sass\": \"^1.3.0\",\n \"sass-embedded\": \"*\",\n \"webpack\": \"^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"fibers\": {\n \"optional\": true\n },\n \"node-sass\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/sax\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/sax/-/sax-1.2.4.tgz\",\n \"integrity\": \"sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/saxes\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz\",\n \"integrity\": \"sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"xmlchars\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/schema-utils\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz\",\n \"integrity\": \"sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.9\",\n \"ajv\": \"^8.9.0\",\n \"ajv-formats\": \"^2.1.1\",\n \"ajv-keywords\": \"^5.1.0\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/schema-utils/node_modules/ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/schema-utils/node_modules/ajv-keywords\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz\",\n \"integrity\": \"sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\"\n },\n \"peerDependencies\": {\n \"ajv\": \"^8.8.2\"\n }\n },\n \"node_modules/schema-utils/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"license\": \"MIT\"\n },\n \"node_modules/select-hose\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz\",\n \"integrity\": \"sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/selfsigned\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz\",\n \"integrity\": \"sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node-forge\": \"^1.3.0\",\n \"node-forge\": \"^1\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"7.6.3\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.3.tgz\",\n \"integrity\": \"sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/send\": {\n \"version\": \"0.19.0\",\n \"resolved\": \"https://registry.npmjs.org/send/-/send-0.19.0.tgz\",\n \"integrity\": \"sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"encodeurl\": \"~1.0.2\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"mime\": \"1.6.0\",\n \"ms\": \"2.1.3\",\n \"on-finished\": \"2.4.1\",\n \"range-parser\": \"~1.2.1\",\n \"statuses\": \"2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/send/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/send/node_modules/debug/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/send/node_modules/encodeurl\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n \"integrity\": \"sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/send/node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/serialize-javascript\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz\",\n \"integrity\": \"sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"node_modules/serve-index\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz\",\n \"integrity\": \"sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"accepts\": \"~1.3.4\",\n \"batch\": \"0.6.1\",\n \"debug\": \"2.6.9\",\n \"escape-html\": \"~1.0.3\",\n \"http-errors\": \"~1.6.2\",\n \"mime-types\": \"~2.1.17\",\n \"parseurl\": \"~1.3.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/serve-index/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/serve-index/node_modules/depd\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n \"integrity\": \"sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/serve-index/node_modules/http-errors\": {\n \"version\": \"1.6.3\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz\",\n \"integrity\": \"sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"depd\": \"~1.1.2\",\n \"inherits\": \"2.0.3\",\n \"setprototypeof\": \"1.1.0\",\n \"statuses\": \">= 1.4.0 < 2\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/serve-index/node_modules/inherits\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n \"integrity\": \"sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/serve-index/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/serve-index/node_modules/setprototypeof\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz\",\n \"integrity\": \"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/serve-index/node_modules/statuses\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n \"integrity\": \"sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/serve-static\": {\n \"version\": \"1.16.2\",\n \"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz\",\n \"integrity\": \"sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"parseurl\": \"~1.3.3\",\n \"send\": \"0.19.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/set-function-length\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz\",\n \"integrity\": \"sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==\",\n \"dependencies\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/set-function-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz\",\n \"integrity\": \"sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==\",\n \"dependencies\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"functions-have-names\": \"^1.2.3\",\n \"has-property-descriptors\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/setprototypeof\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz\",\n \"integrity\": \"sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"shebang-regex\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz\",\n \"integrity\": \"sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/side-channel\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz\",\n \"integrity\": \"sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"object-inspect\": \"^1.13.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/signal-exit\": {\n \"version\": \"3.0.7\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",\n \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/sisteransi\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz\",\n \"integrity\": \"sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/sockjs\": {\n \"version\": \"0.3.24\",\n \"resolved\": \"https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz\",\n \"integrity\": \"sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"faye-websocket\": \"^0.11.3\",\n \"uuid\": \"^8.3.2\",\n \"websocket-driver\": \"^0.7.4\"\n }\n },\n \"node_modules/source-list-map\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz\",\n \"integrity\": \"sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz\",\n \"integrity\": \"sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-loader\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz\",\n \"integrity\": \"sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"abab\": \"^2.0.5\",\n \"iconv-lite\": \"^0.6.3\",\n \"source-map-js\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/source-map-support/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/sourcemap-codec\": {\n \"version\": \"1.4.8\",\n \"resolved\": \"https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz\",\n \"integrity\": \"sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==\",\n \"deprecated\": \"Please use @jridgewell/sourcemap-codec instead\",\n \"license\": \"MIT\"\n },\n \"node_modules/spdy\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz\",\n \"integrity\": \"sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^4.1.0\",\n \"handle-thing\": \"^2.0.0\",\n \"http-deceiver\": \"^1.2.7\",\n \"select-hose\": \"^2.0.0\",\n \"spdy-transport\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/spdy-transport\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz\",\n \"integrity\": \"sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^4.1.0\",\n \"detect-node\": \"^2.0.4\",\n \"hpack.js\": \"^2.1.6\",\n \"obuf\": \"^1.1.2\",\n \"readable-stream\": \"^3.0.6\",\n \"wbuf\": \"^1.7.3\"\n }\n },\n \"node_modules/sprintf-js\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n \"integrity\": \"sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/stable\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/stable/-/stable-0.1.8.tgz\",\n \"integrity\": \"sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==\",\n \"deprecated\": \"Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility\",\n \"license\": \"MIT\"\n },\n \"node_modules/stack-utils\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz\",\n \"integrity\": \"sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escape-string-regexp\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/stack-utils/node_modules/escape-string-regexp\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n \"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/stackframe\": {\n \"version\": \"1.3.4\",\n \"resolved\": \"https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz\",\n \"integrity\": \"sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/static-eval\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz\",\n \"integrity\": \"sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escodegen\": \"^1.8.1\"\n }\n },\n \"node_modules/static-eval/node_modules/escodegen\": {\n \"version\": \"1.14.3\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz\",\n \"integrity\": \"sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^4.2.0\",\n \"esutils\": \"^2.0.2\",\n \"optionator\": \"^0.8.1\"\n },\n \"bin\": {\n \"escodegen\": \"bin/escodegen.js\",\n \"esgenerate\": \"bin/esgenerate.js\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n },\n \"optionalDependencies\": {\n \"source-map\": \"~0.6.1\"\n }\n },\n \"node_modules/static-eval/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/static-eval/node_modules/levn\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.3.0.tgz\",\n \"integrity\": \"sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/static-eval/node_modules/optionator\": {\n \"version\": \"0.8.3\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz\",\n \"integrity\": \"sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"deep-is\": \"~0.1.3\",\n \"fast-levenshtein\": \"~2.0.6\",\n \"levn\": \"~0.3.0\",\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\",\n \"word-wrap\": \"~1.2.3\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/static-eval/node_modules/prelude-ls\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz\",\n \"integrity\": \"sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==\",\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/static-eval/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/static-eval/node_modules/type-check\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz\",\n \"integrity\": \"sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"~1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/statuses\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz\",\n \"integrity\": \"sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/stop-iteration-iterator\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz\",\n \"integrity\": \"sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==\",\n \"dependencies\": {\n \"internal-slot\": \"^1.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/string_decoder\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz\",\n \"integrity\": \"sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"~5.2.0\"\n }\n },\n \"node_modules/string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/string-natural-compare\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz\",\n \"integrity\": \"sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/string-width-cjs\": {\n \"name\": \"string-width\",\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/string-width-cjs/node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/string-width/node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/string.prototype.includes\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz\",\n \"integrity\": \"sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"node_modules/string.prototype.matchall\": {\n \"version\": \"4.0.11\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz\",\n \"integrity\": \"sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"set-function-name\": \"^2.0.2\",\n \"side-channel\": \"^1.0.6\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.repeat\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz\",\n \"integrity\": \"sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"node_modules/string.prototype.trim\": {\n \"version\": \"1.2.9\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz\",\n \"integrity\": \"sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.0\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.trimend\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz\",\n \"integrity\": \"sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.trimstart\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz\",\n \"integrity\": \"sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/stringify-object\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz\",\n \"integrity\": \"sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"get-own-enumerable-property-symbols\": \"^3.0.0\",\n \"is-obj\": \"^1.0.1\",\n \"is-regexp\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi-cjs\": {\n \"name\": \"strip-ansi\",\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-bom\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz\",\n \"integrity\": \"sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-comments\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz\",\n \"integrity\": \"sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/strip-final-newline\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",\n \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/strip-indent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n \"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n \"dependencies\": {\n \"min-indent\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-json-comments\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n \"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/strip-outer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz\",\n \"integrity\": \"sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==\",\n \"dev\": true,\n \"dependencies\": {\n \"escape-string-regexp\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/style-loader\": {\n \"version\": \"3.3.4\",\n \"resolved\": \"https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz\",\n \"integrity\": \"sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/stylehacks\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz\",\n \"integrity\": \"sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-selector-parser\": \"^6.0.4\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/stylis\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz\",\n \"integrity\": \"sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==\"\n },\n \"node_modules/sucrase\": {\n \"version\": \"3.35.0\",\n \"resolved\": \"https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz\",\n \"integrity\": \"sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.2\",\n \"commander\": \"^4.0.0\",\n \"glob\": \"^10.3.10\",\n \"lines-and-columns\": \"^1.1.6\",\n \"mz\": \"^2.7.0\",\n \"pirates\": \"^4.0.1\",\n \"ts-interface-checker\": \"^0.1.9\"\n },\n \"bin\": {\n \"sucrase\": \"bin/sucrase\",\n \"sucrase-node\": \"bin/sucrase-node\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n }\n },\n \"node_modules/sucrase/node_modules/brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"node_modules/sucrase/node_modules/commander\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-4.1.1.tgz\",\n \"integrity\": \"sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/sucrase/node_modules/glob\": {\n \"version\": \"10.4.5\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-10.4.5.tgz\",\n \"integrity\": \"sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"foreground-child\": \"^3.1.0\",\n \"jackspeak\": \"^3.1.2\",\n \"minimatch\": \"^9.0.4\",\n \"minipass\": \"^7.1.2\",\n \"package-json-from-dist\": \"^1.0.0\",\n \"path-scurry\": \"^1.11.1\"\n },\n \"bin\": {\n \"glob\": \"dist/esm/bin.mjs\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/sucrase/node_modules/minimatch\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz\",\n \"integrity\": \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/supports-color\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n \"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n \"dependencies\": {\n \"has-flag\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/supports-hyperlinks\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz\",\n \"integrity\": \"sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\",\n \"supports-color\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/supports-hyperlinks/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/supports-hyperlinks/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/supports-preserve-symlinks-flag\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz\",\n \"integrity\": \"sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/svg-parser\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz\",\n \"integrity\": \"sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/svgo\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz\",\n \"integrity\": \"sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==\",\n \"deprecated\": \"This SVGO version is no longer supported. Upgrade to v2.x.x.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^2.4.1\",\n \"coa\": \"^2.0.2\",\n \"css-select\": \"^2.0.0\",\n \"css-select-base-adapter\": \"^0.1.1\",\n \"css-tree\": \"1.0.0-alpha.37\",\n \"csso\": \"^4.0.2\",\n \"js-yaml\": \"^3.13.1\",\n \"mkdirp\": \"~0.5.1\",\n \"object.values\": \"^1.1.0\",\n \"sax\": \"~1.2.4\",\n \"stable\": \"^0.1.8\",\n \"unquote\": \"~1.1.1\",\n \"util.promisify\": \"~1.0.0\"\n },\n \"bin\": {\n \"svgo\": \"bin/svgo\"\n },\n \"engines\": {\n \"node\": \">=4.0.0\"\n }\n },\n \"node_modules/svgo/node_modules/css-select\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz\",\n \"integrity\": \"sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^3.2.1\",\n \"domutils\": \"^1.7.0\",\n \"nth-check\": \"^1.0.2\"\n }\n },\n \"node_modules/svgo/node_modules/css-what\": {\n \"version\": \"3.4.2\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz\",\n \"integrity\": \"sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">= 6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n },\n \"node_modules/svgo/node_modules/dom-serializer\": {\n \"version\": \"0.2.2\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz\",\n \"integrity\": \"sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.0.1\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"node_modules/svgo/node_modules/domutils\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz\",\n \"integrity\": \"sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"dom-serializer\": \"0\",\n \"domelementtype\": \"1\"\n }\n },\n \"node_modules/svgo/node_modules/domutils/node_modules/domelementtype\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz\",\n \"integrity\": \"sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/svgo/node_modules/nth-check\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz\",\n \"integrity\": \"sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"~1.0.0\"\n }\n },\n \"node_modules/symbol-tree\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz\",\n \"integrity\": \"sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/tailwindcss\": {\n \"version\": \"3.4.13\",\n \"resolved\": \"https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz\",\n \"integrity\": \"sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@alloc/quick-lru\": \"^5.2.0\",\n \"arg\": \"^5.0.2\",\n \"chokidar\": \"^3.5.3\",\n \"didyoumean\": \"^1.2.2\",\n \"dlv\": \"^1.1.3\",\n \"fast-glob\": \"^3.3.0\",\n \"glob-parent\": \"^6.0.2\",\n \"is-glob\": \"^4.0.3\",\n \"jiti\": \"^1.21.0\",\n \"lilconfig\": \"^2.1.0\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"object-hash\": \"^3.0.0\",\n \"picocolors\": \"^1.0.0\",\n \"postcss\": \"^8.4.23\",\n \"postcss-import\": \"^15.1.0\",\n \"postcss-js\": \"^4.0.1\",\n \"postcss-load-config\": \"^4.0.1\",\n \"postcss-nested\": \"^6.0.1\",\n \"postcss-selector-parser\": \"^6.0.11\",\n \"resolve\": \"^1.22.2\",\n \"sucrase\": \"^3.32.0\"\n },\n \"bin\": {\n \"tailwind\": \"lib/cli.js\",\n \"tailwindcss\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tapable\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz\",\n \"integrity\": \"sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/temp-dir\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz\",\n \"integrity\": \"sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/tempy\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz\",\n \"integrity\": \"sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-stream\": \"^2.0.0\",\n \"temp-dir\": \"^2.0.0\",\n \"type-fest\": \"^0.16.0\",\n \"unique-string\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/tempy/node_modules/type-fest\": {\n \"version\": \"0.16.0\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz\",\n \"integrity\": \"sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/terminal-link\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz\",\n \"integrity\": \"sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-escapes\": \"^4.2.1\",\n \"supports-hyperlinks\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/terser\": {\n \"version\": \"5.33.0\",\n \"resolved\": \"https://registry.npmjs.org/terser/-/terser-5.33.0.tgz\",\n \"integrity\": \"sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"@jridgewell/source-map\": \"^0.3.3\",\n \"acorn\": \"^8.8.2\",\n \"commander\": \"^2.20.0\",\n \"source-map-support\": \"~0.5.20\"\n },\n \"bin\": {\n \"terser\": \"bin/terser\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/terser-webpack-plugin\": {\n \"version\": \"5.3.10\",\n \"resolved\": \"https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz\",\n \"integrity\": \"sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/trace-mapping\": \"^0.3.20\",\n \"jest-worker\": \"^27.4.5\",\n \"schema-utils\": \"^3.1.1\",\n \"serialize-javascript\": \"^6.0.1\",\n \"terser\": \"^5.26.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.1.0\"\n },\n \"peerDependenciesMeta\": {\n \"@swc/core\": {\n \"optional\": true\n },\n \"esbuild\": {\n \"optional\": true\n },\n \"uglify-js\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/terser-webpack-plugin/node_modules/schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/terser/node_modules/commander\": {\n \"version\": \"2.20.3\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-2.20.3.tgz\",\n \"integrity\": \"sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/test-exclude\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz\",\n \"integrity\": \"sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"glob\": \"^7.1.4\",\n \"minimatch\": \"^3.0.4\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/text-table\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n \"integrity\": \"sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/thenify\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz\",\n \"integrity\": \"sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"any-promise\": \"^1.0.0\"\n }\n },\n \"node_modules/thenify-all\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz\",\n \"integrity\": \"sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"thenify\": \">= 3.1.0 < 4\"\n },\n \"engines\": {\n \"node\": \">=0.8\"\n }\n },\n \"node_modules/three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==\"\n },\n \"node_modules/three-forcegraph\": {\n \"version\": \"1.41.14\",\n \"resolved\": \"https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.14.tgz\",\n \"integrity\": \"sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==\",\n \"dependencies\": {\n \"accessor-fn\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"data-joint\": \"1\",\n \"kapsule\": \"1\",\n \"ngraph.forcelayout\": \"3\",\n \"ngraph.graph\": \"20\",\n \"tinycolor2\": \"1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"three\": \">=0.118.3\"\n }\n },\n \"node_modules/three-render-objects\": {\n \"version\": \"1.29.4\",\n \"resolved\": \"https://registry.npmjs.org/three-render-objects/-/three-render-objects-1.29.4.tgz\",\n \"integrity\": \"sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==\",\n \"dependencies\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"polished\": \"4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"three\": \"*\"\n }\n },\n \"node_modules/three-spritetext\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/three-spritetext/-/three-spritetext-1.8.2.tgz\",\n \"integrity\": \"sha512-OYjyAhWnQ6+7CPKjnpq3JQM+Lpr6cSOppCtbOOzF1IbCauGkoDFvbAnxYd0LVxEsIO2RALXXScg2eX+R6CAfyA==\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"three\": \">=0.86.0\"\n }\n },\n \"node_modules/throat\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/throat/-/throat-6.0.2.tgz\",\n \"integrity\": \"sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/thunky\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz\",\n \"integrity\": \"sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/tinycolor2\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz\",\n \"integrity\": \"sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==\"\n },\n \"node_modules/tmpl\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz\",\n \"integrity\": \"sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/to-fast-properties\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n \"integrity\": \"sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/to-regex-range\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-number\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=8.0\"\n }\n },\n \"node_modules/toidentifier\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz\",\n \"integrity\": \"sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.6\"\n }\n },\n \"node_modules/tough-cookie\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz\",\n \"integrity\": \"sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"psl\": \"^1.1.33\",\n \"punycode\": \"^2.1.1\",\n \"universalify\": \"^0.2.0\",\n \"url-parse\": \"^1.5.3\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/tough-cookie/node_modules/universalify\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",\n \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4.0.0\"\n }\n },\n \"node_modules/tr46\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz\",\n \"integrity\": \"sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"punycode\": \"^2.1.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/trim-repeated\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz\",\n \"integrity\": \"sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==\",\n \"dev\": true,\n \"dependencies\": {\n \"escape-string-regexp\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/tryer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz\",\n \"integrity\": \"sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ts-interface-checker\": {\n \"version\": \"0.1.13\",\n \"resolved\": \"https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz\",\n \"integrity\": \"sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/tsconfig-paths\": {\n \"version\": \"3.15.0\",\n \"resolved\": \"https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz\",\n \"integrity\": \"sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json5\": \"^0.0.29\",\n \"json5\": \"^1.0.2\",\n \"minimist\": \"^1.2.6\",\n \"strip-bom\": \"^3.0.0\"\n }\n },\n \"node_modules/tsconfig-paths/node_modules/json5\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-1.0.2.tgz\",\n \"integrity\": \"sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimist\": \"^1.2.0\"\n },\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n }\n },\n \"node_modules/tsconfig-paths/node_modules/strip-bom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n \"integrity\": \"sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.6.3\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz\",\n \"integrity\": \"sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==\"\n },\n \"node_modules/tsutils\": {\n \"version\": \"3.21.0\",\n \"resolved\": \"https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz\",\n \"integrity\": \"sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tslib\": \"^1.8.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta\"\n }\n },\n \"node_modules/tsutils/node_modules/tslib\": {\n \"version\": \"1.14.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz\",\n \"integrity\": \"sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==\",\n \"license\": \"0BSD\"\n },\n \"node_modules/type-check\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n \"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/type-detect\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz\",\n \"integrity\": \"sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/type-fest\": {\n \"version\": \"0.21.3\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",\n \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/type-is\": {\n \"version\": \"1.6.18\",\n \"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n \"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"media-typer\": \"0.3.0\",\n \"mime-types\": \"~2.1.24\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/typed-array-buffer\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz\",\n \"integrity\": \"sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/typed-array-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typed-array-byte-offset\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz\",\n \"integrity\": \"sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typed-array-length\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz\",\n \"integrity\": \"sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\",\n \"possible-typed-array-names\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typedarray-to-buffer\": {\n \"version\": \"3.1.5\",\n \"resolved\": \"https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz\",\n \"integrity\": \"sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-typedarray\": \"^1.0.0\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"4.9.5\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz\",\n \"integrity\": \"sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=4.2.0\"\n }\n },\n \"node_modules/unbox-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-bigints\": \"^1.0.2\",\n \"has-symbols\": \"^1.0.3\",\n \"which-boxed-primitive\": \"^1.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/underscore\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz\",\n \"integrity\": \"sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/unicode-canonical-property-names-ecmascript\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz\",\n \"integrity\": \"sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unicode-match-property-ecmascript\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz\",\n \"integrity\": \"sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"unicode-canonical-property-names-ecmascript\": \"^2.0.0\",\n \"unicode-property-aliases-ecmascript\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unicode-match-property-value-ecmascript\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz\",\n \"integrity\": \"sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unicode-property-aliases-ecmascript\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz\",\n \"integrity\": \"sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unique-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz\",\n \"integrity\": \"sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"crypto-random-string\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/universalify\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz\",\n \"integrity\": \"sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==\",\n \"engines\": {\n \"node\": \">= 10.0.0\"\n }\n },\n \"node_modules/unpipe\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n \"integrity\": \"sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/unquote\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz\",\n \"integrity\": \"sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/upath\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/upath/-/upath-1.2.0.tgz\",\n \"integrity\": \"sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\",\n \"yarn\": \"*\"\n }\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz\",\n \"integrity\": \"sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"dependencies\": {\n \"escalade\": \"^3.1.2\",\n \"picocolors\": \"^1.0.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/uri-js\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz\",\n \"integrity\": \"sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"node_modules/url-parse\": {\n \"version\": \"1.5.10\",\n \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",\n \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"querystringify\": \"^2.1.1\",\n \"requires-port\": \"^1.0.0\"\n }\n },\n \"node_modules/util-deprecate\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n \"integrity\": \"sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/util.promisify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz\",\n \"integrity\": \"sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.2\",\n \"has-symbols\": \"^1.0.1\",\n \"object.getownpropertydescriptors\": \"^2.1.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/utila\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/utila/-/utila-0.4.0.tgz\",\n \"integrity\": \"sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/utils-merge\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n \"integrity\": \"sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4.0\"\n }\n },\n \"node_modules/uuid\": {\n \"version\": \"8.3.2\",\n \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",\n \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"uuid\": \"dist/bin/uuid\"\n }\n },\n \"node_modules/v8-to-istanbul\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz\",\n \"integrity\": \"sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.1\",\n \"convert-source-map\": \"^1.6.0\",\n \"source-map\": \"^0.7.3\"\n },\n \"engines\": {\n \"node\": \">=10.12.0\"\n }\n },\n \"node_modules/v8-to-istanbul/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/vary\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n \"integrity\": \"sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/void-elements\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz\",\n \"integrity\": \"sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/w3c-hr-time\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz\",\n \"integrity\": \"sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==\",\n \"deprecated\": \"Use your platform's native performance.now() and performance.timeOrigin.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browser-process-hrtime\": \"^1.0.0\"\n }\n },\n \"node_modules/w3c-xmlserializer\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz\",\n \"integrity\": \"sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"xml-name-validator\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/walker\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/walker/-/walker-1.0.8.tgz\",\n \"integrity\": \"sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"makeerror\": \"1.0.12\"\n }\n },\n \"node_modules/watchpack\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz\",\n \"integrity\": \"sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.1.2\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/wbuf\": {\n \"version\": \"1.7.3\",\n \"resolved\": \"https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz\",\n \"integrity\": \"sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimalistic-assert\": \"^1.0.0\"\n }\n },\n \"node_modules/web-vitals\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz\",\n \"integrity\": \"sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==\"\n },\n \"node_modules/webidl-conversions\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz\",\n \"integrity\": \"sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=10.4\"\n }\n },\n \"node_modules/webpack\": {\n \"version\": \"5.94.0\",\n \"resolved\": \"https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz\",\n \"integrity\": \"sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.5\",\n \"@webassemblyjs/ast\": \"^1.12.1\",\n \"@webassemblyjs/wasm-edit\": \"^1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"^1.12.1\",\n \"acorn\": \"^8.7.1\",\n \"acorn-import-attributes\": \"^1.9.5\",\n \"browserslist\": \"^4.21.10\",\n \"chrome-trace-event\": \"^1.0.2\",\n \"enhanced-resolve\": \"^5.17.1\",\n \"es-module-lexer\": \"^1.2.1\",\n \"eslint-scope\": \"5.1.1\",\n \"events\": \"^3.2.0\",\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.2.11\",\n \"json-parse-even-better-errors\": \"^2.3.1\",\n \"loader-runner\": \"^4.2.0\",\n \"mime-types\": \"^2.1.27\",\n \"neo-async\": \"^2.6.2\",\n \"schema-utils\": \"^3.2.0\",\n \"tapable\": \"^2.1.1\",\n \"terser-webpack-plugin\": \"^5.3.10\",\n \"watchpack\": \"^2.4.1\",\n \"webpack-sources\": \"^3.2.3\"\n },\n \"bin\": {\n \"webpack\": \"bin/webpack.js\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependenciesMeta\": {\n \"webpack-cli\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/webpack-dev-middleware\": {\n \"version\": \"5.3.4\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz\",\n \"integrity\": \"sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"colorette\": \"^2.0.10\",\n \"memfs\": \"^3.4.3\",\n \"mime-types\": \"^2.1.31\",\n \"range-parser\": \"^1.2.1\",\n \"schema-utils\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.0.0 || ^5.0.0\"\n }\n },\n \"node_modules/webpack-dev-server\": {\n \"version\": \"4.15.2\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz\",\n \"integrity\": \"sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/bonjour\": \"^3.5.9\",\n \"@types/connect-history-api-fallback\": \"^1.3.5\",\n \"@types/express\": \"^4.17.13\",\n \"@types/serve-index\": \"^1.9.1\",\n \"@types/serve-static\": \"^1.13.10\",\n \"@types/sockjs\": \"^0.3.33\",\n \"@types/ws\": \"^8.5.5\",\n \"ansi-html-community\": \"^0.0.8\",\n \"bonjour-service\": \"^1.0.11\",\n \"chokidar\": \"^3.5.3\",\n \"colorette\": \"^2.0.10\",\n \"compression\": \"^1.7.4\",\n \"connect-history-api-fallback\": \"^2.0.0\",\n \"default-gateway\": \"^6.0.3\",\n \"express\": \"^4.17.3\",\n \"graceful-fs\": \"^4.2.6\",\n \"html-entities\": \"^2.3.2\",\n \"http-proxy-middleware\": \"^2.0.3\",\n \"ipaddr.js\": \"^2.0.1\",\n \"launch-editor\": \"^2.6.0\",\n \"open\": \"^8.0.9\",\n \"p-retry\": \"^4.5.0\",\n \"rimraf\": \"^3.0.2\",\n \"schema-utils\": \"^4.0.0\",\n \"selfsigned\": \"^2.1.1\",\n \"serve-index\": \"^1.9.1\",\n \"sockjs\": \"^0.3.24\",\n \"spdy\": \"^4.0.2\",\n \"webpack-dev-middleware\": \"^5.3.4\",\n \"ws\": \"^8.13.0\"\n },\n \"bin\": {\n \"webpack-dev-server\": \"bin/webpack-dev-server.js\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.37.0 || ^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"webpack\": {\n \"optional\": true\n },\n \"webpack-cli\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/webpack-dev-server/node_modules/ws\": {\n \"version\": \"8.18.0\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.18.0.tgz\",\n \"integrity\": \"sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"peerDependencies\": {\n \"bufferutil\": \"^4.0.1\",\n \"utf-8-validate\": \">=5.0.2\"\n },\n \"peerDependenciesMeta\": {\n \"bufferutil\": {\n \"optional\": true\n },\n \"utf-8-validate\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/webpack-manifest-plugin\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz\",\n \"integrity\": \"sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tapable\": \"^2.0.0\",\n \"webpack-sources\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=12.22.0\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.44.2 || ^5.47.0\"\n }\n },\n \"node_modules/webpack-manifest-plugin/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/webpack-manifest-plugin/node_modules/webpack-sources\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz\",\n \"integrity\": \"sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"source-list-map\": \"^2.0.1\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/webpack-sources\": {\n \"version\": \"3.2.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz\",\n \"integrity\": \"sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/webpack/node_modules/eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/webpack/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/webpack/node_modules/schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/websocket-driver\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz\",\n \"integrity\": \"sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"http-parser-js\": \">=0.5.1\",\n \"safe-buffer\": \">=5.1.0\",\n \"websocket-extensions\": \">=0.1.1\"\n },\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/websocket-extensions\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz\",\n \"integrity\": \"sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/whatwg-encoding\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz\",\n \"integrity\": \"sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"iconv-lite\": \"0.4.24\"\n }\n },\n \"node_modules/whatwg-encoding/node_modules/iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/whatwg-fetch\": {\n \"version\": \"3.6.20\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz\",\n \"integrity\": \"sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/whatwg-mimetype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz\",\n \"integrity\": \"sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/whatwg-url\": {\n \"version\": \"8.7.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz\",\n \"integrity\": \"sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lodash\": \"^4.7.0\",\n \"tr46\": \"^2.1.0\",\n \"webidl-conversions\": \"^6.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"node-which\": \"bin/node-which\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/which-boxed-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==\",\n \"dependencies\": {\n \"is-bigint\": \"^1.0.1\",\n \"is-boolean-object\": \"^1.1.0\",\n \"is-number-object\": \"^1.0.4\",\n \"is-string\": \"^1.0.5\",\n \"is-symbol\": \"^1.0.3\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-builtin-type\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz\",\n \"integrity\": \"sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"function.prototype.name\": \"^1.1.6\",\n \"has-tostringtag\": \"^1.0.2\",\n \"is-async-function\": \"^2.0.0\",\n \"is-date-object\": \"^1.0.5\",\n \"is-finalizationregistry\": \"^1.0.2\",\n \"is-generator-function\": \"^1.0.10\",\n \"is-regex\": \"^1.1.4\",\n \"is-weakref\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-collection\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz\",\n \"integrity\": \"sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==\",\n \"dependencies\": {\n \"is-map\": \"^2.0.3\",\n \"is-set\": \"^2.0.3\",\n \"is-weakmap\": \"^2.0.2\",\n \"is-weakset\": \"^2.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-typed-array\": {\n \"version\": \"1.1.15\",\n \"resolved\": \"https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz\",\n \"integrity\": \"sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==\",\n \"dependencies\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-tostringtag\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/word-wrap\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz\",\n \"integrity\": \"sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/workbox-background-sync\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz\",\n \"integrity\": \"sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-broadcast-update\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz\",\n \"integrity\": \"sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-build\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz\",\n \"integrity\": \"sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@apideck/better-ajv-errors\": \"^0.3.1\",\n \"@babel/core\": \"^7.11.1\",\n \"@babel/preset-env\": \"^7.11.0\",\n \"@babel/runtime\": \"^7.11.2\",\n \"@rollup/plugin-babel\": \"^5.2.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"@rollup/plugin-replace\": \"^2.4.1\",\n \"@surma/rollup-plugin-off-main-thread\": \"^2.2.3\",\n \"ajv\": \"^8.6.0\",\n \"common-tags\": \"^1.8.0\",\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"fs-extra\": \"^9.0.1\",\n \"glob\": \"^7.1.6\",\n \"lodash\": \"^4.17.20\",\n \"pretty-bytes\": \"^5.3.0\",\n \"rollup\": \"^2.43.1\",\n \"rollup-plugin-terser\": \"^7.0.0\",\n \"source-map\": \"^0.8.0-beta.0\",\n \"stringify-object\": \"^3.3.0\",\n \"strip-comments\": \"^2.0.1\",\n \"tempy\": \"^0.6.0\",\n \"upath\": \"^1.2.0\",\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-broadcast-update\": \"6.6.0\",\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-google-analytics\": \"6.6.0\",\n \"workbox-navigation-preload\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-range-requests\": \"6.6.0\",\n \"workbox-recipes\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\",\n \"workbox-streams\": \"6.6.0\",\n \"workbox-sw\": \"6.6.0\",\n \"workbox-window\": \"6.6.0\"\n },\n \"engines\": {\n \"node\": \">=10.0.0\"\n }\n },\n \"node_modules/workbox-build/node_modules/@apideck/better-ajv-errors\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz\",\n \"integrity\": \"sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\",\n \"jsonpointer\": \"^5.0.0\",\n \"leven\": \"^3.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"peerDependencies\": {\n \"ajv\": \">=8\"\n }\n },\n \"node_modules/workbox-build/node_modules/ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/workbox-build/node_modules/fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/workbox-build/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"license\": \"MIT\"\n },\n \"node_modules/workbox-build/node_modules/source-map\": {\n \"version\": \"0.8.0-beta.0\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz\",\n \"integrity\": \"sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"whatwg-url\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/workbox-build/node_modules/tr46\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz\",\n \"integrity\": \"sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"node_modules/workbox-build/node_modules/webidl-conversions\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz\",\n \"integrity\": \"sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/workbox-build/node_modules/whatwg-url\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz\",\n \"integrity\": \"sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lodash.sortby\": \"^4.7.0\",\n \"tr46\": \"^1.0.1\",\n \"webidl-conversions\": \"^4.0.2\"\n }\n },\n \"node_modules/workbox-cacheable-response\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz\",\n \"integrity\": \"sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==\",\n \"deprecated\": \"workbox-background-sync@6.6.0\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-core\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz\",\n \"integrity\": \"sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/workbox-expiration\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz\",\n \"integrity\": \"sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-google-analytics\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz\",\n \"integrity\": \"sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==\",\n \"deprecated\": \"It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-navigation-preload\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz\",\n \"integrity\": \"sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-precaching\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz\",\n \"integrity\": \"sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-range-requests\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz\",\n \"integrity\": \"sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-recipes\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz\",\n \"integrity\": \"sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-routing\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz\",\n \"integrity\": \"sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-strategies\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz\",\n \"integrity\": \"sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-streams\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz\",\n \"integrity\": \"sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-sw\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz\",\n \"integrity\": \"sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/workbox-webpack-plugin\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz\",\n \"integrity\": \"sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"pretty-bytes\": \"^5.4.1\",\n \"upath\": \"^1.2.0\",\n \"webpack-sources\": \"^1.4.3\",\n \"workbox-build\": \"6.6.0\"\n },\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.4.0 || ^5.9.0\"\n }\n },\n \"node_modules/workbox-webpack-plugin/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/workbox-webpack-plugin/node_modules/webpack-sources\": {\n \"version\": \"1.4.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz\",\n \"integrity\": \"sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"source-list-map\": \"^2.0.0\",\n \"source-map\": \"~0.6.1\"\n }\n },\n \"node_modules/workbox-window\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz\",\n \"integrity\": \"sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/trusted-types\": \"^2.0.2\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs\": {\n \"name\": \"wrap-ansi\",\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/wrap-ansi/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/wrap-ansi/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/wrappy\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\"\n },\n \"node_modules/write-file-atomic\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz\",\n \"integrity\": \"sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"imurmurhash\": \"^0.1.4\",\n \"is-typedarray\": \"^1.0.0\",\n \"signal-exit\": \"^3.0.2\",\n \"typedarray-to-buffer\": \"^3.1.5\"\n }\n },\n \"node_modules/ws\": {\n \"version\": \"7.5.10\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-7.5.10.tgz\",\n \"integrity\": \"sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.3.0\"\n },\n \"peerDependencies\": {\n \"bufferutil\": \"^4.0.1\",\n \"utf-8-validate\": \"^5.0.2\"\n },\n \"peerDependenciesMeta\": {\n \"bufferutil\": {\n \"optional\": true\n },\n \"utf-8-validate\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/xml-name-validator\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz\",\n \"integrity\": \"sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/xmlchars\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz\",\n \"integrity\": \"sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\"\n },\n \"node_modules/yaml\": {\n \"version\": \"1.10.2\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n \"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"16.2.0\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz\",\n \"integrity\": \"sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^7.0.2\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.0\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^20.2.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"20.2.9\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz\",\n \"integrity\": \"sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yocto-queue\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n \"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n }\n },\n \"dependencies\": {\n \"@adobe/css-tools\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz\",\n \"integrity\": \"sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==\"\n },\n \"@alloc/quick-lru\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz\",\n \"integrity\": \"sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==\"\n },\n \"@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"requires\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"@babel/code-frame\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz\",\n \"integrity\": \"sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==\",\n \"requires\": {\n \"@babel/highlight\": \"^7.24.7\",\n \"picocolors\": \"^1.0.0\"\n }\n },\n \"@babel/compat-data\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz\",\n \"integrity\": \"sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==\"\n },\n \"@babel/core\": {\n \"version\": \"7.24.9\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz\",\n \"integrity\": \"sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==\",\n \"requires\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.24.9\",\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-module-transforms\": \"^7.24.9\",\n \"@babel/helpers\": \"^7.24.8\",\n \"@babel/parser\": \"^7.24.8\",\n \"@babel/template\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.9\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/eslint-parser\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz\",\n \"integrity\": \"sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==\",\n \"requires\": {\n \"@nicolo-ribaudo/eslint-scope-5-internals\": \"5.1.1-v1\",\n \"eslint-visitor-keys\": \"^2.1.0\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"eslint-visitor-keys\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n \"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\"\n },\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/generator\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz\",\n \"integrity\": \"sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==\",\n \"requires\": {\n \"@babel/types\": \"^7.25.6\",\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\",\n \"jsesc\": \"^2.5.1\"\n }\n },\n \"@babel/helper-annotate-as-pure\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz\",\n \"integrity\": \"sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==\",\n \"requires\": {\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-builder-binary-assignment-operator-visitor\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz\",\n \"integrity\": \"sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-compilation-targets\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz\",\n \"integrity\": \"sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==\",\n \"requires\": {\n \"@babel/compat-data\": \"^7.25.2\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"browserslist\": \"^4.23.1\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/helper-create-class-features-plugin\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz\",\n \"integrity\": \"sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.4\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/helper-create-regexp-features-plugin\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz\",\n \"integrity\": \"sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"regexpu-core\": \"^5.3.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/helper-define-polyfill-provider\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz\",\n \"integrity\": \"sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==\",\n \"requires\": {\n \"@babel/helper-compilation-targets\": \"^7.22.6\",\n \"@babel/helper-plugin-utils\": \"^7.22.5\",\n \"debug\": \"^4.1.1\",\n \"lodash.debounce\": \"^4.0.8\",\n \"resolve\": \"^1.14.2\"\n }\n },\n \"@babel/helper-member-expression-to-functions\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz\",\n \"integrity\": \"sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.8\"\n }\n },\n \"@babel/helper-module-imports\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz\",\n \"integrity\": \"sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-module-transforms\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz\",\n \"integrity\": \"sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-simple-access\": \"^7.24.7\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/helper-optimise-call-expression\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz\",\n \"integrity\": \"sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==\",\n \"requires\": {\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-plugin-utils\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz\",\n \"integrity\": \"sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==\"\n },\n \"@babel/helper-remap-async-to-generator\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz\",\n \"integrity\": \"sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-wrap-function\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/helper-replace-supers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz\",\n \"integrity\": \"sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==\",\n \"requires\": {\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/helper-simple-access\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz\",\n \"integrity\": \"sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-skip-transparent-expression-wrappers\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz\",\n \"integrity\": \"sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-string-parser\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz\",\n \"integrity\": \"sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==\"\n },\n \"@babel/helper-validator-identifier\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz\",\n \"integrity\": \"sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==\"\n },\n \"@babel/helper-validator-option\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz\",\n \"integrity\": \"sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==\"\n },\n \"@babel/helper-wrap-function\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz\",\n \"integrity\": \"sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==\",\n \"requires\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n }\n },\n \"@babel/helpers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz\",\n \"integrity\": \"sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==\",\n \"requires\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n }\n },\n \"@babel/highlight\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz\",\n \"integrity\": \"sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==\",\n \"requires\": {\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"chalk\": \"^2.4.2\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.0.0\"\n }\n },\n \"@babel/parser\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz\",\n \"integrity\": \"sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==\",\n \"requires\": {\n \"@babel/types\": \"^7.25.6\"\n }\n },\n \"@babel/plugin-bugfix-firefox-class-in-computed-class-key\": {\n \"version\": \"7.25.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz\",\n \"integrity\": \"sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.3\"\n }\n },\n \"@babel/plugin-bugfix-safari-class-field-initializer-scope\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz\",\n \"integrity\": \"sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz\",\n \"integrity\": \"sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz\",\n \"integrity\": \"sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz\",\n \"integrity\": \"sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/plugin-proposal-class-properties\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz\",\n \"integrity\": \"sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n }\n },\n \"@babel/plugin-proposal-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-decorators\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-proposal-nullish-coalescing-operator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz\",\n \"integrity\": \"sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-proposal-numeric-separator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz\",\n \"integrity\": \"sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-proposal-optional-chaining\": {\n \"version\": \"7.21.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz\",\n \"integrity\": \"sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.20.2\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-proposal-private-methods\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz\",\n \"integrity\": \"sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n }\n },\n \"@babel/plugin-proposal-private-property-in-object\": {\n \"version\": \"7.21.0-placeholder-for-preset-env.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz\",\n \"integrity\": \"sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==\",\n \"requires\": {}\n },\n \"@babel/plugin-syntax-async-generators\": {\n \"version\": \"7.8.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz\",\n \"integrity\": \"sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-bigint\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz\",\n \"integrity\": \"sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-class-properties\": {\n \"version\": \"7.12.13\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz\",\n \"integrity\": \"sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.12.13\"\n }\n },\n \"@babel/plugin-syntax-class-static-block\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz\",\n \"integrity\": \"sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-syntax-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-syntax-dynamic-import\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz\",\n \"integrity\": \"sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-export-namespace-from\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz\",\n \"integrity\": \"sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-syntax-flow\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz\",\n \"integrity\": \"sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-syntax-import-assertions\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz\",\n \"integrity\": \"sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-syntax-import-attributes\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz\",\n \"integrity\": \"sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-syntax-import-meta\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz\",\n \"integrity\": \"sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-syntax-json-strings\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz\",\n \"integrity\": \"sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-jsx\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz\",\n \"integrity\": \"sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-syntax-logical-assignment-operators\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz\",\n \"integrity\": \"sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-syntax-nullish-coalescing-operator\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz\",\n \"integrity\": \"sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-numeric-separator\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz\",\n \"integrity\": \"sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-syntax-object-rest-spread\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz\",\n \"integrity\": \"sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-optional-catch-binding\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz\",\n \"integrity\": \"sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-optional-chaining\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz\",\n \"integrity\": \"sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-private-property-in-object\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz\",\n \"integrity\": \"sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-syntax-top-level-await\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz\",\n \"integrity\": \"sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-syntax-typescript\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz\",\n \"integrity\": \"sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-syntax-unicode-sets-regex\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz\",\n \"integrity\": \"sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n }\n },\n \"@babel/plugin-transform-arrow-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-async-generator-functions\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz\",\n \"integrity\": \"sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-remap-async-to-generator\": \"^7.25.0\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/traverse\": \"^7.25.4\"\n }\n },\n \"@babel/plugin-transform-async-to-generator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz\",\n \"integrity\": \"sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-remap-async-to-generator\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-block-scoped-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-block-scoping\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz\",\n \"integrity\": \"sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-class-properties\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz\",\n \"integrity\": \"sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-class-static-block\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz\",\n \"integrity\": \"sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-transform-classes\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz\",\n \"integrity\": \"sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.4\",\n \"globals\": \"^11.1.0\"\n }\n },\n \"@babel/plugin-transform-computed-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/template\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-destructuring\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz\",\n \"integrity\": \"sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-dotall-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-duplicate-keys\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz\",\n \"integrity\": \"sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-duplicate-named-capturing-groups-regex\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz\",\n \"integrity\": \"sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-dynamic-import\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz\",\n \"integrity\": \"sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-exponentiation-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==\",\n \"requires\": {\n \"@babel/helper-builder-binary-assignment-operator-visitor\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-export-namespace-from\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz\",\n \"integrity\": \"sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-flow-strip-types\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz\",\n \"integrity\": \"sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-flow\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-for-of\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz\",\n \"integrity\": \"sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-function-name\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz\",\n \"integrity\": \"sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==\",\n \"requires\": {\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.1\"\n }\n },\n \"@babel/plugin-transform-json-strings\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz\",\n \"integrity\": \"sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-literals\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz\",\n \"integrity\": \"sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-logical-assignment-operators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz\",\n \"integrity\": \"sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-transform-member-expression-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-modules-amd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz\",\n \"integrity\": \"sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-modules-commonjs\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz\",\n \"integrity\": \"sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-simple-access\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-modules-systemjs\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz\",\n \"integrity\": \"sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/plugin-transform-modules-umd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz\",\n \"integrity\": \"sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-named-capturing-groups-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-new-target\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz\",\n \"integrity\": \"sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-nullish-coalescing-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-numeric-separator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz\",\n \"integrity\": \"sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-transform-object-rest-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==\",\n \"requires\": {\n \"@babel/helper-compilation-targets\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-object-super\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz\",\n \"integrity\": \"sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-optional-catch-binding\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz\",\n \"integrity\": \"sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-optional-chaining\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz\",\n \"integrity\": \"sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-parameters\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz\",\n \"integrity\": \"sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-private-methods\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz\",\n \"integrity\": \"sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-private-property-in-object\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz\",\n \"integrity\": \"sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-transform-property-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-react-constant-elements\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz\",\n \"integrity\": \"sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-react-display-name\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz\",\n \"integrity\": \"sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-react-jsx\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz\",\n \"integrity\": \"sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/types\": \"^7.25.2\"\n }\n },\n \"@babel/plugin-transform-react-jsx-development\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz\",\n \"integrity\": \"sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==\",\n \"requires\": {\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-react-pure-annotations\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz\",\n \"integrity\": \"sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-regenerator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz\",\n \"integrity\": \"sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"regenerator-transform\": \"^0.15.2\"\n }\n },\n \"@babel/plugin-transform-reserved-words\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz\",\n \"integrity\": \"sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-runtime\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz\",\n \"integrity\": \"sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/plugin-transform-shorthand-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-sticky-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-template-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-typeof-symbol\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz\",\n \"integrity\": \"sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-typescript\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz\",\n \"integrity\": \"sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-typescript\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-escapes\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz\",\n \"integrity\": \"sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-property-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-sets-regex\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz\",\n \"integrity\": \"sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/preset-env\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz\",\n \"integrity\": \"sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==\",\n \"requires\": {\n \"@babel/compat-data\": \"^7.25.4\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"@babel/plugin-bugfix-firefox-class-in-computed-class-key\": \"^7.25.3\",\n \"@babel/plugin-bugfix-safari-class-field-initializer-scope\": \"^7.25.0\",\n \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": \"^7.25.0\",\n \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": \"^7.24.7\",\n \"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": \"^7.25.0\",\n \"@babel/plugin-proposal-private-property-in-object\": \"7.21.0-placeholder-for-preset-env.2\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-assertions\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\",\n \"@babel/plugin-syntax-unicode-sets-regex\": \"^7.18.6\",\n \"@babel/plugin-transform-arrow-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-async-generator-functions\": \"^7.25.4\",\n \"@babel/plugin-transform-async-to-generator\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoped-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoping\": \"^7.25.0\",\n \"@babel/plugin-transform-class-properties\": \"^7.25.4\",\n \"@babel/plugin-transform-class-static-block\": \"^7.24.7\",\n \"@babel/plugin-transform-classes\": \"^7.25.4\",\n \"@babel/plugin-transform-computed-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-destructuring\": \"^7.24.8\",\n \"@babel/plugin-transform-dotall-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-keys\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-named-capturing-groups-regex\": \"^7.25.0\",\n \"@babel/plugin-transform-dynamic-import\": \"^7.24.7\",\n \"@babel/plugin-transform-exponentiation-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-export-namespace-from\": \"^7.24.7\",\n \"@babel/plugin-transform-for-of\": \"^7.24.7\",\n \"@babel/plugin-transform-function-name\": \"^7.25.1\",\n \"@babel/plugin-transform-json-strings\": \"^7.24.7\",\n \"@babel/plugin-transform-literals\": \"^7.25.2\",\n \"@babel/plugin-transform-logical-assignment-operators\": \"^7.24.7\",\n \"@babel/plugin-transform-member-expression-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-amd\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.8\",\n \"@babel/plugin-transform-modules-systemjs\": \"^7.25.0\",\n \"@babel/plugin-transform-modules-umd\": \"^7.24.7\",\n \"@babel/plugin-transform-named-capturing-groups-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-new-target\": \"^7.24.7\",\n \"@babel/plugin-transform-nullish-coalescing-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-numeric-separator\": \"^7.24.7\",\n \"@babel/plugin-transform-object-rest-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-object-super\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-catch-binding\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.8\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\",\n \"@babel/plugin-transform-private-methods\": \"^7.25.4\",\n \"@babel/plugin-transform-private-property-in-object\": \"^7.24.7\",\n \"@babel/plugin-transform-property-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-regenerator\": \"^7.24.7\",\n \"@babel/plugin-transform-reserved-words\": \"^7.24.7\",\n \"@babel/plugin-transform-shorthand-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-sticky-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-template-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-typeof-symbol\": \"^7.24.8\",\n \"@babel/plugin-transform-unicode-escapes\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-property-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-sets-regex\": \"^7.25.4\",\n \"@babel/preset-modules\": \"0.1.6-no-external-plugins\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"core-js-compat\": \"^3.37.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/preset-modules\": {\n \"version\": \"0.1.6-no-external-plugins\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz\",\n \"integrity\": \"sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@babel/types\": \"^7.4.4\",\n \"esutils\": \"^2.0.2\"\n }\n },\n \"@babel/preset-react\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz\",\n \"integrity\": \"sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-transform-react-display-name\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx-development\": \"^7.24.7\",\n \"@babel/plugin-transform-react-pure-annotations\": \"^7.24.7\"\n }\n },\n \"@babel/preset-typescript\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz\",\n \"integrity\": \"sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.7\",\n \"@babel/plugin-transform-typescript\": \"^7.24.7\"\n }\n },\n \"@babel/regjsgen\": {\n \"version\": \"0.8.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz\",\n \"integrity\": \"sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==\"\n },\n \"@babel/runtime\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz\",\n \"integrity\": \"sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==\",\n \"requires\": {\n \"regenerator-runtime\": \"^0.14.0\"\n }\n },\n \"@babel/template\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz\",\n \"integrity\": \"sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/parser\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n }\n },\n \"@babel/traverse\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz\",\n \"integrity\": \"sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.25.6\",\n \"@babel/parser\": \"^7.25.6\",\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.6\",\n \"debug\": \"^4.3.1\",\n \"globals\": \"^11.1.0\"\n }\n },\n \"@babel/types\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz\",\n \"integrity\": \"sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==\",\n \"requires\": {\n \"@babel/helper-string-parser\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"to-fast-properties\": \"^2.0.0\"\n }\n },\n \"@bcoe/v8-coverage\": {\n \"version\": \"0.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz\",\n \"integrity\": \"sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==\"\n },\n \"@csstools/normalize.css\": {\n \"version\": \"12.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz\",\n \"integrity\": \"sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==\"\n },\n \"@csstools/postcss-cascade-layers\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz\",\n \"integrity\": \"sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==\",\n \"requires\": {\n \"@csstools/selector-specificity\": \"^2.0.2\",\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"@csstools/postcss-color-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz\",\n \"integrity\": \"sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-font-format-keywords\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz\",\n \"integrity\": \"sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-hwb-function\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz\",\n \"integrity\": \"sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-ic-unit\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz\",\n \"integrity\": \"sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-is-pseudo-class\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz\",\n \"integrity\": \"sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==\",\n \"requires\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"@csstools/postcss-nested-calc\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz\",\n \"integrity\": \"sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-normalize-display-values\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz\",\n \"integrity\": \"sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-oklab-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz\",\n \"integrity\": \"sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-progressive-custom-properties\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz\",\n \"integrity\": \"sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-stepped-value-functions\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz\",\n \"integrity\": \"sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-text-decoration-shorthand\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz\",\n \"integrity\": \"sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-trigonometric-functions\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz\",\n \"integrity\": \"sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-unset-value\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz\",\n \"integrity\": \"sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==\",\n \"requires\": {}\n },\n \"@csstools/selector-specificity\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz\",\n \"integrity\": \"sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==\",\n \"requires\": {}\n },\n \"@emotion/babel-plugin\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz\",\n \"integrity\": \"sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.16.7\",\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/serialize\": \"^1.2.0\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"convert-source-map\": \"^1.5.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"find-root\": \"^1.1.0\",\n \"source-map\": \"^0.5.7\",\n \"stylis\": \"4.2.0\"\n },\n \"dependencies\": {\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"\n },\n \"source-map\": {\n \"version\": \"0.5.7\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n \"integrity\": \"sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==\"\n }\n }\n },\n \"@emotion/cache\": {\n \"version\": \"11.13.1\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz\",\n \"integrity\": \"sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==\",\n \"requires\": {\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/sheet\": \"^1.4.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"stylis\": \"4.2.0\"\n }\n },\n \"@emotion/hash\": {\n \"version\": \"0.9.2\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz\",\n \"integrity\": \"sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==\"\n },\n \"@emotion/is-prop-valid\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz\",\n \"integrity\": \"sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==\",\n \"requires\": {\n \"@emotion/memoize\": \"^0.9.0\"\n }\n },\n \"@emotion/memoize\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz\",\n \"integrity\": \"sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==\"\n },\n \"@emotion/react\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/react/-/react-11.13.0.tgz\",\n \"integrity\": \"sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/cache\": \"^11.13.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n }\n },\n \"@emotion/serialize\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.0.tgz\",\n \"integrity\": \"sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA==\",\n \"requires\": {\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/unitless\": \"^0.9.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"@emotion/sheet\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz\",\n \"integrity\": \"sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==\"\n },\n \"@emotion/styled\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz\",\n \"integrity\": \"sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/is-prop-valid\": \"^1.3.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\"\n }\n },\n \"@emotion/unitless\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/unitless/-/unitless-0.9.0.tgz\",\n \"integrity\": \"sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==\"\n },\n \"@emotion/use-insertion-effect-with-fallbacks\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz\",\n \"integrity\": \"sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==\",\n \"requires\": {}\n },\n \"@emotion/utils\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz\",\n \"integrity\": \"sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==\"\n },\n \"@emotion/weak-memoize\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz\",\n \"integrity\": \"sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==\"\n },\n \"@eslint-community/eslint-utils\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n \"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n \"requires\": {\n \"eslint-visitor-keys\": \"^3.3.0\"\n }\n },\n \"@eslint-community/regexpp\": {\n \"version\": \"4.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz\",\n \"integrity\": \"sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==\"\n },\n \"@eslint/eslintrc\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz\",\n \"integrity\": \"sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==\",\n \"requires\": {\n \"ajv\": \"^6.12.4\",\n \"debug\": \"^4.3.2\",\n \"espree\": \"^9.6.0\",\n \"globals\": \"^13.19.0\",\n \"ignore\": \"^5.2.0\",\n \"import-fresh\": \"^3.2.1\",\n \"js-yaml\": \"^4.1.0\",\n \"minimatch\": \"^3.1.2\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\"\n },\n \"globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"requires\": {\n \"type-fest\": \"^0.20.2\"\n }\n },\n \"js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"requires\": {\n \"argparse\": \"^2.0.1\"\n }\n },\n \"type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\"\n }\n }\n },\n \"@eslint/js\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz\",\n \"integrity\": \"sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==\"\n },\n \"@floating-ui/core\": {\n \"version\": \"1.6.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz\",\n \"integrity\": \"sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==\",\n \"peer\": true,\n \"requires\": {\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"@floating-ui/dom\": {\n \"version\": \"1.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.8.tgz\",\n \"integrity\": \"sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==\",\n \"peer\": true,\n \"requires\": {\n \"@floating-ui/core\": \"^1.6.0\",\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"@floating-ui/react-dom\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz\",\n \"integrity\": \"sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==\",\n \"peer\": true,\n \"requires\": {\n \"@floating-ui/dom\": \"^1.0.0\"\n }\n },\n \"@floating-ui/utils\": {\n \"version\": \"0.2.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz\",\n \"integrity\": \"sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==\",\n \"peer\": true\n },\n \"@humanwhocodes/config-array\": {\n \"version\": \"0.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz\",\n \"integrity\": \"sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==\",\n \"requires\": {\n \"@humanwhocodes/object-schema\": \"^2.0.3\",\n \"debug\": \"^4.3.1\",\n \"minimatch\": \"^3.0.5\"\n }\n },\n \"@humanwhocodes/module-importer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n \"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\"\n },\n \"@humanwhocodes/object-schema\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz\",\n \"integrity\": \"sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==\"\n },\n \"@isaacs/cliui\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz\",\n \"integrity\": \"sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==\",\n \"requires\": {\n \"string-width\": \"^5.1.2\",\n \"string-width-cjs\": \"npm:string-width@^4.2.0\",\n \"strip-ansi\": \"^7.0.1\",\n \"strip-ansi-cjs\": \"npm:strip-ansi@^6.0.1\",\n \"wrap-ansi\": \"^8.1.0\",\n \"wrap-ansi-cjs\": \"npm:wrap-ansi@^7.0.0\"\n },\n \"dependencies\": {\n \"ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\"\n },\n \"ansi-styles\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz\",\n \"integrity\": \"sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==\"\n },\n \"string-width\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz\",\n \"integrity\": \"sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==\",\n \"requires\": {\n \"eastasianwidth\": \"^0.2.0\",\n \"emoji-regex\": \"^9.2.2\",\n \"strip-ansi\": \"^7.0.1\"\n }\n },\n \"strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"requires\": {\n \"ansi-regex\": \"^6.0.1\"\n }\n },\n \"wrap-ansi\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz\",\n \"integrity\": \"sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==\",\n \"requires\": {\n \"ansi-styles\": \"^6.1.0\",\n \"string-width\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n }\n }\n }\n },\n \"@istanbuljs/load-nyc-config\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz\",\n \"integrity\": \"sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==\",\n \"requires\": {\n \"camelcase\": \"^5.3.1\",\n \"find-up\": \"^4.1.0\",\n \"get-package-type\": \"^0.1.0\",\n \"js-yaml\": \"^3.13.1\",\n \"resolve-from\": \"^5.0.0\"\n },\n \"dependencies\": {\n \"camelcase\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n \"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\"\n }\n }\n },\n \"@istanbuljs/schema\": {\n \"version\": \"0.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz\",\n \"integrity\": \"sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==\"\n },\n \"@jest/console\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz\",\n \"integrity\": \"sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/core\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz\",\n \"integrity\": \"sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==\",\n \"requires\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/reporters\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-changed-files\": \"^27.5.1\",\n \"jest-config\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-resolve-dependencies\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"jest-watcher\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"rimraf\": \"^3.0.0\",\n \"slash\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/environment\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz\",\n \"integrity\": \"sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==\",\n \"requires\": {\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\"\n }\n },\n \"@jest/fake-timers\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz\",\n \"integrity\": \"sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@sinonjs/fake-timers\": \"^8.0.1\",\n \"@types/node\": \"*\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n }\n },\n \"@jest/globals\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz\",\n \"integrity\": \"sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"expect\": \"^27.5.1\"\n }\n },\n \"@jest/reporters\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz\",\n \"integrity\": \"sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==\",\n \"requires\": {\n \"@bcoe/v8-coverage\": \"^0.2.3\",\n \"@jest/console\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"exit\": \"^0.1.2\",\n \"glob\": \"^7.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"istanbul-lib-instrument\": \"^5.1.0\",\n \"istanbul-lib-report\": \"^3.0.0\",\n \"istanbul-lib-source-maps\": \"^4.0.0\",\n \"istanbul-reports\": \"^3.1.3\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.0\",\n \"string-length\": \"^4.0.1\",\n \"terminal-link\": \"^2.0.0\",\n \"v8-to-istanbul\": \"^8.1.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/schemas\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz\",\n \"integrity\": \"sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==\",\n \"requires\": {\n \"@sinclair/typebox\": \"^0.24.1\"\n }\n },\n \"@jest/source-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz\",\n \"integrity\": \"sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==\",\n \"requires\": {\n \"callsites\": \"^3.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"source-map\": \"^0.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"@jest/test-result\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz\",\n \"integrity\": \"sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==\",\n \"requires\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n }\n },\n \"@jest/test-sequencer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz\",\n \"integrity\": \"sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==\",\n \"requires\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\"\n }\n },\n \"@jest/transform\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz\",\n \"integrity\": \"sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==\",\n \"requires\": {\n \"@babel/core\": \"^7.1.0\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"chalk\": \"^4.0.0\",\n \"convert-source-map\": \"^1.4.0\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"pirates\": \"^4.0.4\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\",\n \"write-file-atomic\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/types\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz\",\n \"integrity\": \"sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==\",\n \"requires\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^16.0.0\",\n \"chalk\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jridgewell/gen-mapping\": {\n \"version\": \"0.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz\",\n \"integrity\": \"sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==\",\n \"requires\": {\n \"@jridgewell/set-array\": \"^1.2.1\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.10\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\"\n },\n \"@jridgewell/set-array\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz\",\n \"integrity\": \"sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==\"\n },\n \"@jridgewell/source-map\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz\",\n \"integrity\": \"sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==\",\n \"requires\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\"\n }\n },\n \"@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz\",\n \"integrity\": \"sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==\"\n },\n \"@jridgewell/trace-mapping\": {\n \"version\": \"0.3.25\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz\",\n \"integrity\": \"sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==\",\n \"requires\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"@leichtgewicht/ip-codec\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz\",\n \"integrity\": \"sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==\"\n },\n \"@mui/base\": {\n \"version\": \"5.0.0-beta.40\",\n \"resolved\": \"https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz\",\n \"integrity\": \"sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==\",\n \"peer\": true,\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@floating-ui/react-dom\": \"^2.0.8\",\n \"@mui/types\": \"^7.2.14\",\n \"@mui/utils\": \"^5.15.14\",\n \"@popperjs/core\": \"^2.11.8\",\n \"clsx\": \"^2.1.0\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/core-downloads-tracker\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.5.tgz\",\n \"integrity\": \"sha512-ziFn1oPm6VjvHQcdGcAO+fXvOQEgieIj0BuSqcltFU+JXIxjPdVYNTdn2HU7/Ak5Gabk6k2u7+9PV7oZ6JT5sA==\"\n },\n \"@mui/icons-material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.5.tgz\",\n \"integrity\": \"sha512-bn88xxU/J9UV0s6+eutq7o3TTOrOlbCX+KshFb8kxgIxJZZfYz3JbAXVMivvoMF4Md6jCVUzM9HEkf4Ajab4tw==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\"\n }\n },\n \"@mui/material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/material/-/material-5.16.5.tgz\",\n \"integrity\": \"sha512-eQrjjg4JeczXvh/+8yvJkxWIiKNHVptB/AqpsKfZBWp5mUD5U3VsjODMuUl1K2BSq0omV3CiO/mQmWSSMKSmaA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/core-downloads-tracker\": \"^5.16.5\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"@popperjs/core\": \"^2.11.8\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\",\n \"react-transition-group\": \"^4.4.5\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n }\n }\n },\n \"@mui/private-theming\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.5.tgz\",\n \"integrity\": \"sha512-CSLg0YkpDqg0aXOxtjo3oTMd3XWMxvNb5d0v4AYVqwOltU8q6GvnZjhWyCLjGSCrcgfwm6/VDjaKLPlR14wxIA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/utils\": \"^5.16.5\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/styled-engine\": {\n \"version\": \"5.16.4\",\n \"resolved\": \"https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.4.tgz\",\n \"integrity\": \"sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@emotion/cache\": \"^11.11.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/system\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/system/-/system-5.16.5.tgz\",\n \"integrity\": \"sha512-uzIUGdrWddUx1HPxW4+B2o4vpgKyRxGe/8BxbfXVDPNPHX75c782TseoCnR/VyfnZJfqX87GcxDmnZEE1c031g==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/private-theming\": \"^5.16.5\",\n \"@mui/styled-engine\": \"^5.16.4\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/types\": {\n \"version\": \"7.2.15\",\n \"resolved\": \"https://registry.npmjs.org/@mui/types/-/types-7.2.15.tgz\",\n \"integrity\": \"sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==\",\n \"requires\": {}\n },\n \"@mui/utils\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/utils/-/utils-5.16.5.tgz\",\n \"integrity\": \"sha512-CwhcA9y44XwK7k2joL3Y29mRUnoBt+gOZZdGyw7YihbEwEErJYBtDwbZwVgH68zAljGe/b+Kd5bzfl63Gi3R2A==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/types\": \"^7.2.15\",\n \"@types/prop-types\": \"^15.7.12\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n }\n }\n },\n \"@mui/x-date-pickers\": {\n \"version\": \"7.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.11.1.tgz\",\n \"integrity\": \"sha512-CflouzTNSv0YeOA8iiYpJMtqGlwGC8LI9EE9egDGhatR9Mn5geRDTXsm0rRG/4pMOfaRxyJc6Yzr/axBhEXM7w==\",\n \"peer\": true,\n \"requires\": {\n \"@babel/runtime\": \"^7.24.8\",\n \"@mui/base\": \"^5.0.0-beta.40\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/utils\": \"^5.16.5\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-transition-group\": \"^4.4.5\"\n }\n },\n \"@nicolo-ribaudo/eslint-scope-5-internals\": {\n \"version\": \"5.1.1-v1\",\n \"resolved\": \"https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz\",\n \"integrity\": \"sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==\",\n \"requires\": {\n \"eslint-scope\": \"5.1.1\"\n },\n \"dependencies\": {\n \"eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n }\n }\n },\n \"@nodelib/fs.scandir\": {\n \"version\": \"2.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n \"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n \"requires\": {\n \"@nodelib/fs.stat\": \"2.0.5\",\n \"run-parallel\": \"^1.1.9\"\n }\n },\n \"@nodelib/fs.stat\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n \"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\"\n },\n \"@nodelib/fs.walk\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n \"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n \"requires\": {\n \"@nodelib/fs.scandir\": \"2.1.5\",\n \"fastq\": \"^1.6.0\"\n }\n },\n \"@pkgjs/parseargs\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz\",\n \"integrity\": \"sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==\",\n \"optional\": true\n },\n \"@pmmmwh/react-refresh-webpack-plugin\": {\n \"version\": \"0.5.15\",\n \"resolved\": \"https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz\",\n \"integrity\": \"sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==\",\n \"requires\": {\n \"ansi-html\": \"^0.0.9\",\n \"core-js-pure\": \"^3.23.3\",\n \"error-stack-parser\": \"^2.0.6\",\n \"html-entities\": \"^2.1.0\",\n \"loader-utils\": \"^2.0.4\",\n \"schema-utils\": \"^4.2.0\",\n \"source-map\": \"^0.7.3\"\n }\n },\n \"@popperjs/core\": {\n \"version\": \"2.11.8\",\n \"resolved\": \"https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz\",\n \"integrity\": \"sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==\"\n },\n \"@rollup/plugin-babel\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz\",\n \"integrity\": \"sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.10.4\",\n \"@rollup/pluginutils\": \"^3.1.0\"\n }\n },\n \"@rollup/plugin-node-resolve\": {\n \"version\": \"11.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz\",\n \"integrity\": \"sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==\",\n \"requires\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"@types/resolve\": \"1.17.1\",\n \"builtin-modules\": \"^3.1.0\",\n \"deepmerge\": \"^4.2.2\",\n \"is-module\": \"^1.0.0\",\n \"resolve\": \"^1.19.0\"\n }\n },\n \"@rollup/plugin-replace\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz\",\n \"integrity\": \"sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==\",\n \"requires\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"magic-string\": \"^0.25.7\"\n }\n },\n \"@rollup/pluginutils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz\",\n \"integrity\": \"sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==\",\n \"requires\": {\n \"@types/estree\": \"0.0.39\",\n \"estree-walker\": \"^1.0.1\",\n \"picomatch\": \"^2.2.2\"\n },\n \"dependencies\": {\n \"@types/estree\": {\n \"version\": \"0.0.39\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz\",\n \"integrity\": \"sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==\"\n }\n }\n },\n \"@rtsao/scc\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz\",\n \"integrity\": \"sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==\"\n },\n \"@rushstack/eslint-patch\": {\n \"version\": \"1.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz\",\n \"integrity\": \"sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==\"\n },\n \"@sinclair/typebox\": {\n \"version\": \"0.24.51\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz\",\n \"integrity\": \"sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==\"\n },\n \"@sinonjs/commons\": {\n \"version\": \"1.8.6\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz\",\n \"integrity\": \"sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==\",\n \"requires\": {\n \"type-detect\": \"4.0.8\"\n }\n },\n \"@sinonjs/fake-timers\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz\",\n \"integrity\": \"sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==\",\n \"requires\": {\n \"@sinonjs/commons\": \"^1.7.0\"\n }\n },\n \"@surma/rollup-plugin-off-main-thread\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz\",\n \"integrity\": \"sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==\",\n \"requires\": {\n \"ejs\": \"^3.1.6\",\n \"json5\": \"^2.2.0\",\n \"magic-string\": \"^0.25.0\",\n \"string.prototype.matchall\": \"^4.0.6\"\n }\n },\n \"@svgr/babel-plugin-add-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==\"\n },\n \"@svgr/babel-plugin-remove-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==\"\n },\n \"@svgr/babel-plugin-remove-jsx-empty-expression\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz\",\n \"integrity\": \"sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==\"\n },\n \"@svgr/babel-plugin-replace-jsx-attribute-value\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz\",\n \"integrity\": \"sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==\"\n },\n \"@svgr/babel-plugin-svg-dynamic-title\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz\",\n \"integrity\": \"sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==\"\n },\n \"@svgr/babel-plugin-svg-em-dimensions\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz\",\n \"integrity\": \"sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==\"\n },\n \"@svgr/babel-plugin-transform-react-native-svg\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz\",\n \"integrity\": \"sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==\"\n },\n \"@svgr/babel-plugin-transform-svg-component\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz\",\n \"integrity\": \"sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==\"\n },\n \"@svgr/babel-preset\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz\",\n \"integrity\": \"sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==\",\n \"requires\": {\n \"@svgr/babel-plugin-add-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-empty-expression\": \"^5.0.1\",\n \"@svgr/babel-plugin-replace-jsx-attribute-value\": \"^5.0.1\",\n \"@svgr/babel-plugin-svg-dynamic-title\": \"^5.4.0\",\n \"@svgr/babel-plugin-svg-em-dimensions\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-react-native-svg\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-svg-component\": \"^5.5.0\"\n }\n },\n \"@svgr/core\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz\",\n \"integrity\": \"sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==\",\n \"requires\": {\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"camelcase\": \"^6.2.0\",\n \"cosmiconfig\": \"^7.0.0\"\n }\n },\n \"@svgr/hast-util-to-babel-ast\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz\",\n \"integrity\": \"sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==\",\n \"requires\": {\n \"@babel/types\": \"^7.12.6\"\n }\n },\n \"@svgr/plugin-jsx\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz\",\n \"integrity\": \"sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==\",\n \"requires\": {\n \"@babel/core\": \"^7.12.3\",\n \"@svgr/babel-preset\": \"^5.5.0\",\n \"@svgr/hast-util-to-babel-ast\": \"^5.5.0\",\n \"svg-parser\": \"^2.0.2\"\n }\n },\n \"@svgr/plugin-svgo\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz\",\n \"integrity\": \"sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==\",\n \"requires\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"svgo\": \"^1.2.2\"\n }\n },\n \"@svgr/webpack\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz\",\n \"integrity\": \"sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==\",\n \"requires\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/plugin-transform-react-constant-elements\": \"^7.12.1\",\n \"@babel/preset-env\": \"^7.12.1\",\n \"@babel/preset-react\": \"^7.12.5\",\n \"@svgr/core\": \"^5.5.0\",\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"@svgr/plugin-svgo\": \"^5.5.0\",\n \"loader-utils\": \"^2.0.0\"\n }\n },\n \"@tanstack/match-sorter-utils\": {\n \"version\": \"8.15.1\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.15.1.tgz\",\n \"integrity\": \"sha512-PnVV3d2poenUM31ZbZi/yXkBu3J7kd5k2u51CGwwNojag451AjTH9N6n41yjXz2fpLeewleyLBmNS6+HcGDlXw==\",\n \"requires\": {\n \"remove-accents\": \"0.5.0\"\n }\n },\n \"@tanstack/react-table\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.19.3.tgz\",\n \"integrity\": \"sha512-MtgPZc4y+cCRtU16y1vh1myuyZ2OdkWgMEBzyjYsoMWMicKZGZvcDnub3Zwb6XF2pj9iRMvm1SO1n57lS0vXLw==\",\n \"requires\": {\n \"@tanstack/table-core\": \"8.19.3\"\n }\n },\n \"@tanstack/react-virtual\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.8.3.tgz\",\n \"integrity\": \"sha512-9ICwbDUUzN99CJIGc373i8NLoj6zFTKI2Hlcmo0+lCSAhPQ5mxq4dGOMKmLYoEFyHcGQ64Bd6ZVbnPpM6lNK5w==\",\n \"requires\": {\n \"@tanstack/virtual-core\": \"3.8.3\"\n }\n },\n \"@tanstack/table-core\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.19.3.tgz\",\n \"integrity\": \"sha512-IqREj9ADoml9zCAouIG/5kCGoyIxPFdqdyoxis9FisXFi5vT+iYfEfLosq4xkU/iDbMcEuAj+X8dWRLvKYDNoQ==\"\n },\n \"@tanstack/virtual-core\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.8.3.tgz\",\n \"integrity\": \"sha512-vd2A2TnM5lbnWZnHi9B+L2gPtkSeOtJOAw358JqokIH1+v2J7vUAzFVPwB/wrye12RFOurffXu33plm4uQ+JBQ==\"\n },\n \"@testing-library/dom\": {\n \"version\": \"10.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz\",\n \"integrity\": \"sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==\",\n \"peer\": true,\n \"requires\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.3.0\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"peer\": true,\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"aria-query\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz\",\n \"integrity\": \"sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==\",\n \"peer\": true,\n \"requires\": {\n \"dequal\": \"^2.0.3\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"peer\": true,\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"peer\": true,\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"peer\": true\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"peer\": true\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"peer\": true,\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@testing-library/jest-dom\": {\n \"version\": \"5.17.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz\",\n \"integrity\": \"sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==\",\n \"requires\": {\n \"@adobe/css-tools\": \"^4.0.1\",\n \"@babel/runtime\": \"^7.9.2\",\n \"@types/testing-library__jest-dom\": \"^5.9.1\",\n \"aria-query\": \"^5.0.0\",\n \"chalk\": \"^3.0.0\",\n \"css.escape\": \"^1.5.1\",\n \"dom-accessibility-api\": \"^0.5.6\",\n \"lodash\": \"^4.17.15\",\n \"redent\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz\",\n \"integrity\": \"sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@testing-library/react\": {\n \"version\": \"13.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz\",\n \"integrity\": \"sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"@testing-library/dom\": \"^8.5.0\",\n \"@types/react-dom\": \"^18.0.0\"\n },\n \"dependencies\": {\n \"@testing-library/dom\": {\n \"version\": \"8.20.1\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz\",\n \"integrity\": \"sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.1.3\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n }\n },\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@testing-library/user-event\": {\n \"version\": \"13.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz\",\n \"integrity\": \"sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.12.5\"\n }\n },\n \"@tootallnate/once\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz\",\n \"integrity\": \"sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==\"\n },\n \"@trysound/sax\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz\",\n \"integrity\": \"sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==\"\n },\n \"@tweenjs/tween.js\": {\n \"version\": \"23.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz\",\n \"integrity\": \"sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==\"\n },\n \"@types/aria-query\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz\",\n \"integrity\": \"sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==\"\n },\n \"@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"requires\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"@types/babel__generator\": {\n \"version\": \"7.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz\",\n \"integrity\": \"sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==\",\n \"requires\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"requires\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"@types/babel__traverse\": {\n \"version\": \"7.20.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz\",\n \"integrity\": \"sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==\",\n \"requires\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"@types/body-parser\": {\n \"version\": \"1.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz\",\n \"integrity\": \"sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==\",\n \"requires\": {\n \"@types/connect\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"@types/bonjour\": {\n \"version\": \"3.5.13\",\n \"resolved\": \"https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz\",\n \"integrity\": \"sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/connect\": {\n \"version\": \"3.4.38\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz\",\n \"integrity\": \"sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/connect-history-api-fallback\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz\",\n \"integrity\": \"sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==\",\n \"requires\": {\n \"@types/express-serve-static-core\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"@types/eslint\": {\n \"version\": \"8.56.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz\",\n \"integrity\": \"sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==\",\n \"requires\": {\n \"@types/estree\": \"*\",\n \"@types/json-schema\": \"*\"\n }\n },\n \"@types/estree\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz\",\n \"integrity\": \"sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==\"\n },\n \"@types/express\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz\",\n \"integrity\": \"sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==\",\n \"requires\": {\n \"@types/body-parser\": \"*\",\n \"@types/express-serve-static-core\": \"^4.17.33\",\n \"@types/qs\": \"*\",\n \"@types/serve-static\": \"*\"\n }\n },\n \"@types/express-serve-static-core\": {\n \"version\": \"4.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz\",\n \"integrity\": \"sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"@types/qs\": \"*\",\n \"@types/range-parser\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"@types/graceful-fs\": {\n \"version\": \"4.1.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz\",\n \"integrity\": \"sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==\"\n },\n \"@types/http-errors\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz\",\n \"integrity\": \"sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==\"\n },\n \"@types/http-proxy\": {\n \"version\": \"1.17.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz\",\n \"integrity\": \"sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/istanbul-lib-coverage\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz\",\n \"integrity\": \"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==\"\n },\n \"@types/istanbul-lib-report\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz\",\n \"integrity\": \"sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==\",\n \"requires\": {\n \"@types/istanbul-lib-coverage\": \"*\"\n }\n },\n \"@types/istanbul-reports\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz\",\n \"integrity\": \"sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==\",\n \"requires\": {\n \"@types/istanbul-lib-report\": \"*\"\n }\n },\n \"@types/jest\": {\n \"version\": \"27.5.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz\",\n \"integrity\": \"sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==\",\n \"requires\": {\n \"jest-matcher-utils\": \"^27.0.0\",\n \"pretty-format\": \"^27.0.0\"\n }\n },\n \"@types/json-schema\": {\n \"version\": \"7.0.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz\",\n \"integrity\": \"sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==\"\n },\n \"@types/json5\": {\n \"version\": \"0.0.29\",\n \"resolved\": \"https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz\",\n \"integrity\": \"sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\"\n },\n \"@types/mime\": {\n \"version\": \"1.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz\",\n \"integrity\": \"sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==\"\n },\n \"@types/node\": {\n \"version\": \"16.18.104\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-16.18.104.tgz\",\n \"integrity\": \"sha512-OF3keVCbfPlkzxnnDBUZJn1RiCJzKeadjiW0xTEb0G1SUJ5gDVb3qnzZr2T4uIFvsbKJbXy1v2DN7e2zaEY7jQ==\"\n },\n \"@types/node-forge\": {\n \"version\": \"1.3.11\",\n \"resolved\": \"https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz\",\n \"integrity\": \"sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/parse-json\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz\",\n \"integrity\": \"sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==\"\n },\n \"@types/prettier\": {\n \"version\": \"2.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz\",\n \"integrity\": \"sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==\"\n },\n \"@types/prop-types\": {\n \"version\": \"15.7.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz\",\n \"integrity\": \"sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==\"\n },\n \"@types/q\": {\n \"version\": \"1.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz\",\n \"integrity\": \"sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==\"\n },\n \"@types/qs\": {\n \"version\": \"6.9.16\",\n \"resolved\": \"https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz\",\n \"integrity\": \"sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==\"\n },\n \"@types/range-parser\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz\",\n \"integrity\": \"sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==\"\n },\n \"@types/react\": {\n \"version\": \"18.3.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz\",\n \"integrity\": \"sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==\",\n \"requires\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"@types/react-dom\": {\n \"version\": \"18.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz\",\n \"integrity\": \"sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==\",\n \"requires\": {\n \"@types/react\": \"*\"\n }\n },\n \"@types/react-table\": {\n \"version\": \"7.7.20\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-table/-/react-table-7.7.20.tgz\",\n \"integrity\": \"sha512-ahMp4pmjVlnExxNwxyaDrFgmKxSbPwU23sGQw2gJK4EhCvnvmib2s/O/+y1dfV57dXOwpr2plfyBol+vEHbi2w==\",\n \"dev\": true,\n \"requires\": {\n \"@types/react\": \"*\"\n }\n },\n \"@types/react-transition-group\": {\n \"version\": \"4.4.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz\",\n \"integrity\": \"sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==\",\n \"requires\": {\n \"@types/react\": \"*\"\n }\n },\n \"@types/resolve\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz\",\n \"integrity\": \"sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/retry\": {\n \"version\": \"0.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz\",\n \"integrity\": \"sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==\"\n },\n \"@types/semver\": {\n \"version\": \"7.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz\",\n \"integrity\": \"sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==\"\n },\n \"@types/send\": {\n \"version\": \"0.17.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz\",\n \"integrity\": \"sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==\",\n \"requires\": {\n \"@types/mime\": \"^1\",\n \"@types/node\": \"*\"\n }\n },\n \"@types/serve-index\": {\n \"version\": \"1.9.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz\",\n \"integrity\": \"sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==\",\n \"requires\": {\n \"@types/express\": \"*\"\n }\n },\n \"@types/serve-static\": {\n \"version\": \"1.15.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz\",\n \"integrity\": \"sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==\",\n \"requires\": {\n \"@types/http-errors\": \"*\",\n \"@types/node\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"@types/sockjs\": {\n \"version\": \"0.3.36\",\n \"resolved\": \"https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz\",\n \"integrity\": \"sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/stack-utils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz\",\n \"integrity\": \"sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==\"\n },\n \"@types/stats.js\": {\n \"version\": \"0.17.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz\",\n \"integrity\": \"sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==\",\n \"dev\": true\n },\n \"@types/testing-library__jest-dom\": {\n \"version\": \"5.14.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz\",\n \"integrity\": \"sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==\",\n \"requires\": {\n \"@types/jest\": \"*\"\n }\n },\n \"@types/three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-OCd2Uv/8/4TbmSaIRFawrCOnDMLdpaa+QGJdhlUBmdfbHjLY8k6uFc0tde2/UvcaHQ6NtLl28onj/vJfofV+Tg==\",\n \"dev\": true,\n \"requires\": {\n \"@tweenjs/tween.js\": \"~23.1.2\",\n \"@types/stats.js\": \"*\",\n \"@types/webxr\": \"*\",\n \"fflate\": \"~0.8.2\",\n \"meshoptimizer\": \"~0.18.1\"\n }\n },\n \"@types/trusted-types\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz\",\n \"integrity\": \"sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==\"\n },\n \"@types/webxr\": {\n \"version\": \"0.5.19\",\n \"resolved\": \"https://registry.npmjs.org/@types/webxr/-/webxr-0.5.19.tgz\",\n \"integrity\": \"sha512-4hxA+NwohSgImdTSlPXEqDqqFktNgmTXQ05ff1uWam05tNGroCMp4G+4XVl6qWm1p7GQ/9oD41kAYsSssF6Mzw==\",\n \"dev\": true\n },\n \"@types/ws\": {\n \"version\": \"8.5.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz\",\n \"integrity\": \"sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/yargs\": {\n \"version\": \"16.0.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz\",\n \"integrity\": \"sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==\",\n \"requires\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"@types/yargs-parser\": {\n \"version\": \"21.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz\",\n \"integrity\": \"sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==\"\n },\n \"@typescript-eslint/eslint-plugin\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz\",\n \"integrity\": \"sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==\",\n \"requires\": {\n \"@eslint-community/regexpp\": \"^4.4.0\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/type-utils\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"natural-compare-lite\": \"^1.4.0\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n }\n },\n \"@typescript-eslint/experimental-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==\",\n \"requires\": {\n \"@typescript-eslint/utils\": \"5.62.0\"\n }\n },\n \"@typescript-eslint/parser\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz\",\n \"integrity\": \"sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==\",\n \"requires\": {\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"debug\": \"^4.3.4\"\n }\n },\n \"@typescript-eslint/scope-manager\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz\",\n \"integrity\": \"sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==\",\n \"requires\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\"\n }\n },\n \"@typescript-eslint/type-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==\",\n \"requires\": {\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"tsutils\": \"^3.21.0\"\n }\n },\n \"@typescript-eslint/types\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz\",\n \"integrity\": \"sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==\"\n },\n \"@typescript-eslint/typescript-estree\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz\",\n \"integrity\": \"sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==\",\n \"requires\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"globby\": \"^11.1.0\",\n \"is-glob\": \"^4.0.3\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n }\n },\n \"@typescript-eslint/utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz\",\n \"integrity\": \"sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==\",\n \"requires\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@types/json-schema\": \"^7.0.9\",\n \"@types/semver\": \"^7.3.12\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"eslint-scope\": \"^5.1.1\",\n \"semver\": \"^7.3.7\"\n },\n \"dependencies\": {\n \"eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n }\n }\n },\n \"@typescript-eslint/visitor-keys\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz\",\n \"integrity\": \"sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==\",\n \"requires\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"eslint-visitor-keys\": \"^3.3.0\"\n }\n },\n \"@ungap/structured-clone\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz\",\n \"integrity\": \"sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==\"\n },\n \"@webassemblyjs/ast\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz\",\n \"integrity\": \"sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==\",\n \"requires\": {\n \"@webassemblyjs/helper-numbers\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\"\n }\n },\n \"@webassemblyjs/floating-point-hex-parser\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz\",\n \"integrity\": \"sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==\"\n },\n \"@webassemblyjs/helper-api-error\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz\",\n \"integrity\": \"sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==\"\n },\n \"@webassemblyjs/helper-buffer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz\",\n \"integrity\": \"sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==\"\n },\n \"@webassemblyjs/helper-numbers\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz\",\n \"integrity\": \"sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==\",\n \"requires\": {\n \"@webassemblyjs/floating-point-hex-parser\": \"1.11.6\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"@webassemblyjs/helper-wasm-bytecode\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz\",\n \"integrity\": \"sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==\"\n },\n \"@webassemblyjs/helper-wasm-section\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz\",\n \"integrity\": \"sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\"\n }\n },\n \"@webassemblyjs/ieee754\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz\",\n \"integrity\": \"sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==\",\n \"requires\": {\n \"@xtuc/ieee754\": \"^1.2.0\"\n }\n },\n \"@webassemblyjs/leb128\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz\",\n \"integrity\": \"sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==\",\n \"requires\": {\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"@webassemblyjs/utf8\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz\",\n \"integrity\": \"sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==\"\n },\n \"@webassemblyjs/wasm-edit\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz\",\n \"integrity\": \"sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-section\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-opt\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\",\n \"@webassemblyjs/wast-printer\": \"1.12.1\"\n }\n },\n \"@webassemblyjs/wasm-gen\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz\",\n \"integrity\": \"sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"@webassemblyjs/wasm-opt\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz\",\n \"integrity\": \"sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\"\n }\n },\n \"@webassemblyjs/wasm-parser\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz\",\n \"integrity\": \"sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"@webassemblyjs/wast-printer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz\",\n \"integrity\": \"sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"@xtuc/ieee754\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz\",\n \"integrity\": \"sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==\"\n },\n \"@xtuc/long\": {\n \"version\": \"4.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz\",\n \"integrity\": \"sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==\"\n },\n \"3d-force-graph\": {\n \"version\": \"1.73.3\",\n \"resolved\": \"https://registry.npmjs.org/3d-force-graph/-/3d-force-graph-1.73.3.tgz\",\n \"integrity\": \"sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==\",\n \"requires\": {\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"three\": \">=0.118 <1\",\n \"three-forcegraph\": \"1\",\n \"three-render-objects\": \"^1.29\"\n }\n },\n \"abab\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/abab/-/abab-2.0.6.tgz\",\n \"integrity\": \"sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==\"\n },\n \"accepts\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz\",\n \"integrity\": \"sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==\",\n \"requires\": {\n \"mime-types\": \"~2.1.34\",\n \"negotiator\": \"0.6.3\"\n }\n },\n \"accessor-fn\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.1.tgz\",\n \"integrity\": \"sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==\"\n },\n \"acorn\": {\n \"version\": \"8.12.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz\",\n \"integrity\": \"sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==\"\n },\n \"acorn-globals\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz\",\n \"integrity\": \"sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==\",\n \"requires\": {\n \"acorn\": \"^7.1.1\",\n \"acorn-walk\": \"^7.1.1\"\n },\n \"dependencies\": {\n \"acorn\": {\n \"version\": \"7.4.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz\",\n \"integrity\": \"sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\"\n }\n }\n },\n \"acorn-import-attributes\": {\n \"version\": \"1.9.5\",\n \"resolved\": \"https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz\",\n \"integrity\": \"sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==\",\n \"requires\": {}\n },\n \"acorn-jsx\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n \"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n \"requires\": {}\n },\n \"acorn-walk\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz\",\n \"integrity\": \"sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\"\n },\n \"address\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/address/-/address-1.2.2.tgz\",\n \"integrity\": \"sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==\"\n },\n \"adjust-sourcemap-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==\",\n \"requires\": {\n \"loader-utils\": \"^2.0.0\",\n \"regex-parser\": \"^2.2.11\"\n }\n },\n \"agent-base\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz\",\n \"integrity\": \"sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==\",\n \"requires\": {\n \"debug\": \"4\"\n }\n },\n \"ajv\": {\n \"version\": \"6.12.6\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz\",\n \"integrity\": \"sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.1\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"json-schema-traverse\": \"^0.4.1\",\n \"uri-js\": \"^4.2.2\"\n }\n },\n \"ajv-formats\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz\",\n \"integrity\": \"sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==\",\n \"requires\": {\n \"ajv\": \"^8.0.0\"\n },\n \"dependencies\": {\n \"ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n }\n },\n \"json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\"\n }\n }\n },\n \"ajv-keywords\": {\n \"version\": \"3.5.2\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz\",\n \"integrity\": \"sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==\",\n \"requires\": {}\n },\n \"ansi-escapes\": {\n \"version\": \"4.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",\n \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==\",\n \"requires\": {\n \"type-fest\": \"^0.21.3\"\n }\n },\n \"ansi-html\": {\n \"version\": \"0.0.9\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz\",\n \"integrity\": \"sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==\"\n },\n \"ansi-html-community\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz\",\n \"integrity\": \"sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==\"\n },\n \"ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\"\n },\n \"ansi-styles\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n \"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n \"requires\": {\n \"color-convert\": \"^1.9.0\"\n }\n },\n \"any-promise\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz\",\n \"integrity\": \"sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==\"\n },\n \"anymatch\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz\",\n \"integrity\": \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\",\n \"requires\": {\n \"normalize-path\": \"^3.0.0\",\n \"picomatch\": \"^2.0.4\"\n }\n },\n \"arg\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/arg/-/arg-5.0.2.tgz\",\n \"integrity\": \"sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\"\n },\n \"argparse\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n \"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n \"requires\": {\n \"sprintf-js\": \"~1.0.2\"\n }\n },\n \"aria-query\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz\",\n \"integrity\": \"sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==\",\n \"requires\": {\n \"deep-equal\": \"^2.0.5\"\n }\n },\n \"array-buffer-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.5\",\n \"is-array-buffer\": \"^3.0.4\"\n }\n },\n \"array-flatten\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n \"integrity\": \"sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==\"\n },\n \"array-includes\": {\n \"version\": \"3.1.8\",\n \"resolved\": \"https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz\",\n \"integrity\": \"sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"is-string\": \"^1.0.7\"\n }\n },\n \"array-union\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz\",\n \"integrity\": \"sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==\",\n \"dev\": true,\n \"requires\": {\n \"array-uniq\": \"^1.0.1\"\n }\n },\n \"array-uniq\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz\",\n \"integrity\": \"sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==\",\n \"dev\": true\n },\n \"array.prototype.findlast\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz\",\n \"integrity\": \"sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n }\n },\n \"array.prototype.findlastindex\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz\",\n \"integrity\": \"sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n }\n },\n \"array.prototype.flat\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz\",\n \"integrity\": \"sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n }\n },\n \"array.prototype.flatmap\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz\",\n \"integrity\": \"sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n }\n },\n \"array.prototype.reduce\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz\",\n \"integrity\": \"sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-array-method-boxes-properly\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"is-string\": \"^1.0.7\"\n }\n },\n \"array.prototype.tosorted\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz\",\n \"integrity\": \"sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n }\n },\n \"arraybuffer.prototype.slice\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz\",\n \"integrity\": \"sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==\",\n \"requires\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.22.3\",\n \"es-errors\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.3\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-shared-array-buffer\": \"^1.0.2\"\n }\n },\n \"asap\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n \"integrity\": \"sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==\"\n },\n \"ast-types-flow\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz\",\n \"integrity\": \"sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==\"\n },\n \"async\": {\n \"version\": \"3.2.5\",\n \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.5.tgz\",\n \"integrity\": \"sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==\"\n },\n \"asynckit\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==\"\n },\n \"at-least-node\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",\n \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==\"\n },\n \"attr-accept\": {\n \"version\": \"2.2.2\",\n \"resolved\": \"https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz\",\n \"integrity\": \"sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==\"\n },\n \"autoprefixer\": {\n \"version\": \"10.4.20\",\n \"resolved\": \"https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz\",\n \"integrity\": \"sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==\",\n \"requires\": {\n \"browserslist\": \"^4.23.3\",\n \"caniuse-lite\": \"^1.0.30001646\",\n \"fraction.js\": \"^4.3.7\",\n \"normalize-range\": \"^0.1.2\",\n \"picocolors\": \"^1.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"available-typed-arrays\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz\",\n \"integrity\": \"sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==\",\n \"requires\": {\n \"possible-typed-array-names\": \"^1.0.0\"\n }\n },\n \"axe-core\": {\n \"version\": \"4.10.0\",\n \"resolved\": \"https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz\",\n \"integrity\": \"sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==\"\n },\n \"axios\": {\n \"version\": \"1.7.7\",\n \"resolved\": \"https://registry.npmjs.org/axios/-/axios-1.7.7.tgz\",\n \"integrity\": \"sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==\",\n \"requires\": {\n \"follow-redirects\": \"^1.15.6\",\n \"form-data\": \"^4.0.0\",\n \"proxy-from-env\": \"^1.1.0\"\n },\n \"dependencies\": {\n \"form-data\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz\",\n \"integrity\": \"sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==\",\n \"requires\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n }\n }\n }\n },\n \"axobject-query\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz\",\n \"integrity\": \"sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==\"\n },\n \"babel-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==\",\n \"requires\": {\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__core\": \"^7.1.14\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"babel-preset-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"babel-loader\": {\n \"version\": \"8.4.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz\",\n \"integrity\": \"sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==\",\n \"requires\": {\n \"find-cache-dir\": \"^3.3.1\",\n \"loader-utils\": \"^2.0.4\",\n \"make-dir\": \"^3.1.0\",\n \"schema-utils\": \"^2.6.5\"\n },\n \"dependencies\": {\n \"schema-utils\": {\n \"version\": \"2.7.1\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz\",\n \"integrity\": \"sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.5\",\n \"ajv\": \"^6.12.4\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"babel-plugin-istanbul\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz\",\n \"integrity\": \"sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@istanbuljs/load-nyc-config\": \"^1.0.0\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-instrument\": \"^5.0.4\",\n \"test-exclude\": \"^6.0.0\"\n }\n },\n \"babel-plugin-jest-hoist\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz\",\n \"integrity\": \"sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==\",\n \"requires\": {\n \"@babel/template\": \"^7.3.3\",\n \"@babel/types\": \"^7.3.3\",\n \"@types/babel__core\": \"^7.0.0\",\n \"@types/babel__traverse\": \"^7.0.6\"\n }\n },\n \"babel-plugin-macros\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz\",\n \"integrity\": \"sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"cosmiconfig\": \"^7.0.0\",\n \"resolve\": \"^1.19.0\"\n }\n },\n \"babel-plugin-named-asset-import\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz\",\n \"integrity\": \"sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==\",\n \"requires\": {}\n },\n \"babel-plugin-polyfill-corejs2\": {\n \"version\": \"0.4.11\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz\",\n \"integrity\": \"sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==\",\n \"requires\": {\n \"@babel/compat-data\": \"^7.22.6\",\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"babel-plugin-polyfill-corejs3\": {\n \"version\": \"0.10.6\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz\",\n \"integrity\": \"sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==\",\n \"requires\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"core-js-compat\": \"^3.38.0\"\n }\n },\n \"babel-plugin-polyfill-regenerator\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz\",\n \"integrity\": \"sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==\",\n \"requires\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\"\n }\n },\n \"babel-plugin-transform-react-remove-prop-types\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz\",\n \"integrity\": \"sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==\"\n },\n \"babel-preset-current-node-syntax\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz\",\n \"integrity\": \"sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==\",\n \"requires\": {\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-bigint\": \"^7.8.3\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\"\n }\n },\n \"babel-preset-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==\",\n \"requires\": {\n \"babel-plugin-jest-hoist\": \"^27.5.1\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\"\n }\n },\n \"babel-preset-react-app\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz\",\n \"integrity\": \"sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==\",\n \"requires\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.16.0\",\n \"@babel/plugin-proposal-decorators\": \"^7.16.4\",\n \"@babel/plugin-proposal-nullish-coalescing-operator\": \"^7.16.0\",\n \"@babel/plugin-proposal-numeric-separator\": \"^7.16.0\",\n \"@babel/plugin-proposal-optional-chaining\": \"^7.16.0\",\n \"@babel/plugin-proposal-private-methods\": \"^7.16.0\",\n \"@babel/plugin-transform-flow-strip-types\": \"^7.16.0\",\n \"@babel/plugin-transform-react-display-name\": \"^7.16.0\",\n \"@babel/plugin-transform-runtime\": \"^7.16.4\",\n \"@babel/preset-env\": \"^7.16.4\",\n \"@babel/preset-react\": \"^7.16.0\",\n \"@babel/preset-typescript\": \"^7.16.0\",\n \"@babel/runtime\": \"^7.16.3\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"babel-plugin-transform-react-remove-prop-types\": \"^0.4.24\"\n }\n },\n \"balanced-match\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\"\n },\n \"batch\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/batch/-/batch-0.6.1.tgz\",\n \"integrity\": \"sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==\"\n },\n \"bezier-js\": {\n \"version\": \"6.1.4\",\n \"resolved\": \"https://registry.npmjs.org/bezier-js/-/bezier-js-6.1.4.tgz\",\n \"integrity\": \"sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==\"\n },\n \"bfj\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz\",\n \"integrity\": \"sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==\",\n \"requires\": {\n \"bluebird\": \"^3.7.2\",\n \"check-types\": \"^11.2.3\",\n \"hoopy\": \"^0.1.4\",\n \"jsonpath\": \"^1.1.1\",\n \"tryer\": \"^1.0.1\"\n }\n },\n \"big.js\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz\",\n \"integrity\": \"sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==\"\n },\n \"binary-extensions\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz\",\n \"integrity\": \"sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==\"\n },\n \"bluebird\": {\n \"version\": \"3.7.2\",\n \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\"\n },\n \"body-parser\": {\n \"version\": \"1.20.3\",\n \"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz\",\n \"integrity\": \"sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==\",\n \"requires\": {\n \"bytes\": \"3.1.2\",\n \"content-type\": \"~1.0.5\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"on-finished\": \"2.4.1\",\n \"qs\": \"6.13.0\",\n \"raw-body\": \"2.5.2\",\n \"type-is\": \"~1.6.18\",\n \"unpipe\": \"1.0.0\"\n },\n \"dependencies\": {\n \"bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\"\n },\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"bonjour-service\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz\",\n \"integrity\": \"sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"multicast-dns\": \"^7.2.5\"\n }\n },\n \"boolbase\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n \"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\"\n },\n \"brace-expansion\": {\n \"version\": \"1.1.11\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n \"requires\": {\n \"balanced-match\": \"^1.0.0\",\n \"concat-map\": \"0.0.1\"\n }\n },\n \"braces\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.3.tgz\",\n \"integrity\": \"sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==\",\n \"requires\": {\n \"fill-range\": \"^7.1.1\"\n }\n },\n \"browser-process-hrtime\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz\",\n \"integrity\": \"sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==\"\n },\n \"browserslist\": {\n \"version\": \"4.23.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz\",\n \"integrity\": \"sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==\",\n \"requires\": {\n \"caniuse-lite\": \"^1.0.30001646\",\n \"electron-to-chromium\": \"^1.5.4\",\n \"node-releases\": \"^2.0.18\",\n \"update-browserslist-db\": \"^1.1.0\"\n }\n },\n \"bser\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/bser/-/bser-2.1.1.tgz\",\n \"integrity\": \"sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==\",\n \"requires\": {\n \"node-int64\": \"^0.4.0\"\n }\n },\n \"buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\"\n },\n \"builtin-modules\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n \"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\"\n },\n \"bytes\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n \"integrity\": \"sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==\"\n },\n \"call-bind\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz\",\n \"integrity\": \"sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==\",\n \"requires\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"set-function-length\": \"^1.2.1\"\n }\n },\n \"callsites\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n \"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\"\n },\n \"camel-case\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz\",\n \"integrity\": \"sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==\",\n \"requires\": {\n \"pascal-case\": \"^3.1.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"camelcase\": {\n \"version\": \"6.3.0\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz\",\n \"integrity\": \"sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==\"\n },\n \"camelcase-css\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz\",\n \"integrity\": \"sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\"\n },\n \"caniuse-api\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz\",\n \"integrity\": \"sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==\",\n \"requires\": {\n \"browserslist\": \"^4.0.0\",\n \"caniuse-lite\": \"^1.0.0\",\n \"lodash.memoize\": \"^4.1.2\",\n \"lodash.uniq\": \"^4.5.0\"\n }\n },\n \"caniuse-lite\": {\n \"version\": \"1.0.30001663\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz\",\n \"integrity\": \"sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==\"\n },\n \"canvas-color-tracker\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/canvas-color-tracker/-/canvas-color-tracker-1.2.2.tgz\",\n \"integrity\": \"sha512-r+u/Ft2ka4Rj274Ts4L9bhYZLuMvbuJ/yL4seP0s+Pi+i9CM0caD+Sd//yseS5EVBJ2SKSmq36h2mNYUCdmTfA==\",\n \"requires\": {\n \"tinycolor2\": \"^1.6.0\"\n }\n },\n \"case-sensitive-paths-webpack-plugin\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz\",\n \"integrity\": \"sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==\"\n },\n \"chalk\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n \"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n \"requires\": {\n \"ansi-styles\": \"^3.2.1\",\n \"escape-string-regexp\": \"^1.0.5\",\n \"supports-color\": \"^5.3.0\"\n }\n },\n \"char-regex\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz\",\n \"integrity\": \"sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==\"\n },\n \"check-types\": {\n \"version\": \"11.2.3\",\n \"resolved\": \"https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz\",\n \"integrity\": \"sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==\"\n },\n \"chokidar\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz\",\n \"integrity\": \"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==\",\n \"requires\": {\n \"anymatch\": \"~3.1.2\",\n \"braces\": \"~3.0.2\",\n \"fsevents\": \"~2.3.2\",\n \"glob-parent\": \"~5.1.2\",\n \"is-binary-path\": \"~2.1.0\",\n \"is-glob\": \"~4.0.1\",\n \"normalize-path\": \"~3.0.0\",\n \"readdirp\": \"~3.6.0\"\n },\n \"dependencies\": {\n \"glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"requires\": {\n \"is-glob\": \"^4.0.1\"\n }\n }\n }\n },\n \"chrome-trace-event\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz\",\n \"integrity\": \"sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==\"\n },\n \"ci-info\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",\n \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==\"\n },\n \"cjs-module-lexer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz\",\n \"integrity\": \"sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==\"\n },\n \"clean-css\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz\",\n \"integrity\": \"sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==\",\n \"requires\": {\n \"source-map\": \"~0.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"cliui\": {\n \"version\": \"7.0.4\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz\",\n \"integrity\": \"sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==\",\n \"requires\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.0\",\n \"wrap-ansi\": \"^7.0.0\"\n }\n },\n \"clsx\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz\",\n \"integrity\": \"sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==\"\n },\n \"co\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/co/-/co-4.6.0.tgz\",\n \"integrity\": \"sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==\"\n },\n \"coa\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/coa/-/coa-2.0.2.tgz\",\n \"integrity\": \"sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==\",\n \"requires\": {\n \"@types/q\": \"^1.5.1\",\n \"chalk\": \"^2.4.1\",\n \"q\": \"^1.1.2\"\n }\n },\n \"collect-v8-coverage\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz\",\n \"integrity\": \"sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==\"\n },\n \"color-convert\": {\n \"version\": \"1.9.3\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n \"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n \"requires\": {\n \"color-name\": \"1.1.3\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n \"integrity\": \"sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==\"\n },\n \"colord\": {\n \"version\": \"2.9.3\",\n \"resolved\": \"https://registry.npmjs.org/colord/-/colord-2.9.3.tgz\",\n \"integrity\": \"sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==\"\n },\n \"colorette\": {\n \"version\": \"2.0.20\",\n \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",\n \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==\"\n },\n \"combined-stream\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n \"requires\": {\n \"delayed-stream\": \"~1.0.0\"\n }\n },\n \"commander\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-8.3.0.tgz\",\n \"integrity\": \"sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==\"\n },\n \"common-tags\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",\n \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==\"\n },\n \"commondir\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n \"integrity\": \"sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==\"\n },\n \"compressible\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n \"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n \"requires\": {\n \"mime-db\": \">= 1.43.0 < 2\"\n }\n },\n \"compression\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n \"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n \"requires\": {\n \"accepts\": \"~1.3.5\",\n \"bytes\": \"3.0.0\",\n \"compressible\": \"~2.0.16\",\n \"debug\": \"2.6.9\",\n \"on-headers\": \"~1.0.2\",\n \"safe-buffer\": \"5.1.2\",\n \"vary\": \"~1.1.2\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n },\n \"safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n }\n }\n },\n \"concat-map\": {\n \"version\": \"0.0.1\",\n \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\"\n },\n \"confusing-browser-globals\": {\n \"version\": \"1.0.11\",\n \"resolved\": \"https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz\",\n \"integrity\": \"sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==\"\n },\n \"connect-history-api-fallback\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz\",\n \"integrity\": \"sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==\"\n },\n \"content-disposition\": {\n \"version\": \"0.5.4\",\n \"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz\",\n \"integrity\": \"sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==\",\n \"requires\": {\n \"safe-buffer\": \"5.2.1\"\n }\n },\n \"content-type\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz\",\n \"integrity\": \"sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==\"\n },\n \"convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\"\n },\n \"cookie\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz\",\n \"integrity\": \"sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==\"\n },\n \"cookie-signature\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n \"integrity\": \"sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==\"\n },\n \"core-js\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz\",\n \"integrity\": \"sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==\"\n },\n \"core-js-compat\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz\",\n \"integrity\": \"sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==\",\n \"requires\": {\n \"browserslist\": \"^4.23.3\"\n }\n },\n \"core-js-pure\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz\",\n \"integrity\": \"sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==\"\n },\n \"core-util-is\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz\",\n \"integrity\": \"sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==\"\n },\n \"cosmiconfig\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz\",\n \"integrity\": \"sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==\",\n \"requires\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.2.1\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.10.0\"\n }\n },\n \"cross-spawn\": {\n \"version\": \"7.0.3\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n \"requires\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n }\n },\n \"crypto-random-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz\",\n \"integrity\": \"sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==\"\n },\n \"css-blank-pseudo\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz\",\n \"integrity\": \"sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"css-declaration-sorter\": {\n \"version\": \"6.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz\",\n \"integrity\": \"sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==\",\n \"requires\": {}\n },\n \"css-has-pseudo\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz\",\n \"integrity\": \"sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"css-loader\": {\n \"version\": \"6.11.0\",\n \"resolved\": \"https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz\",\n \"integrity\": \"sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==\",\n \"requires\": {\n \"icss-utils\": \"^5.1.0\",\n \"postcss\": \"^8.4.33\",\n \"postcss-modules-extract-imports\": \"^3.1.0\",\n \"postcss-modules-local-by-default\": \"^4.0.5\",\n \"postcss-modules-scope\": \"^3.2.0\",\n \"postcss-modules-values\": \"^4.0.0\",\n \"postcss-value-parser\": \"^4.2.0\",\n \"semver\": \"^7.5.4\"\n }\n },\n \"css-minimizer-webpack-plugin\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz\",\n \"integrity\": \"sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==\",\n \"requires\": {\n \"cssnano\": \"^5.0.6\",\n \"jest-worker\": \"^27.0.2\",\n \"postcss\": \"^8.3.5\",\n \"schema-utils\": \"^4.0.0\",\n \"serialize-javascript\": \"^6.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"css-prefers-color-scheme\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz\",\n \"integrity\": \"sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==\",\n \"requires\": {}\n },\n \"css-select\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz\",\n \"integrity\": \"sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==\",\n \"requires\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^6.0.1\",\n \"domhandler\": \"^4.3.1\",\n \"domutils\": \"^2.8.0\",\n \"nth-check\": \"^2.0.1\"\n }\n },\n \"css-select-base-adapter\": {\n \"version\": \"0.1.1\",\n \"resolved\": \"https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz\",\n \"integrity\": \"sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==\"\n },\n \"css-tree\": {\n \"version\": \"1.0.0-alpha.37\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz\",\n \"integrity\": \"sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==\",\n \"requires\": {\n \"mdn-data\": \"2.0.4\",\n \"source-map\": \"^0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"css-what\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz\",\n \"integrity\": \"sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==\"\n },\n \"css.escape\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz\",\n \"integrity\": \"sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==\"\n },\n \"cssdb\": {\n \"version\": \"7.11.2\",\n \"resolved\": \"https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz\",\n \"integrity\": \"sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==\"\n },\n \"cssesc\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n \"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\"\n },\n \"cssnano\": {\n \"version\": \"5.1.15\",\n \"resolved\": \"https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz\",\n \"integrity\": \"sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==\",\n \"requires\": {\n \"cssnano-preset-default\": \"^5.2.14\",\n \"lilconfig\": \"^2.0.3\",\n \"yaml\": \"^1.10.2\"\n }\n },\n \"cssnano-preset-default\": {\n \"version\": \"5.2.14\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz\",\n \"integrity\": \"sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==\",\n \"requires\": {\n \"css-declaration-sorter\": \"^6.3.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-calc\": \"^8.2.3\",\n \"postcss-colormin\": \"^5.3.1\",\n \"postcss-convert-values\": \"^5.1.3\",\n \"postcss-discard-comments\": \"^5.1.2\",\n \"postcss-discard-duplicates\": \"^5.1.0\",\n \"postcss-discard-empty\": \"^5.1.1\",\n \"postcss-discard-overridden\": \"^5.1.0\",\n \"postcss-merge-longhand\": \"^5.1.7\",\n \"postcss-merge-rules\": \"^5.1.4\",\n \"postcss-minify-font-values\": \"^5.1.0\",\n \"postcss-minify-gradients\": \"^5.1.1\",\n \"postcss-minify-params\": \"^5.1.4\",\n \"postcss-minify-selectors\": \"^5.2.1\",\n \"postcss-normalize-charset\": \"^5.1.0\",\n \"postcss-normalize-display-values\": \"^5.1.0\",\n \"postcss-normalize-positions\": \"^5.1.1\",\n \"postcss-normalize-repeat-style\": \"^5.1.1\",\n \"postcss-normalize-string\": \"^5.1.0\",\n \"postcss-normalize-timing-functions\": \"^5.1.0\",\n \"postcss-normalize-unicode\": \"^5.1.1\",\n \"postcss-normalize-url\": \"^5.1.0\",\n \"postcss-normalize-whitespace\": \"^5.1.1\",\n \"postcss-ordered-values\": \"^5.1.3\",\n \"postcss-reduce-initial\": \"^5.1.2\",\n \"postcss-reduce-transforms\": \"^5.1.0\",\n \"postcss-svgo\": \"^5.1.0\",\n \"postcss-unique-selectors\": \"^5.1.1\"\n }\n },\n \"cssnano-utils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz\",\n \"integrity\": \"sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==\",\n \"requires\": {}\n },\n \"csso\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/csso/-/csso-4.2.0.tgz\",\n \"integrity\": \"sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==\",\n \"requires\": {\n \"css-tree\": \"^1.1.2\"\n },\n \"dependencies\": {\n \"css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"requires\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n }\n },\n \"mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"cssom\": {\n \"version\": \"0.4.4\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz\",\n \"integrity\": \"sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==\"\n },\n \"cssstyle\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz\",\n \"integrity\": \"sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==\",\n \"requires\": {\n \"cssom\": \"~0.3.6\"\n },\n \"dependencies\": {\n \"cssom\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz\",\n \"integrity\": \"sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==\"\n }\n }\n },\n \"csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\"\n },\n \"d3-array\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz\",\n \"integrity\": \"sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==\",\n \"requires\": {\n \"internmap\": \"1 - 2\"\n }\n },\n \"d3-binarytree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz\",\n \"integrity\": \"sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==\"\n },\n \"d3-color\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz\",\n \"integrity\": \"sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==\"\n },\n \"d3-dispatch\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz\",\n \"integrity\": \"sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==\"\n },\n \"d3-drag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz\",\n \"integrity\": \"sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==\",\n \"requires\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-selection\": \"3\"\n }\n },\n \"d3-ease\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz\",\n \"integrity\": \"sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==\"\n },\n \"d3-force-3d\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.5.tgz\",\n \"integrity\": \"sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==\",\n \"requires\": {\n \"d3-binarytree\": \"1\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-octree\": \"1\",\n \"d3-quadtree\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n }\n },\n \"d3-format\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz\",\n \"integrity\": \"sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==\"\n },\n \"d3-interpolate\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz\",\n \"integrity\": \"sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==\",\n \"requires\": {\n \"d3-color\": \"1 - 3\"\n }\n },\n \"d3-octree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-octree/-/d3-octree-1.0.2.tgz\",\n \"integrity\": \"sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA==\"\n },\n \"d3-quadtree\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz\",\n \"integrity\": \"sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==\"\n },\n \"d3-scale\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz\",\n \"integrity\": \"sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==\",\n \"requires\": {\n \"d3-array\": \"2.10.0 - 3\",\n \"d3-format\": \"1 - 3\",\n \"d3-interpolate\": \"1.2.0 - 3\",\n \"d3-time\": \"2.1.1 - 3\",\n \"d3-time-format\": \"2 - 4\"\n }\n },\n \"d3-scale-chromatic\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz\",\n \"integrity\": \"sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==\",\n \"requires\": {\n \"d3-color\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\"\n }\n },\n \"d3-selection\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz\",\n \"integrity\": \"sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==\"\n },\n \"d3-time\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz\",\n \"integrity\": \"sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==\",\n \"requires\": {\n \"d3-array\": \"2 - 3\"\n }\n },\n \"d3-time-format\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz\",\n \"integrity\": \"sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==\",\n \"requires\": {\n \"d3-time\": \"1 - 3\"\n }\n },\n \"d3-timer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz\",\n \"integrity\": \"sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==\"\n },\n \"d3-transition\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz\",\n \"integrity\": \"sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==\",\n \"requires\": {\n \"d3-color\": \"1 - 3\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-ease\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n }\n },\n \"d3-zoom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz\",\n \"integrity\": \"sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==\",\n \"requires\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-transition\": \"2 - 3\"\n }\n },\n \"damerau-levenshtein\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz\",\n \"integrity\": \"sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==\"\n },\n \"data-joint\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/data-joint/-/data-joint-1.3.1.tgz\",\n \"integrity\": \"sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==\",\n \"requires\": {\n \"index-array-by\": \"^1.4.0\"\n }\n },\n \"data-urls\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz\",\n \"integrity\": \"sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==\",\n \"requires\": {\n \"abab\": \"^2.0.3\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.0.0\"\n }\n },\n \"data-view-buffer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz\",\n \"integrity\": \"sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n }\n },\n \"data-view-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n }\n },\n \"data-view-byte-offset\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz\",\n \"integrity\": \"sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n }\n },\n \"debug\": {\n \"version\": \"4.3.6\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.6.tgz\",\n \"integrity\": \"sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==\",\n \"requires\": {\n \"ms\": \"2.1.2\"\n }\n },\n \"decimal.js\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz\",\n \"integrity\": \"sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==\"\n },\n \"dedent\": {\n \"version\": \"0.7.0\",\n \"resolved\": \"https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz\",\n \"integrity\": \"sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==\"\n },\n \"deep-equal\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz\",\n \"integrity\": \"sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==\",\n \"requires\": {\n \"array-buffer-byte-length\": \"^1.0.0\",\n \"call-bind\": \"^1.0.5\",\n \"es-get-iterator\": \"^1.1.3\",\n \"get-intrinsic\": \"^1.2.2\",\n \"is-arguments\": \"^1.1.1\",\n \"is-array-buffer\": \"^3.0.2\",\n \"is-date-object\": \"^1.0.5\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"object-is\": \"^1.1.5\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.4\",\n \"regexp.prototype.flags\": \"^1.5.1\",\n \"side-channel\": \"^1.0.4\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.1\",\n \"which-typed-array\": \"^1.1.13\"\n }\n },\n \"deep-is\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz\",\n \"integrity\": \"sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\"\n },\n \"deepmerge\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz\",\n \"integrity\": \"sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==\"\n },\n \"default-gateway\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz\",\n \"integrity\": \"sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==\",\n \"requires\": {\n \"execa\": \"^5.0.0\"\n }\n },\n \"define-data-property\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz\",\n \"integrity\": \"sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==\",\n \"requires\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"gopd\": \"^1.0.1\"\n }\n },\n \"define-lazy-prop\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz\",\n \"integrity\": \"sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==\"\n },\n \"define-properties\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz\",\n \"integrity\": \"sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==\",\n \"requires\": {\n \"define-data-property\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.0\",\n \"object-keys\": \"^1.1.1\"\n }\n },\n \"delayed-stream\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==\"\n },\n \"depd\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-2.0.0.tgz\",\n \"integrity\": \"sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==\"\n },\n \"dequal\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz\",\n \"integrity\": \"sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==\",\n \"peer\": true\n },\n \"destroy\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz\",\n \"integrity\": \"sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==\"\n },\n \"detect-newline\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz\",\n \"integrity\": \"sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==\"\n },\n \"detect-node\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz\",\n \"integrity\": \"sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==\"\n },\n \"detect-port-alt\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz\",\n \"integrity\": \"sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==\",\n \"requires\": {\n \"address\": \"^1.0.1\",\n \"debug\": \"^2.6.0\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"didyoumean\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz\",\n \"integrity\": \"sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\"\n },\n \"diff-sequences\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz\",\n \"integrity\": \"sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==\"\n },\n \"dir-glob\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz\",\n \"integrity\": \"sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==\",\n \"requires\": {\n \"path-type\": \"^4.0.0\"\n }\n },\n \"dlv\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz\",\n \"integrity\": \"sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==\"\n },\n \"dns-packet\": {\n \"version\": \"5.6.1\",\n \"resolved\": \"https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz\",\n \"integrity\": \"sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==\",\n \"requires\": {\n \"@leichtgewicht/ip-codec\": \"^2.0.1\"\n }\n },\n \"doctrine\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n \"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n \"requires\": {\n \"esutils\": \"^2.0.2\"\n }\n },\n \"dom-accessibility-api\": {\n \"version\": \"0.5.16\",\n \"resolved\": \"https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz\",\n \"integrity\": \"sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==\"\n },\n \"dom-converter\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz\",\n \"integrity\": \"sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==\",\n \"requires\": {\n \"utila\": \"~0.4\"\n }\n },\n \"dom-helpers\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz\",\n \"integrity\": \"sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.8.7\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"dom-serializer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz\",\n \"integrity\": \"sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==\",\n \"requires\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.2.0\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"domelementtype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz\",\n \"integrity\": \"sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==\"\n },\n \"domexception\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz\",\n \"integrity\": \"sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==\",\n \"requires\": {\n \"webidl-conversions\": \"^5.0.0\"\n },\n \"dependencies\": {\n \"webidl-conversions\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz\",\n \"integrity\": \"sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==\"\n }\n }\n },\n \"domhandler\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz\",\n \"integrity\": \"sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==\",\n \"requires\": {\n \"domelementtype\": \"^2.2.0\"\n }\n },\n \"domutils\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz\",\n \"integrity\": \"sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==\",\n \"requires\": {\n \"dom-serializer\": \"^1.0.1\",\n \"domelementtype\": \"^2.2.0\",\n \"domhandler\": \"^4.2.0\"\n }\n },\n \"dot-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz\",\n \"integrity\": \"sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\",\n \"requires\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"dotenv\": {\n \"version\": \"10.0.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz\",\n \"integrity\": \"sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==\"\n },\n \"dotenv-expand\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz\",\n \"integrity\": \"sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==\"\n },\n \"duplexer\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz\",\n \"integrity\": \"sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==\"\n },\n \"eastasianwidth\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz\",\n \"integrity\": \"sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==\"\n },\n \"ee-first\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n \"integrity\": \"sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==\"\n },\n \"ejs\": {\n \"version\": \"3.1.10\",\n \"resolved\": \"https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz\",\n \"integrity\": \"sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==\",\n \"requires\": {\n \"jake\": \"^10.8.5\"\n }\n },\n \"electron-to-chromium\": {\n \"version\": \"1.5.28\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz\",\n \"integrity\": \"sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==\"\n },\n \"email-addresses\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz\",\n \"integrity\": \"sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==\",\n \"dev\": true\n },\n \"emittery\": {\n \"version\": \"0.8.1\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz\",\n \"integrity\": \"sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==\"\n },\n \"emoji-regex\": {\n \"version\": \"9.2.2\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz\",\n \"integrity\": \"sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==\"\n },\n \"emojis-list\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz\",\n \"integrity\": \"sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==\"\n },\n \"encodeurl\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz\",\n \"integrity\": \"sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==\"\n },\n \"enhanced-resolve\": {\n \"version\": \"5.17.1\",\n \"resolved\": \"https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz\",\n \"integrity\": \"sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==\",\n \"requires\": {\n \"graceful-fs\": \"^4.2.4\",\n \"tapable\": \"^2.2.0\"\n }\n },\n \"entities\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/entities/-/entities-2.2.0.tgz\",\n \"integrity\": \"sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==\"\n },\n \"error-ex\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n \"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n \"requires\": {\n \"is-arrayish\": \"^0.2.1\"\n }\n },\n \"error-stack-parser\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz\",\n \"integrity\": \"sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==\",\n \"requires\": {\n \"stackframe\": \"^1.3.4\"\n }\n },\n \"es-abstract\": {\n \"version\": \"1.23.3\",\n \"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz\",\n \"integrity\": \"sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==\",\n \"requires\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"arraybuffer.prototype.slice\": \"^1.0.3\",\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"data-view-buffer\": \"^1.0.1\",\n \"data-view-byte-length\": \"^1.0.1\",\n \"data-view-byte-offset\": \"^1.0.0\",\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"es-to-primitive\": \"^1.2.1\",\n \"function.prototype.name\": \"^1.1.6\",\n \"get-intrinsic\": \"^1.2.4\",\n \"get-symbol-description\": \"^1.0.2\",\n \"globalthis\": \"^1.0.3\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.2\",\n \"internal-slot\": \"^1.0.7\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-callable\": \"^1.2.7\",\n \"is-data-view\": \"^1.0.1\",\n \"is-negative-zero\": \"^2.0.3\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.3\",\n \"is-string\": \"^1.0.7\",\n \"is-typed-array\": \"^1.1.13\",\n \"is-weakref\": \"^1.0.2\",\n \"object-inspect\": \"^1.13.1\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.5\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"safe-array-concat\": \"^1.1.2\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.trim\": \"^1.2.9\",\n \"string.prototype.trimend\": \"^1.0.8\",\n \"string.prototype.trimstart\": \"^1.0.8\",\n \"typed-array-buffer\": \"^1.0.2\",\n \"typed-array-byte-length\": \"^1.0.1\",\n \"typed-array-byte-offset\": \"^1.0.2\",\n \"typed-array-length\": \"^1.0.6\",\n \"unbox-primitive\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n }\n },\n \"es-array-method-boxes-properly\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz\",\n \"integrity\": \"sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==\"\n },\n \"es-define-property\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz\",\n \"integrity\": \"sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==\",\n \"requires\": {\n \"get-intrinsic\": \"^1.2.4\"\n }\n },\n \"es-errors\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz\",\n \"integrity\": \"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==\"\n },\n \"es-get-iterator\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz\",\n \"integrity\": \"sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.1.3\",\n \"has-symbols\": \"^1.0.3\",\n \"is-arguments\": \"^1.1.1\",\n \"is-map\": \"^2.0.2\",\n \"is-set\": \"^2.0.2\",\n \"is-string\": \"^1.0.7\",\n \"isarray\": \"^2.0.5\",\n \"stop-iteration-iterator\": \"^1.0.0\"\n }\n },\n \"es-iterator-helpers\": {\n \"version\": \"1.0.19\",\n \"resolved\": \"https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz\",\n \"integrity\": \"sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"iterator.prototype\": \"^1.1.2\",\n \"safe-array-concat\": \"^1.1.2\"\n }\n },\n \"es-module-lexer\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz\",\n \"integrity\": \"sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==\"\n },\n \"es-object-atoms\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz\",\n \"integrity\": \"sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==\",\n \"requires\": {\n \"es-errors\": \"^1.3.0\"\n }\n },\n \"es-set-tostringtag\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz\",\n \"integrity\": \"sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==\",\n \"requires\": {\n \"get-intrinsic\": \"^1.2.4\",\n \"has-tostringtag\": \"^1.0.2\",\n \"hasown\": \"^2.0.1\"\n }\n },\n \"es-shim-unscopables\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz\",\n \"integrity\": \"sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==\",\n \"requires\": {\n \"hasown\": \"^2.0.0\"\n }\n },\n \"es-to-primitive\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n \"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n \"requires\": {\n \"is-callable\": \"^1.1.4\",\n \"is-date-object\": \"^1.0.1\",\n \"is-symbol\": \"^1.0.2\"\n }\n },\n \"escalade\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz\",\n \"integrity\": \"sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==\"\n },\n \"escape-html\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n \"integrity\": \"sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\"\n },\n \"escodegen\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz\",\n \"integrity\": \"sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==\",\n \"requires\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^5.2.0\",\n \"esutils\": \"^2.0.2\",\n \"source-map\": \"~0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"optional\": true\n }\n }\n },\n \"eslint\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz\",\n \"integrity\": \"sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==\",\n \"requires\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@eslint-community/regexpp\": \"^4.6.1\",\n \"@eslint/eslintrc\": \"^2.1.4\",\n \"@eslint/js\": \"8.57.1\",\n \"@humanwhocodes/config-array\": \"^0.13.0\",\n \"@humanwhocodes/module-importer\": \"^1.0.1\",\n \"@nodelib/fs.walk\": \"^1.2.8\",\n \"@ungap/structured-clone\": \"^1.2.0\",\n \"ajv\": \"^6.12.4\",\n \"chalk\": \"^4.0.0\",\n \"cross-spawn\": \"^7.0.2\",\n \"debug\": \"^4.3.2\",\n \"doctrine\": \"^3.0.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"eslint-scope\": \"^7.2.2\",\n \"eslint-visitor-keys\": \"^3.4.3\",\n \"espree\": \"^9.6.1\",\n \"esquery\": \"^1.4.2\",\n \"esutils\": \"^2.0.2\",\n \"fast-deep-equal\": \"^3.1.3\",\n \"file-entry-cache\": \"^6.0.1\",\n \"find-up\": \"^5.0.0\",\n \"glob-parent\": \"^6.0.2\",\n \"globals\": \"^13.19.0\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"imurmurhash\": \"^0.1.4\",\n \"is-glob\": \"^4.0.0\",\n \"is-path-inside\": \"^3.0.3\",\n \"js-yaml\": \"^4.1.0\",\n \"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n \"levn\": \"^0.4.1\",\n \"lodash.merge\": \"^4.6.2\",\n \"minimatch\": \"^3.1.2\",\n \"natural-compare\": \"^1.4.0\",\n \"optionator\": \"^0.9.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\"\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"\n },\n \"find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"requires\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n }\n },\n \"globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"requires\": {\n \"type-fest\": \"^0.20.2\"\n }\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"requires\": {\n \"argparse\": \"^2.0.1\"\n }\n },\n \"locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"requires\": {\n \"p-locate\": \"^5.0.0\"\n }\n },\n \"p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"requires\": {\n \"yocto-queue\": \"^0.1.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"requires\": {\n \"p-limit\": \"^3.0.2\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n },\n \"type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\"\n }\n }\n },\n \"eslint-config-react-app\": {\n \"version\": \"7.0.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz\",\n \"integrity\": \"sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==\",\n \"requires\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/eslint-parser\": \"^7.16.3\",\n \"@rushstack/eslint-patch\": \"^1.1.0\",\n \"@typescript-eslint/eslint-plugin\": \"^5.5.0\",\n \"@typescript-eslint/parser\": \"^5.5.0\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"confusing-browser-globals\": \"^1.0.11\",\n \"eslint-plugin-flowtype\": \"^8.0.3\",\n \"eslint-plugin-import\": \"^2.25.3\",\n \"eslint-plugin-jest\": \"^25.3.0\",\n \"eslint-plugin-jsx-a11y\": \"^6.5.1\",\n \"eslint-plugin-react\": \"^7.27.1\",\n \"eslint-plugin-react-hooks\": \"^4.3.0\",\n \"eslint-plugin-testing-library\": \"^5.0.1\"\n }\n },\n \"eslint-import-resolver-node\": {\n \"version\": \"0.3.9\",\n \"resolved\": \"https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz\",\n \"integrity\": \"sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==\",\n \"requires\": {\n \"debug\": \"^3.2.7\",\n \"is-core-module\": \"^2.13.0\",\n \"resolve\": \"^1.22.4\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"requires\": {\n \"ms\": \"^2.1.1\"\n }\n }\n }\n },\n \"eslint-module-utils\": {\n \"version\": \"2.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz\",\n \"integrity\": \"sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==\",\n \"requires\": {\n \"debug\": \"^3.2.7\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"requires\": {\n \"ms\": \"^2.1.1\"\n }\n }\n }\n },\n \"eslint-plugin-flowtype\": {\n \"version\": \"8.0.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz\",\n \"integrity\": \"sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==\",\n \"requires\": {\n \"lodash\": \"^4.17.21\",\n \"string-natural-compare\": \"^3.0.1\"\n }\n },\n \"eslint-plugin-import\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz\",\n \"integrity\": \"sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==\",\n \"requires\": {\n \"@rtsao/scc\": \"^1.1.0\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlastindex\": \"^1.2.5\",\n \"array.prototype.flat\": \"^1.3.2\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"debug\": \"^3.2.7\",\n \"doctrine\": \"^2.1.0\",\n \"eslint-import-resolver-node\": \"^0.3.9\",\n \"eslint-module-utils\": \"^2.9.0\",\n \"hasown\": \"^2.0.2\",\n \"is-core-module\": \"^2.15.1\",\n \"is-glob\": \"^4.0.3\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.groupby\": \"^1.0.3\",\n \"object.values\": \"^1.2.0\",\n \"semver\": \"^6.3.1\",\n \"tsconfig-paths\": \"^3.15.0\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"requires\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"requires\": {\n \"esutils\": \"^2.0.2\"\n }\n },\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"eslint-plugin-jest\": {\n \"version\": \"25.7.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz\",\n \"integrity\": \"sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==\",\n \"requires\": {\n \"@typescript-eslint/experimental-utils\": \"^5.0.0\"\n }\n },\n \"eslint-plugin-jsx-a11y\": {\n \"version\": \"6.10.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz\",\n \"integrity\": \"sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==\",\n \"requires\": {\n \"aria-query\": \"~5.1.3\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"ast-types-flow\": \"^0.0.8\",\n \"axe-core\": \"^4.10.0\",\n \"axobject-query\": \"^4.1.0\",\n \"damerau-levenshtein\": \"^1.0.8\",\n \"emoji-regex\": \"^9.2.2\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^3.3.5\",\n \"language-tags\": \"^1.0.9\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.includes\": \"^2.0.0\"\n }\n },\n \"eslint-plugin-react\": {\n \"version\": \"7.36.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz\",\n \"integrity\": \"sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==\",\n \"requires\": {\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlast\": \"^1.2.5\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"array.prototype.tosorted\": \"^1.1.4\",\n \"doctrine\": \"^2.1.0\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"estraverse\": \"^5.3.0\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^2.4.1 || ^3.0.0\",\n \"minimatch\": \"^3.1.2\",\n \"object.entries\": \"^1.1.8\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.values\": \"^1.2.0\",\n \"prop-types\": \"^15.8.1\",\n \"resolve\": \"^2.0.0-next.5\",\n \"semver\": \"^6.3.1\",\n \"string.prototype.matchall\": \"^4.0.11\",\n \"string.prototype.repeat\": \"^1.0.0\"\n },\n \"dependencies\": {\n \"doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"requires\": {\n \"esutils\": \"^2.0.2\"\n }\n },\n \"resolve\": {\n \"version\": \"2.0.0-next.5\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz\",\n \"integrity\": \"sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==\",\n \"requires\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n }\n },\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"eslint-plugin-react-hooks\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz\",\n \"integrity\": \"sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==\",\n \"requires\": {}\n },\n \"eslint-plugin-testing-library\": {\n \"version\": \"5.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz\",\n \"integrity\": \"sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==\",\n \"requires\": {\n \"@typescript-eslint/utils\": \"^5.58.0\"\n }\n },\n \"eslint-scope\": {\n \"version\": \"7.2.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz\",\n \"integrity\": \"sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^5.2.0\"\n }\n },\n \"eslint-visitor-keys\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",\n \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==\"\n },\n \"eslint-webpack-plugin\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz\",\n \"integrity\": \"sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==\",\n \"requires\": {\n \"@types/eslint\": \"^7.29.0 || ^8.4.1\",\n \"jest-worker\": \"^28.0.2\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"schema-utils\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"jest-worker\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz\",\n \"integrity\": \"sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n }\n },\n \"supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"espree\": {\n \"version\": \"9.6.1\",\n \"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.6.1.tgz\",\n \"integrity\": \"sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==\",\n \"requires\": {\n \"acorn\": \"^8.9.0\",\n \"acorn-jsx\": \"^5.3.2\",\n \"eslint-visitor-keys\": \"^3.4.1\"\n }\n },\n \"esprima\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n \"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\"\n },\n \"esquery\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz\",\n \"integrity\": \"sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==\",\n \"requires\": {\n \"estraverse\": \"^5.1.0\"\n }\n },\n \"esrecurse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n \"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n \"requires\": {\n \"estraverse\": \"^5.2.0\"\n }\n },\n \"estraverse\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\"\n },\n \"estree-walker\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz\",\n \"integrity\": \"sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==\"\n },\n \"esutils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n \"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\"\n },\n \"etag\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n \"integrity\": \"sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==\"\n },\n \"eventemitter3\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz\",\n \"integrity\": \"sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\"\n },\n \"events\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/events/-/events-3.3.0.tgz\",\n \"integrity\": \"sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==\"\n },\n \"execa\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-5.1.1.tgz\",\n \"integrity\": \"sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==\",\n \"requires\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^6.0.0\",\n \"human-signals\": \"^2.1.0\",\n \"is-stream\": \"^2.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^4.0.1\",\n \"onetime\": \"^5.1.2\",\n \"signal-exit\": \"^3.0.3\",\n \"strip-final-newline\": \"^2.0.0\"\n }\n },\n \"exit\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/exit/-/exit-0.1.2.tgz\",\n \"integrity\": \"sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==\"\n },\n \"expect\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/expect/-/expect-27.5.1.tgz\",\n \"integrity\": \"sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\"\n }\n },\n \"express\": {\n \"version\": \"4.21.0\",\n \"resolved\": \"https://registry.npmjs.org/express/-/express-4.21.0.tgz\",\n \"integrity\": \"sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==\",\n \"requires\": {\n \"accepts\": \"~1.3.8\",\n \"array-flatten\": \"1.1.1\",\n \"body-parser\": \"1.20.3\",\n \"content-disposition\": \"0.5.4\",\n \"content-type\": \"~1.0.4\",\n \"cookie\": \"0.6.0\",\n \"cookie-signature\": \"1.0.6\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"finalhandler\": \"1.3.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"merge-descriptors\": \"1.0.3\",\n \"methods\": \"~1.1.2\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"path-to-regexp\": \"0.1.10\",\n \"proxy-addr\": \"~2.0.7\",\n \"qs\": \"6.13.0\",\n \"range-parser\": \"~1.2.1\",\n \"safe-buffer\": \"5.2.1\",\n \"send\": \"0.19.0\",\n \"serve-static\": \"1.16.2\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"type-is\": \"~1.6.18\",\n \"utils-merge\": \"1.0.1\",\n \"vary\": \"~1.1.2\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"fast-deep-equal\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n \"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\"\n },\n \"fast-glob\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz\",\n \"integrity\": \"sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==\",\n \"requires\": {\n \"@nodelib/fs.stat\": \"^2.0.2\",\n \"@nodelib/fs.walk\": \"^1.2.3\",\n \"glob-parent\": \"^5.1.2\",\n \"merge2\": \"^1.3.0\",\n \"micromatch\": \"^4.0.4\"\n },\n \"dependencies\": {\n \"glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"requires\": {\n \"is-glob\": \"^4.0.1\"\n }\n }\n }\n },\n \"fast-json-stable-stringify\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n \"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\"\n },\n \"fast-levenshtein\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n \"integrity\": \"sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\"\n },\n \"fast-uri\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz\",\n \"integrity\": \"sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==\"\n },\n \"fastq\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz\",\n \"integrity\": \"sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==\",\n \"requires\": {\n \"reusify\": \"^1.0.4\"\n }\n },\n \"faye-websocket\": {\n \"version\": \"0.11.4\",\n \"resolved\": \"https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz\",\n \"integrity\": \"sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==\",\n \"requires\": {\n \"websocket-driver\": \">=0.5.1\"\n }\n },\n \"fb-watchman\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz\",\n \"integrity\": \"sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==\",\n \"requires\": {\n \"bser\": \"2.1.1\"\n }\n },\n \"fflate\": {\n \"version\": \"0.8.2\",\n \"resolved\": \"https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz\",\n \"integrity\": \"sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==\",\n \"dev\": true\n },\n \"file-entry-cache\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n \"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n \"requires\": {\n \"flat-cache\": \"^3.0.4\"\n }\n },\n \"file-loader\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz\",\n \"integrity\": \"sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==\",\n \"requires\": {\n \"loader-utils\": \"^2.0.0\",\n \"schema-utils\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"file-selector\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz\",\n \"integrity\": \"sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==\",\n \"requires\": {\n \"tslib\": \"^2.4.0\"\n }\n },\n \"filelist\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz\",\n \"integrity\": \"sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==\",\n \"requires\": {\n \"minimatch\": \"^5.0.1\"\n },\n \"dependencies\": {\n \"brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"requires\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"minimatch\": {\n \"version\": \"5.1.6\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz\",\n \"integrity\": \"sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==\",\n \"requires\": {\n \"brace-expansion\": \"^2.0.1\"\n }\n }\n }\n },\n \"filename-reserved-regex\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz\",\n \"integrity\": \"sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==\",\n \"dev\": true\n },\n \"filenamify\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz\",\n \"integrity\": \"sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==\",\n \"dev\": true,\n \"requires\": {\n \"filename-reserved-regex\": \"^2.0.0\",\n \"strip-outer\": \"^1.0.1\",\n \"trim-repeated\": \"^1.0.0\"\n }\n },\n \"filesize\": {\n \"version\": \"8.0.7\",\n \"resolved\": \"https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz\",\n \"integrity\": \"sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==\"\n },\n \"fill-range\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz\",\n \"integrity\": \"sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==\",\n \"requires\": {\n \"to-regex-range\": \"^5.0.1\"\n }\n },\n \"finalhandler\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz\",\n \"integrity\": \"sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==\",\n \"requires\": {\n \"debug\": \"2.6.9\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"statuses\": \"2.0.1\",\n \"unpipe\": \"~1.0.0\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"find-cache-dir\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz\",\n \"integrity\": \"sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==\",\n \"requires\": {\n \"commondir\": \"^1.0.1\",\n \"make-dir\": \"^3.0.2\",\n \"pkg-dir\": \"^4.1.0\"\n }\n },\n \"find-root\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz\",\n \"integrity\": \"sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==\"\n },\n \"find-up\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n \"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n \"requires\": {\n \"locate-path\": \"^5.0.0\",\n \"path-exists\": \"^4.0.0\"\n }\n },\n \"flat-cache\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz\",\n \"integrity\": \"sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==\",\n \"requires\": {\n \"flatted\": \"^3.2.9\",\n \"keyv\": \"^4.5.3\",\n \"rimraf\": \"^3.0.2\"\n }\n },\n \"flatted\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz\",\n \"integrity\": \"sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==\"\n },\n \"follow-redirects\": {\n \"version\": \"1.15.6\",\n \"resolved\": \"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz\",\n \"integrity\": \"sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==\"\n },\n \"for-each\": {\n \"version\": \"0.3.3\",\n \"resolved\": \"https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz\",\n \"integrity\": \"sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==\",\n \"requires\": {\n \"is-callable\": \"^1.1.3\"\n }\n },\n \"force-graph\": {\n \"version\": \"1.43.5\",\n \"resolved\": \"https://registry.npmjs.org/force-graph/-/force-graph-1.43.5.tgz\",\n \"integrity\": \"sha512-HveLELh9yhZXO/QOfaFS38vlwJZ/3sKu+jarfXzRmbmihSOH/BbRWnUvmg8wLFiYy6h4HlH4lkRfZRccHYmXgA==\",\n \"requires\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"bezier-js\": \"3 - 6\",\n \"canvas-color-tracker\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-zoom\": \"2 - 3\",\n \"index-array-by\": \"1\",\n \"kapsule\": \"^1.14\",\n \"lodash-es\": \"4\"\n }\n },\n \"foreground-child\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz\",\n \"integrity\": \"sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==\",\n \"requires\": {\n \"cross-spawn\": \"^7.0.0\",\n \"signal-exit\": \"^4.0.1\"\n },\n \"dependencies\": {\n \"signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\"\n }\n }\n },\n \"fork-ts-checker-webpack-plugin\": {\n \"version\": \"6.5.3\",\n \"resolved\": \"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz\",\n \"integrity\": \"sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.8.3\",\n \"@types/json-schema\": \"^7.0.5\",\n \"chalk\": \"^4.1.0\",\n \"chokidar\": \"^3.4.2\",\n \"cosmiconfig\": \"^6.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"fs-extra\": \"^9.0.0\",\n \"glob\": \"^7.1.6\",\n \"memfs\": \"^3.1.2\",\n \"minimatch\": \"^3.0.4\",\n \"schema-utils\": \"2.7.0\",\n \"semver\": \"^7.3.2\",\n \"tapable\": \"^1.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"cosmiconfig\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz\",\n \"integrity\": \"sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==\",\n \"requires\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.1.0\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.7.2\"\n }\n },\n \"fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"requires\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"schema-utils\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz\",\n \"integrity\": \"sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.4\",\n \"ajv\": \"^6.12.2\",\n \"ajv-keywords\": \"^3.4.1\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n },\n \"tapable\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz\",\n \"integrity\": \"sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==\"\n }\n }\n },\n \"form-data\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz\",\n \"integrity\": \"sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==\",\n \"requires\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n }\n },\n \"forwarded\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz\",\n \"integrity\": \"sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==\"\n },\n \"fraction.js\": {\n \"version\": \"4.3.7\",\n \"resolved\": \"https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz\",\n \"integrity\": \"sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==\"\n },\n \"fresh\": {\n \"version\": \"0.5.2\",\n \"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n \"integrity\": \"sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==\"\n },\n \"fromentries\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz\",\n \"integrity\": \"sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==\"\n },\n \"fs-extra\": {\n \"version\": \"10.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz\",\n \"integrity\": \"sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==\",\n \"requires\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"fs-monkey\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz\",\n \"integrity\": \"sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==\"\n },\n \"fs.realpath\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\"\n },\n \"fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"optional\": true\n },\n \"function-bind\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz\",\n \"integrity\": \"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==\"\n },\n \"function.prototype.name\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz\",\n \"integrity\": \"sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"functions-have-names\": \"^1.2.3\"\n }\n },\n \"functions-have-names\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz\",\n \"integrity\": \"sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==\"\n },\n \"fuse.js\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz\",\n \"integrity\": \"sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==\"\n },\n \"gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\"\n },\n \"get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\"\n },\n \"get-intrinsic\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz\",\n \"integrity\": \"sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==\",\n \"requires\": {\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"has-proto\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.0\"\n }\n },\n \"get-own-enumerable-property-symbols\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz\",\n \"integrity\": \"sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==\"\n },\n \"get-package-type\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz\",\n \"integrity\": \"sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==\"\n },\n \"get-stream\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz\",\n \"integrity\": \"sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==\"\n },\n \"get-symbol-description\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz\",\n \"integrity\": \"sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.5\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\"\n }\n },\n \"gh-pages\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz\",\n \"integrity\": \"sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==\",\n \"dev\": true,\n \"requires\": {\n \"async\": \"^3.2.4\",\n \"commander\": \"^11.0.0\",\n \"email-addresses\": \"^5.0.0\",\n \"filenamify\": \"^4.3.0\",\n \"find-cache-dir\": \"^3.3.1\",\n \"fs-extra\": \"^11.1.1\",\n \"globby\": \"^6.1.0\"\n },\n \"dependencies\": {\n \"commander\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-11.1.0.tgz\",\n \"integrity\": \"sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==\",\n \"dev\": true\n },\n \"fs-extra\": {\n \"version\": \"11.2.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz\",\n \"integrity\": \"sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==\",\n \"dev\": true,\n \"requires\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"globby\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-6.1.0.tgz\",\n \"integrity\": \"sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==\",\n \"dev\": true,\n \"requires\": {\n \"array-union\": \"^1.0.1\",\n \"glob\": \"^7.0.3\",\n \"object-assign\": \"^4.0.1\",\n \"pify\": \"^2.0.0\",\n \"pinkie-promise\": \"^2.0.0\"\n }\n }\n }\n },\n \"glob\": {\n \"version\": \"7.2.3\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",\n \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==\",\n \"requires\": {\n \"fs.realpath\": \"^1.0.0\",\n \"inflight\": \"^1.0.4\",\n \"inherits\": \"2\",\n \"minimatch\": \"^3.1.1\",\n \"once\": \"^1.3.0\",\n \"path-is-absolute\": \"^1.0.0\"\n }\n },\n \"glob-parent\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n \"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n \"requires\": {\n \"is-glob\": \"^4.0.3\"\n }\n },\n \"glob-to-regexp\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz\",\n \"integrity\": \"sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==\"\n },\n \"global-modules\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz\",\n \"integrity\": \"sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==\",\n \"requires\": {\n \"global-prefix\": \"^3.0.0\"\n }\n },\n \"global-prefix\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz\",\n \"integrity\": \"sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==\",\n \"requires\": {\n \"ini\": \"^1.3.5\",\n \"kind-of\": \"^6.0.2\",\n \"which\": \"^1.3.1\"\n },\n \"dependencies\": {\n \"which\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n \"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n \"requires\": {\n \"isexe\": \"^2.0.0\"\n }\n }\n }\n },\n \"globals\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n \"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\"\n },\n \"globalthis\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz\",\n \"integrity\": \"sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==\",\n \"requires\": {\n \"define-properties\": \"^1.2.1\",\n \"gopd\": \"^1.0.1\"\n }\n },\n \"globby\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-11.1.0.tgz\",\n \"integrity\": \"sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==\",\n \"requires\": {\n \"array-union\": \"^2.1.0\",\n \"dir-glob\": \"^3.0.1\",\n \"fast-glob\": \"^3.2.9\",\n \"ignore\": \"^5.2.0\",\n \"merge2\": \"^1.4.1\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"array-union\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz\",\n \"integrity\": \"sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==\"\n }\n }\n },\n \"gopd\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz\",\n \"integrity\": \"sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==\",\n \"requires\": {\n \"get-intrinsic\": \"^1.1.3\"\n }\n },\n \"graceful-fs\": {\n \"version\": \"4.2.11\",\n \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",\n \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==\"\n },\n \"graphemer\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz\",\n \"integrity\": \"sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==\"\n },\n \"gzip-size\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz\",\n \"integrity\": \"sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==\",\n \"requires\": {\n \"duplexer\": \"^0.1.2\"\n }\n },\n \"handle-thing\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz\",\n \"integrity\": \"sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==\"\n },\n \"harmony-reflect\": {\n \"version\": \"1.6.2\",\n \"resolved\": \"https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz\",\n \"integrity\": \"sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==\"\n },\n \"has-bigints\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz\",\n \"integrity\": \"sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==\"\n },\n \"has-flag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n \"integrity\": \"sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==\"\n },\n \"has-property-descriptors\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz\",\n \"integrity\": \"sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==\",\n \"requires\": {\n \"es-define-property\": \"^1.0.0\"\n }\n },\n \"has-proto\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz\",\n \"integrity\": \"sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==\"\n },\n \"has-symbols\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",\n \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==\"\n },\n \"has-tostringtag\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz\",\n \"integrity\": \"sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==\",\n \"requires\": {\n \"has-symbols\": \"^1.0.3\"\n }\n },\n \"hasown\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz\",\n \"integrity\": \"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==\",\n \"requires\": {\n \"function-bind\": \"^1.1.2\"\n }\n },\n \"he\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n \"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\"\n },\n \"highlight-words\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/highlight-words/-/highlight-words-1.2.2.tgz\",\n \"integrity\": \"sha512-Mf4xfPXYm8Ay1wTibCrHpNWeR2nUMynMVFkXCi4mbl+TEgmNOe+I4hV7W3OCZcSvzGL6kupaqpfHOemliMTGxQ==\"\n },\n \"hoist-non-react-statics\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz\",\n \"integrity\": \"sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==\",\n \"requires\": {\n \"react-is\": \"^16.7.0\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n }\n }\n },\n \"hoopy\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz\",\n \"integrity\": \"sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==\"\n },\n \"hpack.js\": {\n \"version\": \"2.1.6\",\n \"resolved\": \"https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz\",\n \"integrity\": \"sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==\",\n \"requires\": {\n \"inherits\": \"^2.0.1\",\n \"obuf\": \"^1.0.0\",\n \"readable-stream\": \"^2.0.1\",\n \"wbuf\": \"^1.1.0\"\n },\n \"dependencies\": {\n \"isarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n \"integrity\": \"sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==\"\n },\n \"readable-stream\": {\n \"version\": \"2.3.8\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz\",\n \"integrity\": \"sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==\",\n \"requires\": {\n \"core-util-is\": \"~1.0.0\",\n \"inherits\": \"~2.0.3\",\n \"isarray\": \"~1.0.0\",\n \"process-nextick-args\": \"~2.0.0\",\n \"safe-buffer\": \"~5.1.1\",\n \"string_decoder\": \"~1.1.1\",\n \"util-deprecate\": \"~1.0.1\"\n }\n },\n \"safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n },\n \"string_decoder\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n \"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n \"requires\": {\n \"safe-buffer\": \"~5.1.0\"\n }\n }\n }\n },\n \"html-encoding-sniffer\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz\",\n \"integrity\": \"sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==\",\n \"requires\": {\n \"whatwg-encoding\": \"^1.0.5\"\n }\n },\n \"html-entities\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz\",\n \"integrity\": \"sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==\"\n },\n \"html-escaper\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n \"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\"\n },\n \"html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==\",\n \"requires\": {\n \"camel-case\": \"^4.1.2\",\n \"clean-css\": \"^5.2.2\",\n \"commander\": \"^8.3.0\",\n \"he\": \"^1.2.0\",\n \"param-case\": \"^3.0.4\",\n \"relateurl\": \"^0.2.7\",\n \"terser\": \"^5.10.0\"\n }\n },\n \"html-parse-stringify\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz\",\n \"integrity\": \"sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==\",\n \"requires\": {\n \"void-elements\": \"3.1.0\"\n }\n },\n \"html-webpack-plugin\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz\",\n \"integrity\": \"sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==\",\n \"requires\": {\n \"@types/html-minifier-terser\": \"^6.0.0\",\n \"html-minifier-terser\": \"^6.0.2\",\n \"lodash\": \"^4.17.21\",\n \"pretty-error\": \"^4.0.0\",\n \"tapable\": \"^2.0.0\"\n }\n },\n \"htmlparser2\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz\",\n \"integrity\": \"sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==\",\n \"requires\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.0.0\",\n \"domutils\": \"^2.5.2\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"http-deceiver\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz\",\n \"integrity\": \"sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==\"\n },\n \"http-errors\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz\",\n \"integrity\": \"sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==\",\n \"requires\": {\n \"depd\": \"2.0.0\",\n \"inherits\": \"2.0.4\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"toidentifier\": \"1.0.1\"\n }\n },\n \"http-parser-js\": {\n \"version\": \"0.5.8\",\n \"resolved\": \"https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz\",\n \"integrity\": \"sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==\"\n },\n \"http-proxy\": {\n \"version\": \"1.18.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz\",\n \"integrity\": \"sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==\",\n \"requires\": {\n \"eventemitter3\": \"^4.0.0\",\n \"follow-redirects\": \"^1.0.0\",\n \"requires-port\": \"^1.0.0\"\n }\n },\n \"http-proxy-agent\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz\",\n \"integrity\": \"sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==\",\n \"requires\": {\n \"@tootallnate/once\": \"1\",\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n }\n },\n \"http-proxy-middleware\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz\",\n \"integrity\": \"sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==\",\n \"requires\": {\n \"@types/http-proxy\": \"^1.17.8\",\n \"http-proxy\": \"^1.18.1\",\n \"is-glob\": \"^4.0.1\",\n \"is-plain-obj\": \"^3.0.0\",\n \"micromatch\": \"^4.0.2\"\n }\n },\n \"https-proxy-agent\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz\",\n \"integrity\": \"sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==\",\n \"requires\": {\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n }\n },\n \"human-signals\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz\",\n \"integrity\": \"sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==\"\n },\n \"hyparquet\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/hyparquet/-/hyparquet-1.1.0.tgz\",\n \"integrity\": \"sha512-WrLZblRqQ1qO7oLQfJrED+4HrVm9QRASauY+fhd4Ufeuo0ULjQYH95o9oHmoJ7P+S3CBI2B6Z9lzVuhnaXw8Ew==\"\n },\n \"i18next\": {\n \"version\": \"22.5.1\",\n \"resolved\": \"https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz\",\n \"integrity\": \"sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.20.6\"\n }\n },\n \"iconv-lite\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz\",\n \"integrity\": \"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3.0.0\"\n }\n },\n \"icss-utils\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz\",\n \"integrity\": \"sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==\",\n \"requires\": {}\n },\n \"idb\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/idb/-/idb-7.1.1.tgz\",\n \"integrity\": \"sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==\"\n },\n \"identity-obj-proxy\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz\",\n \"integrity\": \"sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==\",\n \"requires\": {\n \"harmony-reflect\": \"^1.4.6\"\n }\n },\n \"ignore\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz\",\n \"integrity\": \"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==\"\n },\n \"immer\": {\n \"version\": \"9.0.21\",\n \"resolved\": \"https://registry.npmjs.org/immer/-/immer-9.0.21.tgz\",\n \"integrity\": \"sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==\"\n },\n \"import-fresh\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n \"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n \"requires\": {\n \"parent-module\": \"^1.0.0\",\n \"resolve-from\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"resolve-from\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n \"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\"\n }\n }\n },\n \"import-local\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz\",\n \"integrity\": \"sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==\",\n \"requires\": {\n \"pkg-dir\": \"^4.2.0\",\n \"resolve-cwd\": \"^3.0.0\"\n }\n },\n \"imurmurhash\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n \"integrity\": \"sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\"\n },\n \"indent-string\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\"\n },\n \"index-array-by\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz\",\n \"integrity\": \"sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==\"\n },\n \"inflight\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\",\n \"requires\": {\n \"once\": \"^1.3.0\",\n \"wrappy\": \"1\"\n }\n },\n \"inherits\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\n \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\"\n },\n \"ini\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/ini/-/ini-1.3.8.tgz\",\n \"integrity\": \"sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==\"\n },\n \"internal-slot\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz\",\n \"integrity\": \"sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==\",\n \"requires\": {\n \"es-errors\": \"^1.3.0\",\n \"hasown\": \"^2.0.0\",\n \"side-channel\": \"^1.0.4\"\n }\n },\n \"internmap\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz\",\n \"integrity\": \"sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==\"\n },\n \"ipaddr.js\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz\",\n \"integrity\": \"sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==\"\n },\n \"is-arguments\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz\",\n \"integrity\": \"sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-array-buffer\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz\",\n \"integrity\": \"sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.2.1\"\n }\n },\n \"is-arrayish\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n \"integrity\": \"sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==\"\n },\n \"is-async-function\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz\",\n \"integrity\": \"sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-bigint\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz\",\n \"integrity\": \"sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==\",\n \"requires\": {\n \"has-bigints\": \"^1.0.1\"\n }\n },\n \"is-binary-path\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz\",\n \"integrity\": \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\",\n \"requires\": {\n \"binary-extensions\": \"^2.0.0\"\n }\n },\n \"is-boolean-object\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz\",\n \"integrity\": \"sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-callable\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz\",\n \"integrity\": \"sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==\"\n },\n \"is-core-module\": {\n \"version\": \"2.15.1\",\n \"resolved\": \"https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz\",\n \"integrity\": \"sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==\",\n \"requires\": {\n \"hasown\": \"^2.0.2\"\n }\n },\n \"is-data-view\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz\",\n \"integrity\": \"sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==\",\n \"requires\": {\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"is-date-object\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz\",\n \"integrity\": \"sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-docker\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz\",\n \"integrity\": \"sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==\"\n },\n \"is-extglob\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n \"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\"\n },\n \"is-finalizationregistry\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz\",\n \"integrity\": \"sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\"\n }\n },\n \"is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\"\n },\n \"is-generator-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==\"\n },\n \"is-generator-function\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz\",\n \"integrity\": \"sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-glob\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n \"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n \"requires\": {\n \"is-extglob\": \"^2.1.1\"\n }\n },\n \"is-map\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz\",\n \"integrity\": \"sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==\"\n },\n \"is-module\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz\",\n \"integrity\": \"sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==\"\n },\n \"is-negative-zero\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz\",\n \"integrity\": \"sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==\"\n },\n \"is-number\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\"\n },\n \"is-number-object\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz\",\n \"integrity\": \"sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-obj\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz\",\n \"integrity\": \"sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==\"\n },\n \"is-path-inside\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\"\n },\n \"is-plain-obj\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz\",\n \"integrity\": \"sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==\"\n },\n \"is-potential-custom-element-name\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz\",\n \"integrity\": \"sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==\"\n },\n \"is-regex\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz\",\n \"integrity\": \"sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-regexp\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz\",\n \"integrity\": \"sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==\"\n },\n \"is-root\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz\",\n \"integrity\": \"sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==\"\n },\n \"is-set\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz\",\n \"integrity\": \"sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==\"\n },\n \"is-shared-array-buffer\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz\",\n \"integrity\": \"sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\"\n }\n },\n \"is-stream\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",\n \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==\"\n },\n \"is-string\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz\",\n \"integrity\": \"sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-symbol\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz\",\n \"integrity\": \"sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==\",\n \"requires\": {\n \"has-symbols\": \"^1.0.2\"\n }\n },\n \"is-typed-array\": {\n \"version\": \"1.1.13\",\n \"resolved\": \"https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz\",\n \"integrity\": \"sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==\",\n \"requires\": {\n \"which-typed-array\": \"^1.1.14\"\n }\n },\n \"is-typedarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==\"\n },\n \"is-weakmap\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz\",\n \"integrity\": \"sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==\"\n },\n \"is-weakref\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz\",\n \"integrity\": \"sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\"\n }\n },\n \"is-weakset\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz\",\n \"integrity\": \"sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\"\n }\n },\n \"is-wsl\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz\",\n \"integrity\": \"sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==\",\n \"requires\": {\n \"is-docker\": \"^2.0.0\"\n }\n },\n \"isarray\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz\",\n \"integrity\": \"sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==\"\n },\n \"isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\"\n },\n \"istanbul-lib-coverage\": {\n \"version\": \"3.2.2\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz\",\n \"integrity\": \"sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==\"\n },\n \"istanbul-lib-instrument\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz\",\n \"integrity\": \"sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==\",\n \"requires\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/parser\": \"^7.14.7\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-coverage\": \"^3.2.0\",\n \"semver\": \"^6.3.0\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"istanbul-lib-report\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz\",\n \"integrity\": \"sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==\",\n \"requires\": {\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"make-dir\": \"^4.0.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"make-dir\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz\",\n \"integrity\": \"sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==\",\n \"requires\": {\n \"semver\": \"^7.5.3\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"istanbul-lib-source-maps\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz\",\n \"integrity\": \"sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==\",\n \"requires\": {\n \"debug\": \"^4.1.1\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"istanbul-reports\": {\n \"version\": \"3.1.7\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz\",\n \"integrity\": \"sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==\",\n \"requires\": {\n \"html-escaper\": \"^2.0.0\",\n \"istanbul-lib-report\": \"^3.0.0\"\n }\n },\n \"iterator.prototype\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz\",\n \"integrity\": \"sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==\",\n \"requires\": {\n \"define-properties\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"reflect.getprototypeof\": \"^1.0.4\",\n \"set-function-name\": \"^2.0.1\"\n }\n },\n \"jackspeak\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz\",\n \"integrity\": \"sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==\",\n \"requires\": {\n \"@isaacs/cliui\": \"^8.0.2\",\n \"@pkgjs/parseargs\": \"^0.11.0\"\n }\n },\n \"jake\": {\n \"version\": \"10.9.2\",\n \"resolved\": \"https://registry.npmjs.org/jake/-/jake-10.9.2.tgz\",\n \"integrity\": \"sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==\",\n \"requires\": {\n \"async\": \"^3.2.3\",\n \"chalk\": \"^4.0.2\",\n \"filelist\": \"^1.0.4\",\n \"minimatch\": \"^3.1.2\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jerrypick\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jerrypick/-/jerrypick-1.1.1.tgz\",\n \"integrity\": \"sha512-XTtedPYEyVp4t6hJrXuRKr/jHj8SC4z+4K0b396PMkov6muL+i8IIamJIvZWe3jUspgIJak0P+BaWKawMYNBLg==\"\n },\n \"jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest/-/jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==\",\n \"requires\": {\n \"@jest/core\": \"^27.5.1\",\n \"import-local\": \"^3.0.2\",\n \"jest-cli\": \"^27.5.1\"\n }\n },\n \"jest-changed-files\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz\",\n \"integrity\": \"sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"execa\": \"^5.0.0\",\n \"throat\": \"^6.0.1\"\n }\n },\n \"jest-circus\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz\",\n \"integrity\": \"sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"dedent\": \"^0.7.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\",\n \"throat\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-cli\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz\",\n \"integrity\": \"sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==\",\n \"requires\": {\n \"@jest/core\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"import-local\": \"^3.0.2\",\n \"jest-config\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"prompts\": \"^2.0.1\",\n \"yargs\": \"^16.2.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-config\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz\",\n \"integrity\": \"sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==\",\n \"requires\": {\n \"@babel/core\": \"^7.8.0\",\n \"@jest/test-sequencer\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"deepmerge\": \"^4.2.2\",\n \"glob\": \"^7.1.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-circus\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-jasmine2\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"parse-json\": \"^5.2.0\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-diff\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz\",\n \"integrity\": \"sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==\",\n \"requires\": {\n \"chalk\": \"^4.0.0\",\n \"diff-sequences\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-docblock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz\",\n \"integrity\": \"sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==\",\n \"requires\": {\n \"detect-newline\": \"^3.0.0\"\n }\n },\n \"jest-each\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz\",\n \"integrity\": \"sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-environment-jsdom\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz\",\n \"integrity\": \"sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jsdom\": \"^16.6.0\"\n }\n },\n \"jest-environment-node\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz\",\n \"integrity\": \"sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n }\n },\n \"jest-get-type\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz\",\n \"integrity\": \"sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==\"\n },\n \"jest-haste-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz\",\n \"integrity\": \"sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/graceful-fs\": \"^4.1.2\",\n \"@types/node\": \"*\",\n \"anymatch\": \"^3.0.3\",\n \"fb-watchman\": \"^2.0.0\",\n \"fsevents\": \"^2.3.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-serializer\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"walker\": \"^1.0.7\"\n }\n },\n \"jest-jasmine2\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz\",\n \"integrity\": \"sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"throat\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-leak-detector\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz\",\n \"integrity\": \"sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==\",\n \"requires\": {\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n }\n },\n \"jest-matcher-utils\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz\",\n \"integrity\": \"sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==\",\n \"requires\": {\n \"chalk\": \"^4.0.0\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-message-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz\",\n \"integrity\": \"sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-mock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz\",\n \"integrity\": \"sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\"\n }\n },\n \"jest-pnp-resolver\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz\",\n \"integrity\": \"sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==\",\n \"requires\": {}\n },\n \"jest-regex-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz\",\n \"integrity\": \"sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==\"\n },\n \"jest-resolve\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz\",\n \"integrity\": \"sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-pnp-resolver\": \"^1.2.2\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"resolve\": \"^1.20.0\",\n \"resolve.exports\": \"^1.1.0\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-resolve-dependencies\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz\",\n \"integrity\": \"sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\"\n }\n },\n \"jest-runner\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz\",\n \"integrity\": \"sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==\",\n \"requires\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-docblock\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-leak-detector\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"source-map-support\": \"^0.5.6\",\n \"throat\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-runtime\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz\",\n \"integrity\": \"sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/globals\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"cjs-module-lexer\": \"^1.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"execa\": \"^5.0.0\",\n \"glob\": \"^7.1.3\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-bom\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-serializer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz\",\n \"integrity\": \"sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"graceful-fs\": \"^4.2.9\"\n }\n },\n \"jest-snapshot\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz\",\n \"integrity\": \"sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==\",\n \"requires\": {\n \"@babel/core\": \"^7.7.2\",\n \"@babel/generator\": \"^7.7.2\",\n \"@babel/plugin-syntax-typescript\": \"^7.7.2\",\n \"@babel/traverse\": \"^7.7.2\",\n \"@babel/types\": \"^7.0.0\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__traverse\": \"^7.0.4\",\n \"@types/prettier\": \"^2.1.5\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\",\n \"chalk\": \"^4.0.0\",\n \"expect\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"natural-compare\": \"^1.4.0\",\n \"pretty-format\": \"^27.5.1\",\n \"semver\": \"^7.3.2\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz\",\n \"integrity\": \"sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-validate\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz\",\n \"integrity\": \"sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"camelcase\": \"^6.2.0\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"leven\": \"^3.1.0\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-watch-typeahead\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz\",\n \"integrity\": \"sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==\",\n \"requires\": {\n \"ansi-escapes\": \"^4.3.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-regex-util\": \"^28.0.0\",\n \"jest-watcher\": \"^28.0.0\",\n \"slash\": \"^4.0.0\",\n \"string-length\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"dependencies\": {\n \"@jest/console\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz\",\n \"integrity\": \"sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==\",\n \"requires\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^28.1.3\",\n \"jest-util\": \"^28.1.3\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\"\n }\n }\n },\n \"@jest/test-result\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz\",\n \"integrity\": \"sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==\",\n \"requires\": {\n \"@jest/console\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n }\n },\n \"@jest/types\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz\",\n \"integrity\": \"sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==\",\n \"requires\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^17.0.8\",\n \"chalk\": \"^4.0.0\"\n }\n },\n \"@types/yargs\": {\n \"version\": \"17.0.33\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz\",\n \"integrity\": \"sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==\",\n \"requires\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"emittery\": {\n \"version\": \"0.10.2\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz\",\n \"integrity\": \"sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"jest-message-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz\",\n \"integrity\": \"sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^28.1.3\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"dependencies\": {\n \"slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\"\n }\n }\n },\n \"jest-regex-util\": {\n \"version\": \"28.0.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz\",\n \"integrity\": \"sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==\"\n },\n \"jest-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz\",\n \"integrity\": \"sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==\",\n \"requires\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n }\n },\n \"jest-watcher\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz\",\n \"integrity\": \"sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==\",\n \"requires\": {\n \"@jest/test-result\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.10.2\",\n \"jest-util\": \"^28.1.3\",\n \"string-length\": \"^4.0.1\"\n },\n \"dependencies\": {\n \"string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"requires\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n }\n },\n \"strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\"\n }\n }\n }\n },\n \"pretty-format\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz\",\n \"integrity\": \"sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==\",\n \"requires\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\"\n }\n }\n },\n \"react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n },\n \"slash\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-4.0.0.tgz\",\n \"integrity\": \"sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==\"\n },\n \"string-length\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz\",\n \"integrity\": \"sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==\",\n \"requires\": {\n \"char-regex\": \"^2.0.0\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"dependencies\": {\n \"char-regex\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz\",\n \"integrity\": \"sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==\"\n }\n }\n },\n \"strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"requires\": {\n \"ansi-regex\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\"\n }\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-watcher\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz\",\n \"integrity\": \"sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==\",\n \"requires\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-util\": \"^27.5.1\",\n \"string-length\": \"^4.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-worker\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz\",\n \"integrity\": \"sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jiti\": {\n \"version\": \"1.21.6\",\n \"resolved\": \"https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz\",\n \"integrity\": \"sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==\"\n },\n \"js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\"\n },\n \"js-yaml\": {\n \"version\": \"3.14.1\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz\",\n \"integrity\": \"sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==\",\n \"requires\": {\n \"argparse\": \"^1.0.7\",\n \"esprima\": \"^4.0.0\"\n }\n },\n \"jsdom\": {\n \"version\": \"16.7.0\",\n \"resolved\": \"https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz\",\n \"integrity\": \"sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==\",\n \"requires\": {\n \"abab\": \"^2.0.5\",\n \"acorn\": \"^8.2.4\",\n \"acorn-globals\": \"^6.0.0\",\n \"cssom\": \"^0.4.4\",\n \"cssstyle\": \"^2.3.0\",\n \"data-urls\": \"^2.0.0\",\n \"decimal.js\": \"^10.2.1\",\n \"domexception\": \"^2.0.1\",\n \"escodegen\": \"^2.0.0\",\n \"form-data\": \"^3.0.0\",\n \"html-encoding-sniffer\": \"^2.0.1\",\n \"http-proxy-agent\": \"^4.0.1\",\n \"https-proxy-agent\": \"^5.0.0\",\n \"is-potential-custom-element-name\": \"^1.0.1\",\n \"nwsapi\": \"^2.2.0\",\n \"parse5\": \"6.0.1\",\n \"saxes\": \"^5.0.1\",\n \"symbol-tree\": \"^3.2.4\",\n \"tough-cookie\": \"^4.0.0\",\n \"w3c-hr-time\": \"^1.0.2\",\n \"w3c-xmlserializer\": \"^2.0.0\",\n \"webidl-conversions\": \"^6.1.0\",\n \"whatwg-encoding\": \"^1.0.5\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.5.0\",\n \"ws\": \"^7.4.6\",\n \"xml-name-validator\": \"^3.0.0\"\n }\n },\n \"jsesc\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n \"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\"\n },\n \"json-buffer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\",\n \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==\"\n },\n \"json-parse-even-better-errors\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n \"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\"\n },\n \"json-schema\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",\n \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==\"\n },\n \"json-schema-traverse\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n \"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\"\n },\n \"json-stable-stringify-without-jsonify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n \"integrity\": \"sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\"\n },\n \"json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\"\n },\n \"jsonfile\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",\n \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==\",\n \"requires\": {\n \"graceful-fs\": \"^4.1.6\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"jsonpath\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz\",\n \"integrity\": \"sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==\",\n \"requires\": {\n \"esprima\": \"1.2.2\",\n \"static-eval\": \"2.0.2\",\n \"underscore\": \"1.12.1\"\n },\n \"dependencies\": {\n \"esprima\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz\",\n \"integrity\": \"sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==\"\n }\n }\n },\n \"jsonpointer\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz\",\n \"integrity\": \"sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==\"\n },\n \"jsx-ast-utils\": {\n \"version\": \"3.3.5\",\n \"resolved\": \"https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz\",\n \"integrity\": \"sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==\",\n \"requires\": {\n \"array-includes\": \"^3.1.6\",\n \"array.prototype.flat\": \"^1.3.1\",\n \"object.assign\": \"^4.1.4\",\n \"object.values\": \"^1.1.6\"\n }\n },\n \"kapsule\": {\n \"version\": \"1.14.5\",\n \"resolved\": \"https://registry.npmjs.org/kapsule/-/kapsule-1.14.5.tgz\",\n \"integrity\": \"sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==\",\n \"requires\": {\n \"lodash-es\": \"4\"\n }\n },\n \"keyv\": {\n \"version\": \"4.5.4\",\n \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\",\n \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==\",\n \"requires\": {\n \"json-buffer\": \"3.0.1\"\n }\n },\n \"kind-of\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz\",\n \"integrity\": \"sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==\"\n },\n \"kleur\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz\",\n \"integrity\": \"sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==\"\n },\n \"klona\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/klona/-/klona-2.0.6.tgz\",\n \"integrity\": \"sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==\"\n },\n \"language-subtag-registry\": {\n \"version\": \"0.3.23\",\n \"resolved\": \"https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz\",\n \"integrity\": \"sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==\"\n },\n \"language-tags\": {\n \"version\": \"1.0.9\",\n \"resolved\": \"https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz\",\n \"integrity\": \"sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==\",\n \"requires\": {\n \"language-subtag-registry\": \"^0.3.20\"\n }\n },\n \"launch-editor\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz\",\n \"integrity\": \"sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==\",\n \"requires\": {\n \"picocolors\": \"^1.0.0\",\n \"shell-quote\": \"^1.8.1\"\n }\n },\n \"leven\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/leven/-/leven-3.1.0.tgz\",\n \"integrity\": \"sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==\"\n },\n \"levn\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n \"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n \"requires\": {\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"~0.4.0\"\n }\n },\n \"lilconfig\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz\",\n \"integrity\": \"sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==\"\n },\n \"lines-and-columns\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n \"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\"\n },\n \"loader-runner\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz\",\n \"integrity\": \"sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==\"\n },\n \"loader-utils\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz\",\n \"integrity\": \"sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==\",\n \"requires\": {\n \"big.js\": \"^5.2.2\",\n \"emojis-list\": \"^3.0.0\",\n \"json5\": \"^2.1.2\"\n }\n },\n \"locate-path\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n \"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n \"requires\": {\n \"p-locate\": \"^4.1.0\"\n }\n },\n \"lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n },\n \"lodash-es\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz\",\n \"integrity\": \"sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==\"\n },\n \"lodash.debounce\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz\",\n \"integrity\": \"sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==\"\n },\n \"lodash.memoize\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n \"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\"\n },\n \"lodash.merge\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n \"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\"\n },\n \"lodash.sortby\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz\",\n \"integrity\": \"sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==\"\n },\n \"lodash.uniq\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz\",\n \"integrity\": \"sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==\"\n },\n \"loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"requires\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n }\n },\n \"lower-case\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz\",\n \"integrity\": \"sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\",\n \"requires\": {\n \"tslib\": \"^2.0.3\"\n }\n },\n \"lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"requires\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"lz-string\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz\",\n \"integrity\": \"sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==\"\n },\n \"magic-string\": {\n \"version\": \"0.25.9\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz\",\n \"integrity\": \"sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==\",\n \"requires\": {\n \"sourcemap-codec\": \"^1.4.8\"\n }\n },\n \"make-dir\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz\",\n \"integrity\": \"sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==\",\n \"requires\": {\n \"semver\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"makeerror\": {\n \"version\": \"1.0.12\",\n \"resolved\": \"https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz\",\n \"integrity\": \"sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==\",\n \"requires\": {\n \"tmpl\": \"1.0.5\"\n }\n },\n \"material-react-table\": {\n \"version\": \"2.13.1\",\n \"resolved\": \"https://registry.npmjs.org/material-react-table/-/material-react-table-2.13.1.tgz\",\n \"integrity\": \"sha512-3iWwCa24ogxwllP4+W11euR/GV6f5wQE5FEilJ72/H3hDYHgsN+XehANytaG0G7/qy/OWYE7oXkcsRUU35I/iA==\",\n \"requires\": {\n \"@tanstack/match-sorter-utils\": \"8.15.1\",\n \"@tanstack/react-table\": \"8.19.3\",\n \"@tanstack/react-virtual\": \"3.8.3\",\n \"highlight-words\": \"1.2.2\"\n }\n },\n \"mdn-data\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz\",\n \"integrity\": \"sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==\"\n },\n \"media-typer\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n \"integrity\": \"sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==\"\n },\n \"memfs\": {\n \"version\": \"3.5.3\",\n \"resolved\": \"https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz\",\n \"integrity\": \"sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==\",\n \"requires\": {\n \"fs-monkey\": \"^1.0.4\"\n }\n },\n \"merge-descriptors\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz\",\n \"integrity\": \"sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==\"\n },\n \"merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\"\n },\n \"merge2\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz\",\n \"integrity\": \"sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\"\n },\n \"meshoptimizer\": {\n \"version\": \"0.18.1\",\n \"resolved\": \"https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz\",\n \"integrity\": \"sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==\",\n \"dev\": true\n },\n \"methods\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n \"integrity\": \"sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==\"\n },\n \"micromatch\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz\",\n \"integrity\": \"sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==\",\n \"requires\": {\n \"braces\": \"^3.0.3\",\n \"picomatch\": \"^2.3.1\"\n }\n },\n \"mime\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n \"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\"\n },\n \"mime-db\": {\n \"version\": \"1.52.0\",\n \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",\n \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==\"\n },\n \"mime-types\": {\n \"version\": \"2.1.35\",\n \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",\n \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==\",\n \"requires\": {\n \"mime-db\": \"1.52.0\"\n }\n },\n \"mimic-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==\"\n },\n \"min-indent\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n \"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\"\n },\n \"mini-css-extract-plugin\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz\",\n \"integrity\": \"sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==\",\n \"requires\": {\n \"schema-utils\": \"^4.0.0\",\n \"tapable\": \"^2.2.1\"\n }\n },\n \"minimalistic-assert\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz\",\n \"integrity\": \"sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==\"\n },\n \"minimatch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n \"requires\": {\n \"brace-expansion\": \"^1.1.7\"\n }\n },\n \"minimist\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",\n \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\"\n },\n \"minipass\": {\n \"version\": \"7.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz\",\n \"integrity\": \"sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==\"\n },\n \"mkdirp\": {\n \"version\": \"0.5.6\",\n \"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz\",\n \"integrity\": \"sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==\",\n \"requires\": {\n \"minimist\": \"^1.2.6\"\n }\n },\n \"ms\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\"\n },\n \"multicast-dns\": {\n \"version\": \"7.2.5\",\n \"resolved\": \"https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz\",\n \"integrity\": \"sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==\",\n \"requires\": {\n \"dns-packet\": \"^5.2.2\",\n \"thunky\": \"^1.0.2\"\n }\n },\n \"mz\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/mz/-/mz-2.7.0.tgz\",\n \"integrity\": \"sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==\",\n \"requires\": {\n \"any-promise\": \"^1.0.0\",\n \"object-assign\": \"^4.0.1\",\n \"thenify-all\": \"^1.0.0\"\n }\n },\n \"nanoid\": {\n \"version\": \"3.3.7\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz\",\n \"integrity\": \"sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==\"\n },\n \"natural-compare\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n \"integrity\": \"sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\"\n },\n \"natural-compare-lite\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz\",\n \"integrity\": \"sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==\"\n },\n \"negotiator\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz\",\n \"integrity\": \"sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==\"\n },\n \"neo-async\": {\n \"version\": \"2.6.2\",\n \"resolved\": \"https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz\",\n \"integrity\": \"sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==\"\n },\n \"ngraph.events\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz\",\n \"integrity\": \"sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==\"\n },\n \"ngraph.forcelayout\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz\",\n \"integrity\": \"sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==\",\n \"requires\": {\n \"ngraph.events\": \"^1.0.0\",\n \"ngraph.merge\": \"^1.0.0\",\n \"ngraph.random\": \"^1.0.0\"\n }\n },\n \"ngraph.graph\": {\n \"version\": \"20.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz\",\n \"integrity\": \"sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==\",\n \"requires\": {\n \"ngraph.events\": \"^1.2.1\"\n }\n },\n \"ngraph.merge\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.merge/-/ngraph.merge-1.0.0.tgz\",\n \"integrity\": \"sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg==\"\n },\n \"ngraph.random\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.random/-/ngraph.random-1.1.0.tgz\",\n \"integrity\": \"sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw==\"\n },\n \"no-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz\",\n \"integrity\": \"sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\",\n \"requires\": {\n \"lower-case\": \"^2.0.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node-forge\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz\",\n \"integrity\": \"sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==\"\n },\n \"node-int64\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz\",\n \"integrity\": \"sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==\"\n },\n \"node-releases\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz\",\n \"integrity\": \"sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==\"\n },\n \"normalize-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz\",\n \"integrity\": \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\"\n },\n \"normalize-range\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz\",\n \"integrity\": \"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\"\n },\n \"normalize-url\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz\",\n \"integrity\": \"sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==\"\n },\n \"npm-run-path\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",\n \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==\",\n \"requires\": {\n \"path-key\": \"^3.0.0\"\n }\n },\n \"nth-check\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n \"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n \"requires\": {\n \"boolbase\": \"^1.0.0\"\n }\n },\n \"nwsapi\": {\n \"version\": \"2.2.12\",\n \"resolved\": \"https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz\",\n \"integrity\": \"sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==\"\n },\n \"object-assign\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz\",\n \"integrity\": \"sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==\"\n },\n \"object-hash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz\",\n \"integrity\": \"sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\"\n },\n \"object-inspect\": {\n \"version\": \"1.13.2\",\n \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz\",\n \"integrity\": \"sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==\"\n },\n \"object-is\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz\",\n \"integrity\": \"sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\"\n }\n },\n \"object-keys\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n \"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\"\n },\n \"object.assign\": {\n \"version\": \"4.1.5\",\n \"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz\",\n \"integrity\": \"sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"object-keys\": \"^1.1.1\"\n }\n },\n \"object.entries\": {\n \"version\": \"1.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz\",\n \"integrity\": \"sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"object.fromentries\": {\n \"version\": \"2.0.8\",\n \"resolved\": \"https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz\",\n \"integrity\": \"sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"object.getownpropertydescriptors\": {\n \"version\": \"2.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz\",\n \"integrity\": \"sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==\",\n \"requires\": {\n \"array.prototype.reduce\": \"^1.0.6\",\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"gopd\": \"^1.0.1\",\n \"safe-array-concat\": \"^1.1.2\"\n }\n },\n \"object.groupby\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz\",\n \"integrity\": \"sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\"\n }\n },\n \"object.values\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz\",\n \"integrity\": \"sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"obuf\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz\",\n \"integrity\": \"sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==\"\n },\n \"on-finished\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz\",\n \"integrity\": \"sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==\",\n \"requires\": {\n \"ee-first\": \"1.1.1\"\n }\n },\n \"on-headers\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n \"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\"\n },\n \"once\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\",\n \"requires\": {\n \"wrappy\": \"1\"\n }\n },\n \"onetime\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",\n \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==\",\n \"requires\": {\n \"mimic-fn\": \"^2.1.0\"\n }\n },\n \"open\": {\n \"version\": \"8.4.2\",\n \"resolved\": \"https://registry.npmjs.org/open/-/open-8.4.2.tgz\",\n \"integrity\": \"sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==\",\n \"requires\": {\n \"define-lazy-prop\": \"^2.0.0\",\n \"is-docker\": \"^2.1.1\",\n \"is-wsl\": \"^2.2.0\"\n }\n },\n \"optionator\": {\n \"version\": \"0.9.4\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz\",\n \"integrity\": \"sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==\",\n \"requires\": {\n \"deep-is\": \"^0.1.3\",\n \"fast-levenshtein\": \"^2.0.6\",\n \"levn\": \"^0.4.1\",\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"^0.4.0\",\n \"word-wrap\": \"^1.2.5\"\n }\n },\n \"p-limit\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n \"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n \"requires\": {\n \"p-try\": \"^2.0.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n \"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n \"requires\": {\n \"p-limit\": \"^2.2.0\"\n }\n },\n \"p-retry\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz\",\n \"integrity\": \"sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==\",\n \"requires\": {\n \"@types/retry\": \"0.12.0\",\n \"retry\": \"^0.13.1\"\n }\n },\n \"p-try\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n \"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\"\n },\n \"package-json-from-dist\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz\",\n \"integrity\": \"sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==\"\n },\n \"param-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz\",\n \"integrity\": \"sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==\",\n \"requires\": {\n \"dot-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"parent-module\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n \"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n \"requires\": {\n \"callsites\": \"^3.0.0\"\n }\n },\n \"parse-json\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n \"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.0.0\",\n \"error-ex\": \"^1.3.1\",\n \"json-parse-even-better-errors\": \"^2.3.0\",\n \"lines-and-columns\": \"^1.1.6\"\n }\n },\n \"parse5\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz\",\n \"integrity\": \"sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==\"\n },\n \"parseurl\": {\n \"version\": \"1.3.3\",\n \"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n \"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\"\n },\n \"pascal-case\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz\",\n \"integrity\": \"sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==\",\n \"requires\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"path-exists\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n \"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\"\n },\n \"path-is-absolute\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\"\n },\n \"path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\"\n },\n \"path-parse\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz\",\n \"integrity\": \"sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\"\n },\n \"path-scurry\": {\n \"version\": \"1.11.1\",\n \"resolved\": \"https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz\",\n \"integrity\": \"sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==\",\n \"requires\": {\n \"lru-cache\": \"^10.2.0\",\n \"minipass\": \"^5.0.0 || ^6.0.2 || ^7.0.0\"\n },\n \"dependencies\": {\n \"lru-cache\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz\",\n \"integrity\": \"sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==\"\n }\n }\n },\n \"path-to-regexp\": {\n \"version\": \"0.1.10\",\n \"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz\",\n \"integrity\": \"sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==\"\n },\n \"path-type\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz\",\n \"integrity\": \"sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==\"\n },\n \"performance-now\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==\"\n },\n \"picocolors\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz\",\n \"integrity\": \"sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==\"\n },\n \"picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\"\n },\n \"pify\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",\n \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\"\n },\n \"pinkie\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz\",\n \"integrity\": \"sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==\",\n \"dev\": true\n },\n \"pinkie-promise\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz\",\n \"integrity\": \"sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==\",\n \"dev\": true,\n \"requires\": {\n \"pinkie\": \"^2.0.0\"\n }\n },\n \"pirates\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz\",\n \"integrity\": \"sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==\"\n },\n \"pkg-dir\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz\",\n \"integrity\": \"sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==\",\n \"requires\": {\n \"find-up\": \"^4.0.0\"\n }\n },\n \"pkg-up\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz\",\n \"integrity\": \"sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==\",\n \"requires\": {\n \"find-up\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"find-up\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n \"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n \"requires\": {\n \"locate-path\": \"^3.0.0\"\n }\n },\n \"locate-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n \"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n \"requires\": {\n \"p-locate\": \"^3.0.0\",\n \"path-exists\": \"^3.0.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n \"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n \"requires\": {\n \"p-limit\": \"^2.0.0\"\n }\n },\n \"path-exists\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n \"integrity\": \"sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==\"\n }\n }\n },\n \"polished\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/polished/-/polished-4.3.1.tgz\",\n \"integrity\": \"sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.17.8\"\n }\n },\n \"possible-typed-array-names\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz\",\n \"integrity\": \"sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==\"\n },\n \"postcss\": {\n \"version\": \"8.4.47\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz\",\n \"integrity\": \"sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==\",\n \"requires\": {\n \"nanoid\": \"^3.3.7\",\n \"picocolors\": \"^1.1.0\",\n \"source-map-js\": \"^1.2.1\"\n }\n },\n \"postcss-attribute-case-insensitive\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz\",\n \"integrity\": \"sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-browser-comments\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz\",\n \"integrity\": \"sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==\",\n \"requires\": {}\n },\n \"postcss-calc\": {\n \"version\": \"8.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz\",\n \"integrity\": \"sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-clamp\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz\",\n \"integrity\": \"sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-color-functional-notation\": {\n \"version\": \"4.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz\",\n \"integrity\": \"sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-color-hex-alpha\": {\n \"version\": \"8.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz\",\n \"integrity\": \"sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-color-rebeccapurple\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz\",\n \"integrity\": \"sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-colormin\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz\",\n \"integrity\": \"sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"colord\": \"^2.9.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-convert-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz\",\n \"integrity\": \"sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-custom-media\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz\",\n \"integrity\": \"sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-custom-properties\": {\n \"version\": \"12.1.11\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz\",\n \"integrity\": \"sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-custom-selectors\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz\",\n \"integrity\": \"sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n }\n },\n \"postcss-dir-pseudo-class\": {\n \"version\": \"6.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz\",\n \"integrity\": \"sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-discard-comments\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz\",\n \"integrity\": \"sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==\",\n \"requires\": {}\n },\n \"postcss-discard-duplicates\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz\",\n \"integrity\": \"sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==\",\n \"requires\": {}\n },\n \"postcss-discard-empty\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz\",\n \"integrity\": \"sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==\",\n \"requires\": {}\n },\n \"postcss-discard-overridden\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz\",\n \"integrity\": \"sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==\",\n \"requires\": {}\n },\n \"postcss-double-position-gradients\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz\",\n \"integrity\": \"sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-env-function\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz\",\n \"integrity\": \"sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-flexbugs-fixes\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz\",\n \"integrity\": \"sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==\",\n \"requires\": {}\n },\n \"postcss-focus-visible\": {\n \"version\": \"6.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz\",\n \"integrity\": \"sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"postcss-focus-within\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz\",\n \"integrity\": \"sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"postcss-font-variant\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz\",\n \"integrity\": \"sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==\",\n \"requires\": {}\n },\n \"postcss-gap-properties\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz\",\n \"integrity\": \"sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==\",\n \"requires\": {}\n },\n \"postcss-image-set-function\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz\",\n \"integrity\": \"sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-import\": {\n \"version\": \"15.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz\",\n \"integrity\": \"sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.0.0\",\n \"read-cache\": \"^1.0.0\",\n \"resolve\": \"^1.1.7\"\n }\n },\n \"postcss-initial\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz\",\n \"integrity\": \"sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==\",\n \"requires\": {}\n },\n \"postcss-js\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz\",\n \"integrity\": \"sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\",\n \"requires\": {\n \"camelcase-css\": \"^2.0.1\"\n }\n },\n \"postcss-lab-function\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz\",\n \"integrity\": \"sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-load-config\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz\",\n \"integrity\": \"sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==\",\n \"requires\": {\n \"lilconfig\": \"^3.0.0\",\n \"yaml\": \"^2.3.4\"\n },\n \"dependencies\": {\n \"lilconfig\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz\",\n \"integrity\": \"sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==\"\n },\n \"yaml\": {\n \"version\": \"2.5.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz\",\n \"integrity\": \"sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==\"\n }\n }\n },\n \"postcss-loader\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz\",\n \"integrity\": \"sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==\",\n \"requires\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"klona\": \"^2.0.5\",\n \"semver\": \"^7.3.5\"\n }\n },\n \"postcss-logical\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz\",\n \"integrity\": \"sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==\",\n \"requires\": {}\n },\n \"postcss-media-minmax\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz\",\n \"integrity\": \"sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==\",\n \"requires\": {}\n },\n \"postcss-merge-longhand\": {\n \"version\": \"5.1.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz\",\n \"integrity\": \"sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"stylehacks\": \"^5.1.1\"\n }\n },\n \"postcss-merge-rules\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz\",\n \"integrity\": \"sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-selector-parser\": \"^6.0.5\"\n }\n },\n \"postcss-minify-font-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz\",\n \"integrity\": \"sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-minify-gradients\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz\",\n \"integrity\": \"sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==\",\n \"requires\": {\n \"colord\": \"^2.9.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-minify-params\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz\",\n \"integrity\": \"sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-minify-selectors\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz\",\n \"integrity\": \"sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n }\n },\n \"postcss-modules-extract-imports\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz\",\n \"integrity\": \"sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==\",\n \"requires\": {}\n },\n \"postcss-modules-local-by-default\": {\n \"version\": \"4.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz\",\n \"integrity\": \"sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==\",\n \"requires\": {\n \"icss-utils\": \"^5.0.0\",\n \"postcss-selector-parser\": \"^6.0.2\",\n \"postcss-value-parser\": \"^4.1.0\"\n }\n },\n \"postcss-modules-scope\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz\",\n \"integrity\": \"sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n }\n },\n \"postcss-modules-values\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz\",\n \"integrity\": \"sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==\",\n \"requires\": {\n \"icss-utils\": \"^5.0.0\"\n }\n },\n \"postcss-nested\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz\",\n \"integrity\": \"sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.1.1\"\n }\n },\n \"postcss-nesting\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz\",\n \"integrity\": \"sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==\",\n \"requires\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-normalize\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz\",\n \"integrity\": \"sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==\",\n \"requires\": {\n \"@csstools/normalize.css\": \"*\",\n \"postcss-browser-comments\": \"^4\",\n \"sanitize.css\": \"*\"\n }\n },\n \"postcss-normalize-charset\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz\",\n \"integrity\": \"sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==\",\n \"requires\": {}\n },\n \"postcss-normalize-display-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz\",\n \"integrity\": \"sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-positions\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz\",\n \"integrity\": \"sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-repeat-style\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz\",\n \"integrity\": \"sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-string\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz\",\n \"integrity\": \"sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-timing-functions\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz\",\n \"integrity\": \"sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-unicode\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz\",\n \"integrity\": \"sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-url\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz\",\n \"integrity\": \"sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==\",\n \"requires\": {\n \"normalize-url\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-whitespace\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz\",\n \"integrity\": \"sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-opacity-percentage\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz\",\n \"integrity\": \"sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==\",\n \"requires\": {}\n },\n \"postcss-ordered-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz\",\n \"integrity\": \"sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==\",\n \"requires\": {\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-overflow-shorthand\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz\",\n \"integrity\": \"sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-page-break\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz\",\n \"integrity\": \"sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==\",\n \"requires\": {}\n },\n \"postcss-place\": {\n \"version\": \"7.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz\",\n \"integrity\": \"sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-preset-env\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz\",\n \"integrity\": \"sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==\",\n \"requires\": {\n \"@csstools/postcss-cascade-layers\": \"^1.1.1\",\n \"@csstools/postcss-color-function\": \"^1.1.1\",\n \"@csstools/postcss-font-format-keywords\": \"^1.0.1\",\n \"@csstools/postcss-hwb-function\": \"^1.0.2\",\n \"@csstools/postcss-ic-unit\": \"^1.0.1\",\n \"@csstools/postcss-is-pseudo-class\": \"^2.0.7\",\n \"@csstools/postcss-nested-calc\": \"^1.0.0\",\n \"@csstools/postcss-normalize-display-values\": \"^1.0.1\",\n \"@csstools/postcss-oklab-function\": \"^1.1.1\",\n \"@csstools/postcss-progressive-custom-properties\": \"^1.3.0\",\n \"@csstools/postcss-stepped-value-functions\": \"^1.0.1\",\n \"@csstools/postcss-text-decoration-shorthand\": \"^1.0.0\",\n \"@csstools/postcss-trigonometric-functions\": \"^1.0.2\",\n \"@csstools/postcss-unset-value\": \"^1.0.2\",\n \"autoprefixer\": \"^10.4.13\",\n \"browserslist\": \"^4.21.4\",\n \"css-blank-pseudo\": \"^3.0.3\",\n \"css-has-pseudo\": \"^3.0.4\",\n \"css-prefers-color-scheme\": \"^6.0.3\",\n \"cssdb\": \"^7.1.0\",\n \"postcss-attribute-case-insensitive\": \"^5.0.2\",\n \"postcss-clamp\": \"^4.1.0\",\n \"postcss-color-functional-notation\": \"^4.2.4\",\n \"postcss-color-hex-alpha\": \"^8.0.4\",\n \"postcss-color-rebeccapurple\": \"^7.1.1\",\n \"postcss-custom-media\": \"^8.0.2\",\n \"postcss-custom-properties\": \"^12.1.10\",\n \"postcss-custom-selectors\": \"^6.0.3\",\n \"postcss-dir-pseudo-class\": \"^6.0.5\",\n \"postcss-double-position-gradients\": \"^3.1.2\",\n \"postcss-env-function\": \"^4.0.6\",\n \"postcss-focus-visible\": \"^6.0.4\",\n \"postcss-focus-within\": \"^5.0.4\",\n \"postcss-font-variant\": \"^5.0.0\",\n \"postcss-gap-properties\": \"^3.0.5\",\n \"postcss-image-set-function\": \"^4.0.7\",\n \"postcss-initial\": \"^4.0.1\",\n \"postcss-lab-function\": \"^4.2.1\",\n \"postcss-logical\": \"^5.0.4\",\n \"postcss-media-minmax\": \"^5.0.0\",\n \"postcss-nesting\": \"^10.2.0\",\n \"postcss-opacity-percentage\": \"^1.1.2\",\n \"postcss-overflow-shorthand\": \"^3.0.4\",\n \"postcss-page-break\": \"^3.0.4\",\n \"postcss-place\": \"^7.0.5\",\n \"postcss-pseudo-class-any-link\": \"^7.1.6\",\n \"postcss-replace-overflow-wrap\": \"^4.0.0\",\n \"postcss-selector-not\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-pseudo-class-any-link\": {\n \"version\": \"7.1.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz\",\n \"integrity\": \"sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-reduce-initial\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz\",\n \"integrity\": \"sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\"\n }\n },\n \"postcss-reduce-transforms\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz\",\n \"integrity\": \"sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-replace-overflow-wrap\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz\",\n \"integrity\": \"sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==\",\n \"requires\": {}\n },\n \"postcss-selector-not\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz\",\n \"integrity\": \"sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-selector-parser\": {\n \"version\": \"6.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz\",\n \"integrity\": \"sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==\",\n \"requires\": {\n \"cssesc\": \"^3.0.0\",\n \"util-deprecate\": \"^1.0.2\"\n }\n },\n \"postcss-svgo\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz\",\n \"integrity\": \"sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"svgo\": \"^2.7.0\"\n },\n \"dependencies\": {\n \"commander\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-7.2.0.tgz\",\n \"integrity\": \"sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==\"\n },\n \"css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"requires\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n }\n },\n \"mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"svgo\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz\",\n \"integrity\": \"sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==\",\n \"requires\": {\n \"@trysound/sax\": \"0.2.0\",\n \"commander\": \"^7.2.0\",\n \"css-select\": \"^4.1.3\",\n \"css-tree\": \"^1.1.3\",\n \"csso\": \"^4.2.0\",\n \"picocolors\": \"^1.0.0\",\n \"stable\": \"^0.1.8\"\n }\n }\n }\n },\n \"postcss-unique-selectors\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz\",\n \"integrity\": \"sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n }\n },\n \"postcss-value-parser\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz\",\n \"integrity\": \"sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\"\n },\n \"prelude-ls\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n \"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\"\n },\n \"pretty-bytes\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",\n \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==\"\n },\n \"pretty-error\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz\",\n \"integrity\": \"sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==\",\n \"requires\": {\n \"lodash\": \"^4.17.20\",\n \"renderkid\": \"^3.0.0\"\n }\n },\n \"pretty-format\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz\",\n \"integrity\": \"sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^17.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\"\n }\n }\n },\n \"process-nextick-args\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n \"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\"\n },\n \"promise\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/promise/-/promise-8.3.0.tgz\",\n \"integrity\": \"sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==\",\n \"requires\": {\n \"asap\": \"~2.0.6\"\n }\n },\n \"prompts\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz\",\n \"integrity\": \"sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==\",\n \"requires\": {\n \"kleur\": \"^3.0.3\",\n \"sisteransi\": \"^1.0.5\"\n }\n },\n \"prop-types\": {\n \"version\": \"15.8.1\",\n \"resolved\": \"https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz\",\n \"integrity\": \"sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==\",\n \"requires\": {\n \"loose-envify\": \"^1.4.0\",\n \"object-assign\": \"^4.1.1\",\n \"react-is\": \"^16.13.1\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n }\n }\n },\n \"proxy-addr\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz\",\n \"integrity\": \"sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==\",\n \"requires\": {\n \"forwarded\": \"0.2.0\",\n \"ipaddr.js\": \"1.9.1\"\n },\n \"dependencies\": {\n \"ipaddr.js\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n \"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\"\n }\n }\n },\n \"proxy-from-env\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz\",\n \"integrity\": \"sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==\"\n },\n \"psl\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",\n \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==\"\n },\n \"punycode\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz\",\n \"integrity\": \"sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==\"\n },\n \"q\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/q/-/q-1.5.1.tgz\",\n \"integrity\": \"sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==\"\n },\n \"qs\": {\n \"version\": \"6.13.0\",\n \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.13.0.tgz\",\n \"integrity\": \"sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==\",\n \"requires\": {\n \"side-channel\": \"^1.0.6\"\n }\n },\n \"querystringify\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",\n \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==\"\n },\n \"queue-microtask\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n \"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\"\n },\n \"raf\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/raf/-/raf-3.4.1.tgz\",\n \"integrity\": \"sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==\",\n \"requires\": {\n \"performance-now\": \"^2.1.0\"\n }\n },\n \"randombytes\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz\",\n \"integrity\": \"sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\",\n \"requires\": {\n \"safe-buffer\": \"^5.1.0\"\n }\n },\n \"range-parser\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n \"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\"\n },\n \"raw-body\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz\",\n \"integrity\": \"sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==\",\n \"requires\": {\n \"bytes\": \"3.1.2\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"unpipe\": \"1.0.0\"\n },\n \"dependencies\": {\n \"bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\"\n },\n \"iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n }\n }\n }\n },\n \"react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"react-app-polyfill\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz\",\n \"integrity\": \"sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==\",\n \"requires\": {\n \"core-js\": \"^3.19.2\",\n \"object-assign\": \"^4.1.1\",\n \"promise\": \"^8.1.0\",\n \"raf\": \"^3.4.1\",\n \"regenerator-runtime\": \"^0.13.9\",\n \"whatwg-fetch\": \"^3.6.2\"\n },\n \"dependencies\": {\n \"regenerator-runtime\": {\n \"version\": \"0.13.11\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz\",\n \"integrity\": \"sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\"\n }\n }\n },\n \"react-app-rewired\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz\",\n \"integrity\": \"sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==\",\n \"requires\": {\n \"semver\": \"^5.6.0\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"5.7.2\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.2.tgz\",\n \"integrity\": \"sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==\"\n }\n }\n },\n \"react-dev-utils\": {\n \"version\": \"12.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz\",\n \"integrity\": \"sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.16.0\",\n \"address\": \"^1.1.2\",\n \"browserslist\": \"^4.18.1\",\n \"chalk\": \"^4.1.2\",\n \"cross-spawn\": \"^7.0.3\",\n \"detect-port-alt\": \"^1.1.6\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"filesize\": \"^8.0.6\",\n \"find-up\": \"^5.0.0\",\n \"fork-ts-checker-webpack-plugin\": \"^6.5.0\",\n \"global-modules\": \"^2.0.0\",\n \"globby\": \"^11.0.4\",\n \"gzip-size\": \"^6.0.0\",\n \"immer\": \"^9.0.7\",\n \"is-root\": \"^2.1.0\",\n \"loader-utils\": \"^3.2.0\",\n \"open\": \"^8.4.0\",\n \"pkg-up\": \"^3.1.0\",\n \"prompts\": \"^2.4.2\",\n \"react-error-overlay\": \"^6.0.11\",\n \"recursive-readdir\": \"^2.2.2\",\n \"shell-quote\": \"^1.7.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"\n },\n \"find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"requires\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n }\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"loader-utils\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz\",\n \"integrity\": \"sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==\"\n },\n \"locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"requires\": {\n \"p-locate\": \"^5.0.0\"\n }\n },\n \"p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"requires\": {\n \"yocto-queue\": \"^0.1.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"requires\": {\n \"p-limit\": \"^3.0.2\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n }\n },\n \"react-dropzone\": {\n \"version\": \"14.2.3\",\n \"resolved\": \"https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz\",\n \"integrity\": \"sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==\",\n \"requires\": {\n \"attr-accept\": \"^2.2.2\",\n \"file-selector\": \"^0.6.0\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"react-error-overlay\": {\n \"version\": \"6.0.11\",\n \"resolved\": \"https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz\",\n \"integrity\": \"sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==\"\n },\n \"react-force-graph-2d\": {\n \"version\": \"1.25.5\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-2d/-/react-force-graph-2d-1.25.5.tgz\",\n \"integrity\": \"sha512-3u8WjZZorpwZSDs3n3QeOS9ZoxFPM+IR9SStYJVQ/qKECydMHarxnf7ynV/MKJbC6kUsc60soD0V+Uq/r2vz7Q==\",\n \"requires\": {\n \"force-graph\": \"1\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n }\n },\n \"react-force-graph-3d\": {\n \"version\": \"1.24.3\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-3d/-/react-force-graph-3d-1.24.3.tgz\",\n \"integrity\": \"sha512-GGQijzwz0Ig9avTMmosVOr5h3XaSabiTNdXwpoEwVZBkdVd0gc6FvWK3WPv8MoY8pclD9Rre4Gfbh0zBFVVBsA==\",\n \"requires\": {\n \"3d-force-graph\": \"^1.73\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n }\n },\n \"react-ga4\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz\",\n \"integrity\": \"sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==\"\n },\n \"react-i18next\": {\n \"version\": \"12.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz\",\n \"integrity\": \"sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.20.6\",\n \"html-parse-stringify\": \"^3.0.1\"\n }\n },\n \"react-is\": {\n \"version\": \"17.0.2\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz\",\n \"integrity\": \"sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==\"\n },\n \"react-kapsule\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/react-kapsule/-/react-kapsule-2.4.0.tgz\",\n \"integrity\": \"sha512-w4Yv9CgWdj8kWGQEPNWFGJJ08dYEZHZpiaFR/DgZjCMBNqv9wus2Gy1qvHVJmJbzvAZbq6jdvFC+NYzEqAlNhQ==\",\n \"requires\": {\n \"fromentries\": \"^1.3.2\",\n \"jerrypick\": \"^1.1.1\"\n }\n },\n \"react-refresh\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz\",\n \"integrity\": \"sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==\"\n },\n \"react-scripts\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz\",\n \"integrity\": \"sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==\",\n \"requires\": {\n \"@babel/core\": \"^7.16.0\",\n \"@pmmmwh/react-refresh-webpack-plugin\": \"^0.5.3\",\n \"@svgr/webpack\": \"^5.5.0\",\n \"babel-jest\": \"^27.4.2\",\n \"babel-loader\": \"^8.2.3\",\n \"babel-plugin-named-asset-import\": \"^0.3.8\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"bfj\": \"^7.0.2\",\n \"browserslist\": \"^4.18.1\",\n \"camelcase\": \"^6.2.1\",\n \"case-sensitive-paths-webpack-plugin\": \"^2.4.0\",\n \"css-loader\": \"^6.5.1\",\n \"css-minimizer-webpack-plugin\": \"^3.2.0\",\n \"dotenv\": \"^10.0.0\",\n \"dotenv-expand\": \"^5.1.0\",\n \"eslint\": \"^8.3.0\",\n \"eslint-config-react-app\": \"^7.0.1\",\n \"eslint-webpack-plugin\": \"^3.1.1\",\n \"file-loader\": \"^6.2.0\",\n \"fs-extra\": \"^10.0.0\",\n \"fsevents\": \"^2.3.2\",\n \"html-webpack-plugin\": \"^5.5.0\",\n \"identity-obj-proxy\": \"^3.0.0\",\n \"jest\": \"^27.4.3\",\n \"jest-resolve\": \"^27.4.2\",\n \"jest-watch-typeahead\": \"^1.0.0\",\n \"mini-css-extract-plugin\": \"^2.4.5\",\n \"postcss\": \"^8.4.4\",\n \"postcss-flexbugs-fixes\": \"^5.0.2\",\n \"postcss-loader\": \"^6.2.1\",\n \"postcss-normalize\": \"^10.0.1\",\n \"postcss-preset-env\": \"^7.0.1\",\n \"prompts\": \"^2.4.2\",\n \"react-app-polyfill\": \"^3.0.0\",\n \"react-dev-utils\": \"^12.0.1\",\n \"react-refresh\": \"^0.11.0\",\n \"resolve\": \"^1.20.0\",\n \"resolve-url-loader\": \"^4.0.0\",\n \"sass-loader\": \"^12.3.0\",\n \"semver\": \"^7.3.5\",\n \"source-map-loader\": \"^3.0.0\",\n \"style-loader\": \"^3.3.1\",\n \"tailwindcss\": \"^3.0.2\",\n \"terser-webpack-plugin\": \"^5.2.5\",\n \"webpack\": \"^5.64.4\",\n \"webpack-dev-server\": \"^4.6.0\",\n \"webpack-manifest-plugin\": \"^4.0.2\",\n \"workbox-webpack-plugin\": \"^6.4.1\"\n }\n },\n \"react-table\": {\n \"version\": \"7.8.0\",\n \"resolved\": \"https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz\",\n \"integrity\": \"sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==\",\n \"requires\": {}\n },\n \"react-transition-group\": {\n \"version\": \"4.4.5\",\n \"resolved\": \"https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz\",\n \"integrity\": \"sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.5.5\",\n \"dom-helpers\": \"^5.0.1\",\n \"loose-envify\": \"^1.4.0\",\n \"prop-types\": \"^15.6.2\"\n }\n },\n \"read-cache\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz\",\n \"integrity\": \"sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\",\n \"requires\": {\n \"pify\": \"^2.3.0\"\n }\n },\n \"readable-stream\": {\n \"version\": \"3.6.2\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz\",\n \"integrity\": \"sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==\",\n \"requires\": {\n \"inherits\": \"^2.0.3\",\n \"string_decoder\": \"^1.1.1\",\n \"util-deprecate\": \"^1.0.1\"\n }\n },\n \"readdirp\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz\",\n \"integrity\": \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\",\n \"requires\": {\n \"picomatch\": \"^2.2.1\"\n }\n },\n \"recursive-readdir\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz\",\n \"integrity\": \"sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==\",\n \"requires\": {\n \"minimatch\": \"^3.0.5\"\n }\n },\n \"redent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/redent/-/redent-3.0.0.tgz\",\n \"integrity\": \"sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==\",\n \"requires\": {\n \"indent-string\": \"^4.0.0\",\n \"strip-indent\": \"^3.0.0\"\n }\n },\n \"reflect.getprototypeof\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz\",\n \"integrity\": \"sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.1\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"which-builtin-type\": \"^1.1.3\"\n }\n },\n \"regenerate\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz\",\n \"integrity\": \"sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==\"\n },\n \"regenerate-unicode-properties\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz\",\n \"integrity\": \"sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==\",\n \"requires\": {\n \"regenerate\": \"^1.4.2\"\n }\n },\n \"regenerator-runtime\": {\n \"version\": \"0.14.1\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz\",\n \"integrity\": \"sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==\"\n },\n \"regenerator-transform\": {\n \"version\": \"0.15.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz\",\n \"integrity\": \"sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.8.4\"\n }\n },\n \"regex-parser\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz\",\n \"integrity\": \"sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==\"\n },\n \"regexp.prototype.flags\": {\n \"version\": \"1.5.2\",\n \"resolved\": \"https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz\",\n \"integrity\": \"sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"define-properties\": \"^1.2.1\",\n \"es-errors\": \"^1.3.0\",\n \"set-function-name\": \"^2.0.1\"\n }\n },\n \"regexpu-core\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz\",\n \"integrity\": \"sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==\",\n \"requires\": {\n \"@babel/regjsgen\": \"^0.8.0\",\n \"regenerate\": \"^1.4.2\",\n \"regenerate-unicode-properties\": \"^10.1.0\",\n \"regjsparser\": \"^0.9.1\",\n \"unicode-match-property-ecmascript\": \"^2.0.0\",\n \"unicode-match-property-value-ecmascript\": \"^2.1.0\"\n }\n },\n \"regjsparser\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz\",\n \"integrity\": \"sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==\",\n \"requires\": {\n \"jsesc\": \"~0.5.0\"\n },\n \"dependencies\": {\n \"jsesc\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz\",\n \"integrity\": \"sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==\"\n }\n }\n },\n \"relateurl\": {\n \"version\": \"0.2.7\",\n \"resolved\": \"https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz\",\n \"integrity\": \"sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==\"\n },\n \"remove-accents\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz\",\n \"integrity\": \"sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==\"\n },\n \"renderkid\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz\",\n \"integrity\": \"sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==\",\n \"requires\": {\n \"css-select\": \"^4.1.3\",\n \"dom-converter\": \"^0.2.0\",\n \"htmlparser2\": \"^6.1.0\",\n \"lodash\": \"^4.17.21\",\n \"strip-ansi\": \"^6.0.1\"\n }\n },\n \"require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\"\n },\n \"require-from-string\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz\",\n \"integrity\": \"sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==\"\n },\n \"requires-port\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",\n \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==\"\n },\n \"resolve\": {\n \"version\": \"1.22.8\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz\",\n \"integrity\": \"sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==\",\n \"requires\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n }\n },\n \"resolve-cwd\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz\",\n \"integrity\": \"sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==\",\n \"requires\": {\n \"resolve-from\": \"^5.0.0\"\n }\n },\n \"resolve-from\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz\",\n \"integrity\": \"sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==\"\n },\n \"resolve-url-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==\",\n \"requires\": {\n \"adjust-sourcemap-loader\": \"^4.0.0\",\n \"convert-source-map\": \"^1.7.0\",\n \"loader-utils\": \"^2.0.0\",\n \"postcss\": \"^7.0.35\",\n \"source-map\": \"0.6.1\"\n },\n \"dependencies\": {\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"picocolors\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz\",\n \"integrity\": \"sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==\"\n },\n \"postcss\": {\n \"version\": \"7.0.39\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz\",\n \"integrity\": \"sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==\",\n \"requires\": {\n \"picocolors\": \"^0.2.1\",\n \"source-map\": \"^0.6.1\"\n }\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"resolve.exports\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz\",\n \"integrity\": \"sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==\"\n },\n \"retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\"\n },\n \"reusify\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n \"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\"\n },\n \"rimraf\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n \"requires\": {\n \"glob\": \"^7.1.3\"\n }\n },\n \"rollup\": {\n \"version\": \"2.79.1\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz\",\n \"integrity\": \"sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==\",\n \"requires\": {\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"rollup-plugin-terser\": {\n \"version\": \"7.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz\",\n \"integrity\": \"sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"jest-worker\": \"^26.2.1\",\n \"serialize-javascript\": \"^4.0.0\",\n \"terser\": \"^5.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"jest-worker\": {\n \"version\": \"26.6.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz\",\n \"integrity\": \"sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^7.0.0\"\n }\n },\n \"serialize-javascript\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz\",\n \"integrity\": \"sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==\",\n \"requires\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"run-parallel\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n \"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n \"requires\": {\n \"queue-microtask\": \"^1.2.2\"\n }\n },\n \"safe-array-concat\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz\",\n \"integrity\": \"sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\",\n \"has-symbols\": \"^1.0.3\",\n \"isarray\": \"^2.0.5\"\n }\n },\n \"safe-buffer\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",\n \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\"\n },\n \"safe-regex-test\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz\",\n \"integrity\": \"sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-regex\": \"^1.1.4\"\n }\n },\n \"safer-buffer\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\"\n },\n \"sanitize.css\": {\n \"version\": \"13.0.0\",\n \"resolved\": \"https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz\",\n \"integrity\": \"sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==\"\n },\n \"sass-loader\": {\n \"version\": \"12.6.0\",\n \"resolved\": \"https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz\",\n \"integrity\": \"sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==\",\n \"requires\": {\n \"klona\": \"^2.0.4\",\n \"neo-async\": \"^2.6.2\"\n }\n },\n \"sax\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/sax/-/sax-1.2.4.tgz\",\n \"integrity\": \"sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==\"\n },\n \"saxes\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz\",\n \"integrity\": \"sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==\",\n \"requires\": {\n \"xmlchars\": \"^2.2.0\"\n }\n },\n \"scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"schema-utils\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz\",\n \"integrity\": \"sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.9\",\n \"ajv\": \"^8.9.0\",\n \"ajv-formats\": \"^2.1.1\",\n \"ajv-keywords\": \"^5.1.0\"\n },\n \"dependencies\": {\n \"ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n }\n },\n \"ajv-keywords\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz\",\n \"integrity\": \"sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\"\n }\n },\n \"json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\"\n }\n }\n },\n \"select-hose\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz\",\n \"integrity\": \"sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==\"\n },\n \"selfsigned\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz\",\n \"integrity\": \"sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==\",\n \"requires\": {\n \"@types/node-forge\": \"^1.3.0\",\n \"node-forge\": \"^1\"\n }\n },\n \"semver\": {\n \"version\": \"7.6.3\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.3.tgz\",\n \"integrity\": \"sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==\"\n },\n \"send\": {\n \"version\": \"0.19.0\",\n \"resolved\": \"https://registry.npmjs.org/send/-/send-0.19.0.tgz\",\n \"integrity\": \"sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==\",\n \"requires\": {\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"encodeurl\": \"~1.0.2\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"mime\": \"1.6.0\",\n \"ms\": \"2.1.3\",\n \"on-finished\": \"2.4.1\",\n \"range-parser\": \"~1.2.1\",\n \"statuses\": \"2.0.1\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n },\n \"dependencies\": {\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"encodeurl\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n \"integrity\": \"sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==\"\n },\n \"ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\"\n }\n }\n },\n \"serialize-javascript\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz\",\n \"integrity\": \"sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==\",\n \"requires\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"serve-index\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz\",\n \"integrity\": \"sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==\",\n \"requires\": {\n \"accepts\": \"~1.3.4\",\n \"batch\": \"0.6.1\",\n \"debug\": \"2.6.9\",\n \"escape-html\": \"~1.0.3\",\n \"http-errors\": \"~1.6.2\",\n \"mime-types\": \"~2.1.17\",\n \"parseurl\": \"~1.3.2\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"depd\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n \"integrity\": \"sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\"\n },\n \"http-errors\": {\n \"version\": \"1.6.3\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz\",\n \"integrity\": \"sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==\",\n \"requires\": {\n \"depd\": \"~1.1.2\",\n \"inherits\": \"2.0.3\",\n \"setprototypeof\": \"1.1.0\",\n \"statuses\": \">= 1.4.0 < 2\"\n }\n },\n \"inherits\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n \"integrity\": \"sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==\"\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n },\n \"setprototypeof\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz\",\n \"integrity\": \"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==\"\n },\n \"statuses\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n \"integrity\": \"sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==\"\n }\n }\n },\n \"serve-static\": {\n \"version\": \"1.16.2\",\n \"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz\",\n \"integrity\": \"sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==\",\n \"requires\": {\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"parseurl\": \"~1.3.3\",\n \"send\": \"0.19.0\"\n }\n },\n \"set-function-length\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz\",\n \"integrity\": \"sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==\",\n \"requires\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\"\n }\n },\n \"set-function-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz\",\n \"integrity\": \"sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==\",\n \"requires\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"functions-have-names\": \"^1.2.3\",\n \"has-property-descriptors\": \"^1.0.2\"\n }\n },\n \"setprototypeof\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz\",\n \"integrity\": \"sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==\"\n },\n \"shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"requires\": {\n \"shebang-regex\": \"^3.0.0\"\n }\n },\n \"shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\"\n },\n \"shell-quote\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz\",\n \"integrity\": \"sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==\"\n },\n \"side-channel\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz\",\n \"integrity\": \"sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"object-inspect\": \"^1.13.1\"\n }\n },\n \"signal-exit\": {\n \"version\": \"3.0.7\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",\n \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==\"\n },\n \"sisteransi\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz\",\n \"integrity\": \"sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==\"\n },\n \"slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\"\n },\n \"sockjs\": {\n \"version\": \"0.3.24\",\n \"resolved\": \"https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz\",\n \"integrity\": \"sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==\",\n \"requires\": {\n \"faye-websocket\": \"^0.11.3\",\n \"uuid\": \"^8.3.2\",\n \"websocket-driver\": \"^0.7.4\"\n }\n },\n \"source-list-map\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz\",\n \"integrity\": \"sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==\"\n },\n \"source-map\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz\",\n \"integrity\": \"sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==\"\n },\n \"source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\"\n },\n \"source-map-loader\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz\",\n \"integrity\": \"sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==\",\n \"requires\": {\n \"abab\": \"^2.0.5\",\n \"iconv-lite\": \"^0.6.3\",\n \"source-map-js\": \"^1.0.1\"\n }\n },\n \"source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"requires\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"sourcemap-codec\": {\n \"version\": \"1.4.8\",\n \"resolved\": \"https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz\",\n \"integrity\": \"sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==\"\n },\n \"spdy\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz\",\n \"integrity\": \"sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==\",\n \"requires\": {\n \"debug\": \"^4.1.0\",\n \"handle-thing\": \"^2.0.0\",\n \"http-deceiver\": \"^1.2.7\",\n \"select-hose\": \"^2.0.0\",\n \"spdy-transport\": \"^3.0.0\"\n }\n },\n \"spdy-transport\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz\",\n \"integrity\": \"sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==\",\n \"requires\": {\n \"debug\": \"^4.1.0\",\n \"detect-node\": \"^2.0.4\",\n \"hpack.js\": \"^2.1.6\",\n \"obuf\": \"^1.1.2\",\n \"readable-stream\": \"^3.0.6\",\n \"wbuf\": \"^1.7.3\"\n }\n },\n \"sprintf-js\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n \"integrity\": \"sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==\"\n },\n \"stable\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/stable/-/stable-0.1.8.tgz\",\n \"integrity\": \"sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==\"\n },\n \"stack-utils\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz\",\n \"integrity\": \"sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==\",\n \"requires\": {\n \"escape-string-regexp\": \"^2.0.0\"\n },\n \"dependencies\": {\n \"escape-string-regexp\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n \"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\"\n }\n }\n },\n \"stackframe\": {\n \"version\": \"1.3.4\",\n \"resolved\": \"https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz\",\n \"integrity\": \"sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==\"\n },\n \"static-eval\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz\",\n \"integrity\": \"sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==\",\n \"requires\": {\n \"escodegen\": \"^1.8.1\"\n },\n \"dependencies\": {\n \"escodegen\": {\n \"version\": \"1.14.3\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz\",\n \"integrity\": \"sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==\",\n \"requires\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^4.2.0\",\n \"esutils\": \"^2.0.2\",\n \"optionator\": \"^0.8.1\",\n \"source-map\": \"~0.6.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n },\n \"levn\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.3.0.tgz\",\n \"integrity\": \"sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==\",\n \"requires\": {\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\"\n }\n },\n \"optionator\": {\n \"version\": \"0.8.3\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz\",\n \"integrity\": \"sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==\",\n \"requires\": {\n \"deep-is\": \"~0.1.3\",\n \"fast-levenshtein\": \"~2.0.6\",\n \"levn\": \"~0.3.0\",\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\",\n \"word-wrap\": \"~1.2.3\"\n }\n },\n \"prelude-ls\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz\",\n \"integrity\": \"sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"optional\": true\n },\n \"type-check\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz\",\n \"integrity\": \"sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==\",\n \"requires\": {\n \"prelude-ls\": \"~1.1.2\"\n }\n }\n }\n },\n \"statuses\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz\",\n \"integrity\": \"sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==\"\n },\n \"stop-iteration-iterator\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz\",\n \"integrity\": \"sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==\",\n \"requires\": {\n \"internal-slot\": \"^1.0.4\"\n }\n },\n \"string_decoder\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz\",\n \"integrity\": \"sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==\",\n \"requires\": {\n \"safe-buffer\": \"~5.2.0\"\n }\n },\n \"string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"requires\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n }\n },\n \"string-natural-compare\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz\",\n \"integrity\": \"sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==\"\n },\n \"string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"requires\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\"\n }\n }\n },\n \"string-width-cjs\": {\n \"version\": \"npm:string-width@4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"requires\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\"\n }\n }\n },\n \"string.prototype.includes\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz\",\n \"integrity\": \"sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==\",\n \"requires\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"string.prototype.matchall\": {\n \"version\": \"4.0.11\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz\",\n \"integrity\": \"sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"set-function-name\": \"^2.0.2\",\n \"side-channel\": \"^1.0.6\"\n }\n },\n \"string.prototype.repeat\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz\",\n \"integrity\": \"sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==\",\n \"requires\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"string.prototype.trim\": {\n \"version\": \"1.2.9\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz\",\n \"integrity\": \"sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.0\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"string.prototype.trimend\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz\",\n \"integrity\": \"sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"string.prototype.trimstart\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz\",\n \"integrity\": \"sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"stringify-object\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz\",\n \"integrity\": \"sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==\",\n \"requires\": {\n \"get-own-enumerable-property-symbols\": \"^3.0.0\",\n \"is-obj\": \"^1.0.1\",\n \"is-regexp\": \"^1.0.0\"\n }\n },\n \"strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\"\n }\n },\n \"strip-ansi-cjs\": {\n \"version\": \"npm:strip-ansi@6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\"\n }\n },\n \"strip-bom\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz\",\n \"integrity\": \"sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==\"\n },\n \"strip-comments\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz\",\n \"integrity\": \"sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==\"\n },\n \"strip-final-newline\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",\n \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==\"\n },\n \"strip-indent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n \"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n \"requires\": {\n \"min-indent\": \"^1.0.0\"\n }\n },\n \"strip-json-comments\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n \"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\"\n },\n \"strip-outer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz\",\n \"integrity\": \"sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==\",\n \"dev\": true,\n \"requires\": {\n \"escape-string-regexp\": \"^1.0.2\"\n }\n },\n \"style-loader\": {\n \"version\": \"3.3.4\",\n \"resolved\": \"https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz\",\n \"integrity\": \"sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==\",\n \"requires\": {}\n },\n \"stylehacks\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz\",\n \"integrity\": \"sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-selector-parser\": \"^6.0.4\"\n }\n },\n \"stylis\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz\",\n \"integrity\": \"sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==\"\n },\n \"sucrase\": {\n \"version\": \"3.35.0\",\n \"resolved\": \"https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz\",\n \"integrity\": \"sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==\",\n \"requires\": {\n \"@jridgewell/gen-mapping\": \"^0.3.2\",\n \"commander\": \"^4.0.0\",\n \"glob\": \"^10.3.10\",\n \"lines-and-columns\": \"^1.1.6\",\n \"mz\": \"^2.7.0\",\n \"pirates\": \"^4.0.1\",\n \"ts-interface-checker\": \"^0.1.9\"\n },\n \"dependencies\": {\n \"brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"requires\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"commander\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-4.1.1.tgz\",\n \"integrity\": \"sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==\"\n },\n \"glob\": {\n \"version\": \"10.4.5\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-10.4.5.tgz\",\n \"integrity\": \"sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==\",\n \"requires\": {\n \"foreground-child\": \"^3.1.0\",\n \"jackspeak\": \"^3.1.2\",\n \"minimatch\": \"^9.0.4\",\n \"minipass\": \"^7.1.2\",\n \"package-json-from-dist\": \"^1.0.0\",\n \"path-scurry\": \"^1.11.1\"\n }\n },\n \"minimatch\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz\",\n \"integrity\": \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\",\n \"requires\": {\n \"brace-expansion\": \"^2.0.1\"\n }\n }\n }\n },\n \"supports-color\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n \"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n \"requires\": {\n \"has-flag\": \"^3.0.0\"\n }\n },\n \"supports-hyperlinks\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz\",\n \"integrity\": \"sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\",\n \"supports-color\": \"^7.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"supports-preserve-symlinks-flag\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz\",\n \"integrity\": \"sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\"\n },\n \"svg-parser\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz\",\n \"integrity\": \"sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==\"\n },\n \"svgo\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz\",\n \"integrity\": \"sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==\",\n \"requires\": {\n \"chalk\": \"^2.4.1\",\n \"coa\": \"^2.0.2\",\n \"css-select\": \"^2.0.0\",\n \"css-select-base-adapter\": \"^0.1.1\",\n \"css-tree\": \"1.0.0-alpha.37\",\n \"csso\": \"^4.0.2\",\n \"js-yaml\": \"^3.13.1\",\n \"mkdirp\": \"~0.5.1\",\n \"object.values\": \"^1.1.0\",\n \"sax\": \"~1.2.4\",\n \"stable\": \"^0.1.8\",\n \"unquote\": \"~1.1.1\",\n \"util.promisify\": \"~1.0.0\"\n },\n \"dependencies\": {\n \"css-select\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz\",\n \"integrity\": \"sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==\",\n \"requires\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^3.2.1\",\n \"domutils\": \"^1.7.0\",\n \"nth-check\": \"^1.0.2\"\n }\n },\n \"css-what\": {\n \"version\": \"3.4.2\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz\",\n \"integrity\": \"sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==\"\n },\n \"dom-serializer\": {\n \"version\": \"0.2.2\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz\",\n \"integrity\": \"sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==\",\n \"requires\": {\n \"domelementtype\": \"^2.0.1\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"domutils\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz\",\n \"integrity\": \"sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==\",\n \"requires\": {\n \"dom-serializer\": \"0\",\n \"domelementtype\": \"1\"\n },\n \"dependencies\": {\n \"domelementtype\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz\",\n \"integrity\": \"sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==\"\n }\n }\n },\n \"nth-check\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz\",\n \"integrity\": \"sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==\",\n \"requires\": {\n \"boolbase\": \"~1.0.0\"\n }\n }\n }\n },\n \"symbol-tree\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz\",\n \"integrity\": \"sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==\"\n },\n \"tailwindcss\": {\n \"version\": \"3.4.13\",\n \"resolved\": \"https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz\",\n \"integrity\": \"sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==\",\n \"requires\": {\n \"@alloc/quick-lru\": \"^5.2.0\",\n \"arg\": \"^5.0.2\",\n \"chokidar\": \"^3.5.3\",\n \"didyoumean\": \"^1.2.2\",\n \"dlv\": \"^1.1.3\",\n \"fast-glob\": \"^3.3.0\",\n \"glob-parent\": \"^6.0.2\",\n \"is-glob\": \"^4.0.3\",\n \"jiti\": \"^1.21.0\",\n \"lilconfig\": \"^2.1.0\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"object-hash\": \"^3.0.0\",\n \"picocolors\": \"^1.0.0\",\n \"postcss\": \"^8.4.23\",\n \"postcss-import\": \"^15.1.0\",\n \"postcss-js\": \"^4.0.1\",\n \"postcss-load-config\": \"^4.0.1\",\n \"postcss-nested\": \"^6.0.1\",\n \"postcss-selector-parser\": \"^6.0.11\",\n \"resolve\": \"^1.22.2\",\n \"sucrase\": \"^3.32.0\"\n }\n },\n \"tapable\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz\",\n \"integrity\": \"sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==\"\n },\n \"temp-dir\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz\",\n \"integrity\": \"sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==\"\n },\n \"tempy\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz\",\n \"integrity\": \"sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==\",\n \"requires\": {\n \"is-stream\": \"^2.0.0\",\n \"temp-dir\": \"^2.0.0\",\n \"type-fest\": \"^0.16.0\",\n \"unique-string\": \"^2.0.0\"\n },\n \"dependencies\": {\n \"type-fest\": {\n \"version\": \"0.16.0\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz\",\n \"integrity\": \"sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==\"\n }\n }\n },\n \"terminal-link\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz\",\n \"integrity\": \"sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==\",\n \"requires\": {\n \"ansi-escapes\": \"^4.2.1\",\n \"supports-hyperlinks\": \"^2.0.0\"\n }\n },\n \"terser\": {\n \"version\": \"5.33.0\",\n \"resolved\": \"https://registry.npmjs.org/terser/-/terser-5.33.0.tgz\",\n \"integrity\": \"sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==\",\n \"requires\": {\n \"@jridgewell/source-map\": \"^0.3.3\",\n \"acorn\": \"^8.8.2\",\n \"commander\": \"^2.20.0\",\n \"source-map-support\": \"~0.5.20\"\n },\n \"dependencies\": {\n \"commander\": {\n \"version\": \"2.20.3\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-2.20.3.tgz\",\n \"integrity\": \"sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\"\n }\n }\n },\n \"terser-webpack-plugin\": {\n \"version\": \"5.3.10\",\n \"resolved\": \"https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz\",\n \"integrity\": \"sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==\",\n \"requires\": {\n \"@jridgewell/trace-mapping\": \"^0.3.20\",\n \"jest-worker\": \"^27.4.5\",\n \"schema-utils\": \"^3.1.1\",\n \"serialize-javascript\": \"^6.0.1\",\n \"terser\": \"^5.26.0\"\n },\n \"dependencies\": {\n \"schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"test-exclude\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz\",\n \"integrity\": \"sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==\",\n \"requires\": {\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"glob\": \"^7.1.4\",\n \"minimatch\": \"^3.0.4\"\n }\n },\n \"text-table\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n \"integrity\": \"sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==\"\n },\n \"thenify\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz\",\n \"integrity\": \"sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==\",\n \"requires\": {\n \"any-promise\": \"^1.0.0\"\n }\n },\n \"thenify-all\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz\",\n \"integrity\": \"sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==\",\n \"requires\": {\n \"thenify\": \">= 3.1.0 < 4\"\n }\n },\n \"three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==\"\n },\n \"three-forcegraph\": {\n \"version\": \"1.41.14\",\n \"resolved\": \"https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.14.tgz\",\n \"integrity\": \"sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==\",\n \"requires\": {\n \"accessor-fn\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"data-joint\": \"1\",\n \"kapsule\": \"1\",\n \"ngraph.forcelayout\": \"3\",\n \"ngraph.graph\": \"20\",\n \"tinycolor2\": \"1\"\n }\n },\n \"three-render-objects\": {\n \"version\": \"1.29.4\",\n \"resolved\": \"https://registry.npmjs.org/three-render-objects/-/three-render-objects-1.29.4.tgz\",\n \"integrity\": \"sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==\",\n \"requires\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"polished\": \"4\"\n }\n },\n \"three-spritetext\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/three-spritetext/-/three-spritetext-1.8.2.tgz\",\n \"integrity\": \"sha512-OYjyAhWnQ6+7CPKjnpq3JQM+Lpr6cSOppCtbOOzF1IbCauGkoDFvbAnxYd0LVxEsIO2RALXXScg2eX+R6CAfyA==\",\n \"requires\": {}\n },\n \"throat\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/throat/-/throat-6.0.2.tgz\",\n \"integrity\": \"sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==\"\n },\n \"thunky\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz\",\n \"integrity\": \"sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==\"\n },\n \"tinycolor2\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz\",\n \"integrity\": \"sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==\"\n },\n \"tmpl\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz\",\n \"integrity\": \"sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==\"\n },\n \"to-fast-properties\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n \"integrity\": \"sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==\"\n },\n \"to-regex-range\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n \"requires\": {\n \"is-number\": \"^7.0.0\"\n }\n },\n \"toidentifier\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz\",\n \"integrity\": \"sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==\"\n },\n \"tough-cookie\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz\",\n \"integrity\": \"sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==\",\n \"requires\": {\n \"psl\": \"^1.1.33\",\n \"punycode\": \"^2.1.1\",\n \"universalify\": \"^0.2.0\",\n \"url-parse\": \"^1.5.3\"\n },\n \"dependencies\": {\n \"universalify\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",\n \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==\"\n }\n }\n },\n \"tr46\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz\",\n \"integrity\": \"sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==\",\n \"requires\": {\n \"punycode\": \"^2.1.1\"\n }\n },\n \"trim-repeated\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz\",\n \"integrity\": \"sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==\",\n \"dev\": true,\n \"requires\": {\n \"escape-string-regexp\": \"^1.0.2\"\n }\n },\n \"tryer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz\",\n \"integrity\": \"sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==\"\n },\n \"ts-interface-checker\": {\n \"version\": \"0.1.13\",\n \"resolved\": \"https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz\",\n \"integrity\": \"sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==\"\n },\n \"tsconfig-paths\": {\n \"version\": \"3.15.0\",\n \"resolved\": \"https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz\",\n \"integrity\": \"sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==\",\n \"requires\": {\n \"@types/json5\": \"^0.0.29\",\n \"json5\": \"^1.0.2\",\n \"minimist\": \"^1.2.6\",\n \"strip-bom\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"json5\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-1.0.2.tgz\",\n \"integrity\": \"sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\",\n \"requires\": {\n \"minimist\": \"^1.2.0\"\n }\n },\n \"strip-bom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n \"integrity\": \"sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\"\n }\n }\n },\n \"tslib\": {\n \"version\": \"2.6.3\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz\",\n \"integrity\": \"sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==\"\n },\n \"tsutils\": {\n \"version\": \"3.21.0\",\n \"resolved\": \"https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz\",\n \"integrity\": \"sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==\",\n \"requires\": {\n \"tslib\": \"^1.8.1\"\n },\n \"dependencies\": {\n \"tslib\": {\n \"version\": \"1.14.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz\",\n \"integrity\": \"sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==\"\n }\n }\n },\n \"type-check\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n \"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n \"requires\": {\n \"prelude-ls\": \"^1.2.1\"\n }\n },\n \"type-detect\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz\",\n \"integrity\": \"sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==\"\n },\n \"type-fest\": {\n \"version\": \"0.21.3\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",\n \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==\"\n },\n \"type-is\": {\n \"version\": \"1.6.18\",\n \"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n \"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n \"requires\": {\n \"media-typer\": \"0.3.0\",\n \"mime-types\": \"~2.1.24\"\n }\n },\n \"typed-array-buffer\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz\",\n \"integrity\": \"sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"typed-array-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"typed-array-byte-offset\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz\",\n \"integrity\": \"sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==\",\n \"requires\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"typed-array-length\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz\",\n \"integrity\": \"sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\",\n \"possible-typed-array-names\": \"^1.0.0\"\n }\n },\n \"typedarray-to-buffer\": {\n \"version\": \"3.1.5\",\n \"resolved\": \"https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz\",\n \"integrity\": \"sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==\",\n \"requires\": {\n \"is-typedarray\": \"^1.0.0\"\n }\n },\n \"typescript\": {\n \"version\": \"4.9.5\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz\",\n \"integrity\": \"sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==\"\n },\n \"unbox-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-bigints\": \"^1.0.2\",\n \"has-symbols\": \"^1.0.3\",\n \"which-boxed-primitive\": \"^1.0.2\"\n }\n },\n \"underscore\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz\",\n \"integrity\": \"sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==\"\n },\n \"unicode-canonical-property-names-ecmascript\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz\",\n \"integrity\": \"sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==\"\n },\n \"unicode-match-property-ecmascript\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz\",\n \"integrity\": \"sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==\",\n \"requires\": {\n \"unicode-canonical-property-names-ecmascript\": \"^2.0.0\",\n \"unicode-property-aliases-ecmascript\": \"^2.0.0\"\n }\n },\n \"unicode-match-property-value-ecmascript\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz\",\n \"integrity\": \"sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==\"\n },\n \"unicode-property-aliases-ecmascript\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz\",\n \"integrity\": \"sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==\"\n },\n \"unique-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz\",\n \"integrity\": \"sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==\",\n \"requires\": {\n \"crypto-random-string\": \"^2.0.0\"\n }\n },\n \"universalify\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz\",\n \"integrity\": \"sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==\"\n },\n \"unpipe\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n \"integrity\": \"sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==\"\n },\n \"unquote\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz\",\n \"integrity\": \"sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==\"\n },\n \"upath\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/upath/-/upath-1.2.0.tgz\",\n \"integrity\": \"sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==\"\n },\n \"update-browserslist-db\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz\",\n \"integrity\": \"sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==\",\n \"requires\": {\n \"escalade\": \"^3.1.2\",\n \"picocolors\": \"^1.0.1\"\n }\n },\n \"uri-js\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz\",\n \"integrity\": \"sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\",\n \"requires\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"url-parse\": {\n \"version\": \"1.5.10\",\n \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",\n \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==\",\n \"requires\": {\n \"querystringify\": \"^2.1.1\",\n \"requires-port\": \"^1.0.0\"\n }\n },\n \"util-deprecate\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n \"integrity\": \"sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\"\n },\n \"util.promisify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz\",\n \"integrity\": \"sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==\",\n \"requires\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.2\",\n \"has-symbols\": \"^1.0.1\",\n \"object.getownpropertydescriptors\": \"^2.1.0\"\n }\n },\n \"utila\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/utila/-/utila-0.4.0.tgz\",\n \"integrity\": \"sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==\"\n },\n \"utils-merge\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n \"integrity\": \"sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==\"\n },\n \"uuid\": {\n \"version\": \"8.3.2\",\n \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",\n \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\"\n },\n \"v8-to-istanbul\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz\",\n \"integrity\": \"sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==\",\n \"requires\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.1\",\n \"convert-source-map\": \"^1.6.0\",\n \"source-map\": \"^0.7.3\"\n },\n \"dependencies\": {\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n }\n }\n },\n \"vary\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n \"integrity\": \"sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==\"\n },\n \"void-elements\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz\",\n \"integrity\": \"sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==\"\n },\n \"w3c-hr-time\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz\",\n \"integrity\": \"sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==\",\n \"requires\": {\n \"browser-process-hrtime\": \"^1.0.0\"\n }\n },\n \"w3c-xmlserializer\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz\",\n \"integrity\": \"sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==\",\n \"requires\": {\n \"xml-name-validator\": \"^3.0.0\"\n }\n },\n \"walker\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/walker/-/walker-1.0.8.tgz\",\n \"integrity\": \"sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==\",\n \"requires\": {\n \"makeerror\": \"1.0.12\"\n }\n },\n \"watchpack\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz\",\n \"integrity\": \"sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==\",\n \"requires\": {\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.1.2\"\n }\n },\n \"wbuf\": {\n \"version\": \"1.7.3\",\n \"resolved\": \"https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz\",\n \"integrity\": \"sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==\",\n \"requires\": {\n \"minimalistic-assert\": \"^1.0.0\"\n }\n },\n \"web-vitals\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz\",\n \"integrity\": \"sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==\"\n },\n \"webidl-conversions\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz\",\n \"integrity\": \"sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==\"\n },\n \"webpack\": {\n \"version\": \"5.94.0\",\n \"resolved\": \"https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz\",\n \"integrity\": \"sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==\",\n \"requires\": {\n \"@types/estree\": \"^1.0.5\",\n \"@webassemblyjs/ast\": \"^1.12.1\",\n \"@webassemblyjs/wasm-edit\": \"^1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"^1.12.1\",\n \"acorn\": \"^8.7.1\",\n \"acorn-import-attributes\": \"^1.9.5\",\n \"browserslist\": \"^4.21.10\",\n \"chrome-trace-event\": \"^1.0.2\",\n \"enhanced-resolve\": \"^5.17.1\",\n \"es-module-lexer\": \"^1.2.1\",\n \"eslint-scope\": \"5.1.1\",\n \"events\": \"^3.2.0\",\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.2.11\",\n \"json-parse-even-better-errors\": \"^2.3.1\",\n \"loader-runner\": \"^4.2.0\",\n \"mime-types\": \"^2.1.27\",\n \"neo-async\": \"^2.6.2\",\n \"schema-utils\": \"^3.2.0\",\n \"tapable\": \"^2.1.1\",\n \"terser-webpack-plugin\": \"^5.3.10\",\n \"watchpack\": \"^2.4.1\",\n \"webpack-sources\": \"^3.2.3\"\n },\n \"dependencies\": {\n \"eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n },\n \"schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"webpack-dev-middleware\": {\n \"version\": \"5.3.4\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz\",\n \"integrity\": \"sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==\",\n \"requires\": {\n \"colorette\": \"^2.0.10\",\n \"memfs\": \"^3.4.3\",\n \"mime-types\": \"^2.1.31\",\n \"range-parser\": \"^1.2.1\",\n \"schema-utils\": \"^4.0.0\"\n }\n },\n \"webpack-dev-server\": {\n \"version\": \"4.15.2\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz\",\n \"integrity\": \"sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==\",\n \"requires\": {\n \"@types/bonjour\": \"^3.5.9\",\n \"@types/connect-history-api-fallback\": \"^1.3.5\",\n \"@types/express\": \"^4.17.13\",\n \"@types/serve-index\": \"^1.9.1\",\n \"@types/serve-static\": \"^1.13.10\",\n \"@types/sockjs\": \"^0.3.33\",\n \"@types/ws\": \"^8.5.5\",\n \"ansi-html-community\": \"^0.0.8\",\n \"bonjour-service\": \"^1.0.11\",\n \"chokidar\": \"^3.5.3\",\n \"colorette\": \"^2.0.10\",\n \"compression\": \"^1.7.4\",\n \"connect-history-api-fallback\": \"^2.0.0\",\n \"default-gateway\": \"^6.0.3\",\n \"express\": \"^4.17.3\",\n \"graceful-fs\": \"^4.2.6\",\n \"html-entities\": \"^2.3.2\",\n \"http-proxy-middleware\": \"^2.0.3\",\n \"ipaddr.js\": \"^2.0.1\",\n \"launch-editor\": \"^2.6.0\",\n \"open\": \"^8.0.9\",\n \"p-retry\": \"^4.5.0\",\n \"rimraf\": \"^3.0.2\",\n \"schema-utils\": \"^4.0.0\",\n \"selfsigned\": \"^2.1.1\",\n \"serve-index\": \"^1.9.1\",\n \"sockjs\": \"^0.3.24\",\n \"spdy\": \"^4.0.2\",\n \"webpack-dev-middleware\": \"^5.3.4\",\n \"ws\": \"^8.13.0\"\n },\n \"dependencies\": {\n \"ws\": {\n \"version\": \"8.18.0\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.18.0.tgz\",\n \"integrity\": \"sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==\",\n \"requires\": {}\n }\n }\n },\n \"webpack-manifest-plugin\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz\",\n \"integrity\": \"sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==\",\n \"requires\": {\n \"tapable\": \"^2.0.0\",\n \"webpack-sources\": \"^2.2.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"webpack-sources\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz\",\n \"integrity\": \"sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==\",\n \"requires\": {\n \"source-list-map\": \"^2.0.1\",\n \"source-map\": \"^0.6.1\"\n }\n }\n }\n },\n \"webpack-sources\": {\n \"version\": \"3.2.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz\",\n \"integrity\": \"sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==\"\n },\n \"websocket-driver\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz\",\n \"integrity\": \"sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==\",\n \"requires\": {\n \"http-parser-js\": \">=0.5.1\",\n \"safe-buffer\": \">=5.1.0\",\n \"websocket-extensions\": \">=0.1.1\"\n }\n },\n \"websocket-extensions\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz\",\n \"integrity\": \"sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==\"\n },\n \"whatwg-encoding\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz\",\n \"integrity\": \"sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==\",\n \"requires\": {\n \"iconv-lite\": \"0.4.24\"\n },\n \"dependencies\": {\n \"iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n }\n }\n }\n },\n \"whatwg-fetch\": {\n \"version\": \"3.6.20\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz\",\n \"integrity\": \"sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==\"\n },\n \"whatwg-mimetype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz\",\n \"integrity\": \"sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==\"\n },\n \"whatwg-url\": {\n \"version\": \"8.7.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz\",\n \"integrity\": \"sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==\",\n \"requires\": {\n \"lodash\": \"^4.7.0\",\n \"tr46\": \"^2.1.0\",\n \"webidl-conversions\": \"^6.1.0\"\n }\n },\n \"which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"requires\": {\n \"isexe\": \"^2.0.0\"\n }\n },\n \"which-boxed-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==\",\n \"requires\": {\n \"is-bigint\": \"^1.0.1\",\n \"is-boolean-object\": \"^1.1.0\",\n \"is-number-object\": \"^1.0.4\",\n \"is-string\": \"^1.0.5\",\n \"is-symbol\": \"^1.0.3\"\n }\n },\n \"which-builtin-type\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz\",\n \"integrity\": \"sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==\",\n \"requires\": {\n \"function.prototype.name\": \"^1.1.6\",\n \"has-tostringtag\": \"^1.0.2\",\n \"is-async-function\": \"^2.0.0\",\n \"is-date-object\": \"^1.0.5\",\n \"is-finalizationregistry\": \"^1.0.2\",\n \"is-generator-function\": \"^1.0.10\",\n \"is-regex\": \"^1.1.4\",\n \"is-weakref\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n }\n },\n \"which-collection\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz\",\n \"integrity\": \"sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==\",\n \"requires\": {\n \"is-map\": \"^2.0.3\",\n \"is-set\": \"^2.0.3\",\n \"is-weakmap\": \"^2.0.2\",\n \"is-weakset\": \"^2.0.3\"\n }\n },\n \"which-typed-array\": {\n \"version\": \"1.1.15\",\n \"resolved\": \"https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz\",\n \"integrity\": \"sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==\",\n \"requires\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-tostringtag\": \"^1.0.2\"\n }\n },\n \"word-wrap\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz\",\n \"integrity\": \"sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==\"\n },\n \"workbox-background-sync\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz\",\n \"integrity\": \"sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==\",\n \"requires\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-broadcast-update\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz\",\n \"integrity\": \"sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-build\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz\",\n \"integrity\": \"sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==\",\n \"requires\": {\n \"@apideck/better-ajv-errors\": \"^0.3.1\",\n \"@babel/core\": \"^7.11.1\",\n \"@babel/preset-env\": \"^7.11.0\",\n \"@babel/runtime\": \"^7.11.2\",\n \"@rollup/plugin-babel\": \"^5.2.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"@rollup/plugin-replace\": \"^2.4.1\",\n \"@surma/rollup-plugin-off-main-thread\": \"^2.2.3\",\n \"ajv\": \"^8.6.0\",\n \"common-tags\": \"^1.8.0\",\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"fs-extra\": \"^9.0.1\",\n \"glob\": \"^7.1.6\",\n \"lodash\": \"^4.17.20\",\n \"pretty-bytes\": \"^5.3.0\",\n \"rollup\": \"^2.43.1\",\n \"rollup-plugin-terser\": \"^7.0.0\",\n \"source-map\": \"^0.8.0-beta.0\",\n \"stringify-object\": \"^3.3.0\",\n \"strip-comments\": \"^2.0.1\",\n \"tempy\": \"^0.6.0\",\n \"upath\": \"^1.2.0\",\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-broadcast-update\": \"6.6.0\",\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-google-analytics\": \"6.6.0\",\n \"workbox-navigation-preload\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-range-requests\": \"6.6.0\",\n \"workbox-recipes\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\",\n \"workbox-streams\": \"6.6.0\",\n \"workbox-sw\": \"6.6.0\",\n \"workbox-window\": \"6.6.0\"\n },\n \"dependencies\": {\n \"@apideck/better-ajv-errors\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz\",\n \"integrity\": \"sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==\",\n \"requires\": {\n \"json-schema\": \"^0.4.0\",\n \"jsonpointer\": \"^5.0.0\",\n \"leven\": \"^3.1.0\"\n }\n },\n \"ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n }\n },\n \"fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"requires\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\"\n },\n \"source-map\": {\n \"version\": \"0.8.0-beta.0\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz\",\n \"integrity\": \"sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==\",\n \"requires\": {\n \"whatwg-url\": \"^7.0.0\"\n }\n },\n \"tr46\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz\",\n \"integrity\": \"sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==\",\n \"requires\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"webidl-conversions\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz\",\n \"integrity\": \"sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==\"\n },\n \"whatwg-url\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz\",\n \"integrity\": \"sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==\",\n \"requires\": {\n \"lodash.sortby\": \"^4.7.0\",\n \"tr46\": \"^1.0.1\",\n \"webidl-conversions\": \"^4.0.2\"\n }\n }\n }\n },\n \"workbox-cacheable-response\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz\",\n \"integrity\": \"sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-core\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz\",\n \"integrity\": \"sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==\"\n },\n \"workbox-expiration\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz\",\n \"integrity\": \"sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==\",\n \"requires\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-google-analytics\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz\",\n \"integrity\": \"sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==\",\n \"requires\": {\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"workbox-navigation-preload\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz\",\n \"integrity\": \"sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-precaching\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz\",\n \"integrity\": \"sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"workbox-range-requests\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz\",\n \"integrity\": \"sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-recipes\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz\",\n \"integrity\": \"sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==\",\n \"requires\": {\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"workbox-routing\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz\",\n \"integrity\": \"sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-strategies\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz\",\n \"integrity\": \"sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-streams\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz\",\n \"integrity\": \"sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\"\n }\n },\n \"workbox-sw\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz\",\n \"integrity\": \"sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==\"\n },\n \"workbox-webpack-plugin\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz\",\n \"integrity\": \"sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==\",\n \"requires\": {\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"pretty-bytes\": \"^5.4.1\",\n \"upath\": \"^1.2.0\",\n \"webpack-sources\": \"^1.4.3\",\n \"workbox-build\": \"6.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"webpack-sources\": {\n \"version\": \"1.4.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz\",\n \"integrity\": \"sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==\",\n \"requires\": {\n \"source-list-map\": \"^2.0.0\",\n \"source-map\": \"~0.6.1\"\n }\n }\n }\n },\n \"workbox-window\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz\",\n \"integrity\": \"sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==\",\n \"requires\": {\n \"@types/trusted-types\": \"^2.0.2\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"requires\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n }\n }\n },\n \"wrap-ansi-cjs\": {\n \"version\": \"npm:wrap-ansi@7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"requires\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n }\n }\n },\n \"wrappy\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\"\n },\n \"write-file-atomic\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz\",\n \"integrity\": \"sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==\",\n \"requires\": {\n \"imurmurhash\": \"^0.1.4\",\n \"is-typedarray\": \"^1.0.0\",\n \"signal-exit\": \"^3.0.2\",\n \"typedarray-to-buffer\": \"^3.1.5\"\n }\n },\n \"ws\": {\n \"version\": \"7.5.10\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-7.5.10.tgz\",\n \"integrity\": \"sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==\",\n \"requires\": {}\n },\n \"xml-name-validator\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz\",\n \"integrity\": \"sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==\"\n },\n \"xmlchars\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz\",\n \"integrity\": \"sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==\"\n },\n \"y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\"\n },\n \"yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\"\n },\n \"yaml\": {\n \"version\": \"1.10.2\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n \"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\"\n },\n \"yargs\": {\n \"version\": \"16.2.0\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz\",\n \"integrity\": \"sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==\",\n \"requires\": {\n \"cliui\": \"^7.0.2\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.0\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^20.2.2\"\n }\n },\n \"yargs-parser\": {\n \"version\": \"20.2.9\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz\",\n \"integrity\": \"sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==\"\n },\n \"yocto-queue\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n \"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\"\n }\n }\n}\n" + } + ] +} \ No newline at end of file diff --git a/.lh/package.json.json b/.lh/package.json.json new file mode 100644 index 0000000..202d90d --- /dev/null +++ b/.lh/package.json.json @@ -0,0 +1,26 @@ +{ + "sourceFile": "package.json", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 2, + "patches": [ + { + "date": 1727231115264, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727231136304, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -30,10 +30,11 @@\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n- \"web-vitals\": \"^2.1.4\"\n+ \"web-vitals\": \"^2.1.4\",\n \"i18next\": \"^22.4.13\",\n+ \"react-i18next\": \"^12.2.0\",\n },\n \"scripts\": {\n \"predeploy\": \"npm run build\",\n \"deploy\": \"gh-pages -d build\",\n" + }, + { + "date": 1727236542214, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,17 +24,16 @@\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n- \"react-ga4\": \"^2.1.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n \"web-vitals\": \"^2.1.4\",\n \"i18next\": \"^22.4.13\",\n- \"react-i18next\": \"^12.2.0\",\n+ \"react-i18next\": \"^12.2.0\"\n },\n \"scripts\": {\n \"predeploy\": \"npm run build\",\n \"deploy\": \"gh-pages -d build\",\n" + } + ], + "date": 1727231115264, + "name": "Commit-0", + "content": "{\n \"name\": \"graphrag-visualizer\",\n \"version\": \"0.1.0\",\n \"homepage\": \"https://noworneverev.github.io/graphrag-visualizer/\",\n \"private\": true,\n \"dependencies\": {\n \"@emotion/react\": \"^11.13.0\",\n \"@emotion/styled\": \"^11.13.0\",\n \"@mui/icons-material\": \"^5.16.5\",\n \"@mui/material\": \"^5.16.5\",\n \"@testing-library/jest-dom\": \"^5.17.0\",\n \"@testing-library/react\": \"^13.4.0\",\n \"@testing-library/user-event\": \"^13.5.0\",\n \"@types/jest\": \"^27.5.2\",\n \"@types/node\": \"^16.18.104\",\n \"@types/react\": \"^18.3.3\",\n \"@types/react-dom\": \"^18.3.0\",\n \"axios\": \"^1.7.2\",\n \"fuse.js\": \"^7.0.0\",\n \"hyparquet\": \"^1.1.0\",\n \"material-react-table\": \"^2.13.1\",\n \"react\": \"^18.3.1\",\n \"react-app-rewired\": \"^2.2.1\",\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n \"react-ga4\": \"^2.1.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n \"web-vitals\": \"^2.1.4\"\n \"i18next\": \"^22.4.13\",\n },\n \"scripts\": {\n \"predeploy\": \"npm run build\",\n \"deploy\": \"gh-pages -d build\",\n \"start\": \"PORT=3004 react-app-rewired start\",\n \"build\": \"react-app-rewired build\",\n \"test\": \"react-app-rewired test\",\n \"eject\": \"react-scripts eject\"\n },\n \"eslintConfig\": {\n \"extends\": [\n \"react-app\",\n \"react-app/jest\"\n ]\n },\n \"browserslist\": {\n \"production\": [\n \">0.2%\",\n \"not dead\",\n \"not op_mini all\"\n ],\n \"development\": [\n \"last 1 chrome version\",\n \"last 1 firefox version\",\n \"last 1 safari version\"\n ]\n },\n \"devDependencies\": {\n \"@types/react-table\": \"^7.7.20\",\n \"@types/three\": \"^0.167.1\",\n \"gh-pages\": \"^6.1.1\"\n }\n}\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/components/APISearchDrawer.tsx.json b/.lh/src/app/components/APISearchDrawer.tsx.json new file mode 100644 index 0000000..d217f03 --- /dev/null +++ b/.lh/src/app/components/APISearchDrawer.tsx.json @@ -0,0 +1,102 @@ +{ + "sourceFile": "src/app/components/APISearchDrawer.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 21, + "patches": [ + { + "date": 1727243774068, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727243789771, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -50,8 +50,9 @@\n globalSearchEnabled,\n hasCovariates,\n serverUp,\n }) => {\n+ const { t } = useTranslation();\n const [query, setQuery] = useState(\"\");\n const [loadingLocal, setLoadingLocal] = useState(false);\n const [loadingGlobal, setLoadingGlobal] = useState(false);\n const [expandedTables, setExpandedTables] = useState<{\n" + }, + { + "date": 1727243878776, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -50,9 +50,9 @@\n globalSearchEnabled,\n hasCovariates,\n serverUp,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('graphViewer');\n const [query, setQuery] = useState(\"\");\n const [loadingLocal, setLoadingLocal] = useState(false);\n const [loadingGlobal, setLoadingGlobal] = useState(false);\n const [expandedTables, setExpandedTables] = useState<{\n" + }, + { + "date": 1727243950927, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -117,14 +117,9 @@\n \n setQuery(e.target.value)}\n- // onKeyDown={async (e) => {\n- // if (e.key === \"Enter\" && !loadingLocal) {\n- // await handleSearch(\"local\"); // Default to global search on enter\n- // }\n- // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder={t('apiSearchDrawer.placeholder')}\n fullWidth\n margin=\"normal\"\n />\n \n@@ -140,9 +135,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingLocal ? : \"Local Search\"}\n+ {loadingLocal ? : t('apiSearchDrawer.localSearch')}\n \n \n- {loadingGlobal ? : \"Global Search\"}\n+ {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}\n \n \n \n {!serverUp && (\n \n- Server is not running. Please start the server to use the API.\n- Follow the instructions at{\" \"}\n+ {t('apiSearchDrawer.serverNotRunning')}{\" \"}\n \n- graphrag-api\n+ {t('apiSearchDrawer.graphragApi')}\n \n .\n \n )}\n {!localSearchEnabled && (\n \n- Please enable \"Include Text Unit\" and \"Include Communities\"\n- {hasCovariates && ', and \"Include Covariates\"'} to use Local\n- Search.\n+ {t('apiSearchDrawer.enableLocalSearch', { hasCovariates })}\n \n )}\n {!globalSearchEnabled && (\n \n- Please enable \"Include Communities\" to use Global Search.\n+ {t('apiSearchDrawer.enableGlobalSearch')}\n \n )}\n \n \n {apiSearchResults && (\n <>\n {/* Search Results Card */}\n \n- \n+ \n \n \n {apiSearchResults.response}\n \n@@ -200,19 +192,19 @@\n \n \n {/* Metadata Card */}\n \n- \n+ \n \n \n- Completion Time:{\" \"}\n+ {t('apiSearchDrawer.completionTime')}{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n- LLM Calls: {apiSearchResults.llm_calls}\n+ {t('apiSearchDrawer.llmCalls')} {apiSearchResults.llm_calls}\n \n \n- Prompt Tokens:{\" \"}\n+ {t('apiSearchDrawer.promptTokens')}{\" \"}\n {apiSearchResults.prompt_tokens}\n \n \n \n@@ -274,9 +266,9 @@\n \n \n ) : (\n \n- No data available\n+ {t('apiSearchDrawer.noDataAvailable')}\n \n )}\n \n \n" + }, + { + "date": 1727244019495, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -117,8 +117,13 @@\n \n setQuery(e.target.value)}\n+ // onKeyDown={async (e) => {\n+ // if (e.key === \"Enter\" && !loadingLocal) {\n+ // await handleSearch(\"local\"); // Default to global search on enter\n+ // }\n+ // }}\n placeholder={t('apiSearchDrawer.placeholder')}\n fullWidth\n margin=\"normal\"\n />\n" + }, + { + "date": 1727244031005, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -117,14 +117,14 @@\n \n setQuery(e.target.value)}\n- // onKeyDown={async (e) => {\n+ // onKeyDown={async (e) => {\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder')}\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -140,9 +140,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingLocal ? : t('apiSearchDrawer.localSearch')}\n+ {loadingLocal ? : \"Local Search\"}\n \n \n- {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}\n+ {loadingGlobal ? : \"Global Search\"}\n \n \n \n {!serverUp && (\n \n- {t('apiSearchDrawer.serverNotRunning')}{\" \"}\n+ Server is not running. Please start the server to use the API.\n+ Follow the instructions at{\" \"}\n \n- {t('apiSearchDrawer.graphragApi')}\n+ graphrag-api\n \n .\n \n )}\n {!localSearchEnabled && (\n \n- {t('apiSearchDrawer.enableLocalSearch', { hasCovariates })}\n+ Please enable \"Include Text Unit\" and \"Include Communities\"\n+ {hasCovariates && ', and \"Include Covariates\"'} to use Local\n+ Search.\n \n )}\n {!globalSearchEnabled && (\n \n- {t('apiSearchDrawer.enableGlobalSearch')}\n+ Please enable \"Include Communities\" to use Global Search.\n \n )}\n \n \n {apiSearchResults && (\n <>\n {/* Search Results Card */}\n \n- \n+ \n \n \n {apiSearchResults.response}\n \n@@ -197,19 +200,19 @@\n \n \n {/* Metadata Card */}\n \n- \n+ \n \n \n- {t('apiSearchDrawer.completionTime')}{\" \"}\n+ Completion Time:{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n- {t('apiSearchDrawer.llmCalls')} {apiSearchResults.llm_calls}\n+ LLM Calls: {apiSearchResults.llm_calls}\n \n \n- {t('apiSearchDrawer.promptTokens')}{\" \"}\n+ Prompt Tokens:{\" \"}\n {apiSearchResults.prompt_tokens}\n \n \n \n@@ -271,9 +274,9 @@\n \n \n ) : (\n \n- {t('apiSearchDrawer.noDataAvailable')}\n+ No data available\n \n )}\n \n \n" + }, + { + "date": 1727244275347, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder={t('apiSearchDrawer.placeholder')}\n fullWidth\n margin=\"normal\"\n />\n \n" + }, + { + "date": 1727244290666, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder')}\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n" + }, + { + "date": 1727244302076, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder=\"{t('apiSearchDrawer.placeholder')}\"\n fullWidth\n margin=\"normal\"\n />\n \n" + }, + { + "date": 1727244336712, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"{t('apiSearchDrawer.placeholder')}\"\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -140,9 +140,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingLocal ? : \"Local Search\"}\n+ {loadingLocal ? : t('apiSearchDrawer.localSearch')}\n \n \n \n" + }, + { + "date": 1727244377649, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=t('apiSearchDrawer.localSearch')\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -154,9 +154,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingGlobal ? : \"Global Search\"}\n+ {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}}\n \n \n \n {!serverUp && (\n" + }, + { + "date": 1727244410179, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -154,16 +154,15 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}}\n+ {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}\n \n \n \n {!serverUp && (\n \n- Server is not running. Please start the server to use the API.\n- Follow the instructions at{\" \"}\n+ {t('apiSearchDrawer.serverNotRunning')}{\" \"}\n \n- graphrag-api\n+ {t('apiSearchDrawer.graphragApi')}\n \n .\n \n )}\n" + }, + { + "date": 1727244443935, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -173,11 +173,9 @@\n \n )}\n {!localSearchEnabled && (\n \n- Please enable \"Include Text Unit\" and \"Include Communities\"\n- {hasCovariates && ', and \"Include Covariates\"'} to use Local\n- Search.\n+ {t('apiSearchDrawer.enableLocalSearch', { hasCovariates })}\n \n )}\n {!globalSearchEnabled && (\n \n" + }, + { + "date": 1727244456075, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -178,9 +178,9 @@\n \n )}\n {!globalSearchEnabled && (\n \n- Please enable \"Include Communities\" to use Global Search.\n+ {t('apiSearchDrawer.enableGlobalSearch')}\n \n )}\n \n \n" + }, + { + "date": 1727244489401, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -200,9 +200,9 @@\n \n \n \n \n- Completion Time:{\" \"}\n+ {t('apiSearchDrawer.completionTime')}{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n LLM Calls: {apiSearchResults.llm_calls}\n" + }, + { + "date": 1727244514072, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -204,9 +204,9 @@\n {t('apiSearchDrawer.completionTime')}{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n- LLM Calls: {apiSearchResults.llm_calls}\n+ {t('apiSearchDrawer.llmCalls')}: {apiSearchResults.llm_calls}\n \n \n Prompt Tokens:{\" \"}\n {apiSearchResults.prompt_tokens}\n" + }, + { + "date": 1727249378176, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder=「\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -200,9 +200,9 @@\n \n \n \n \n- {t('apiSearchDrawer.completionTime')}{\" \"}\n+ {t('apiSearchDrawer.completionTime')}:{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n {t('apiSearchDrawer.llmCalls')}: {apiSearchResults.llm_calls}\n" + }, + { + "date": 1727249649726, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=「\"Enter search query for API\"\n+ placeholder={t('apiSearchDrawer.placeholder')\"Enter search query for API\"}\n fullWidth\n margin=\"normal\"\n />\n \n" + }, + { + "date": 1727249685526, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder')\"Enter search query for API\"}\n+ placeholder={t('apiSearchDrawer.placeholder') || }\n fullWidth\n margin=\"normal\"\n />\n \n" + }, + { + "date": 1727249711825, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder') || }\n+ placeholder={t('apiSearchDrawer.placeholder') || 'Enter search query for API'}\n fullWidth\n margin=\"normal\"\n />\n \n" + } + ], + "date": 1727243774068, + "name": "Commit-0", + "content": "import React, { useEffect, useState } from \"react\";\nimport {\n Box,\n Button,\n CircularProgress,\n Drawer,\n TextField,\n Typography,\n Card,\n CardContent,\n CardHeader,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Collapse,\n Link,\n Alert,\n} from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport ExpandLessIcon from \"@mui/icons-material/ExpandLess\";\nimport { SearchResult } from \"../models/search-result\";\nimport { useTranslation } from 'react-i18next';\n\ninterface APISearchDrawerProps {\n apiDrawerOpen: boolean;\n toggleDrawer: (open: boolean) => () => void;\n handleApiSearch: (\n query: string,\n searchType: \"local\" | \"global\"\n ) => Promise;\n apiSearchResults: SearchResult | null;\n localSearchEnabled: boolean;\n globalSearchEnabled: boolean;\n hasCovariates: boolean;\n serverUp: boolean;\n}\n\nconst APISearchDrawer: React.FC = ({\n apiDrawerOpen,\n toggleDrawer,\n handleApiSearch,\n apiSearchResults,\n localSearchEnabled,\n globalSearchEnabled,\n hasCovariates,\n serverUp,\n}) => {\n const [query, setQuery] = useState(\"\");\n const [loadingLocal, setLoadingLocal] = useState(false);\n const [loadingGlobal, setLoadingGlobal] = useState(false);\n const [expandedTables, setExpandedTables] = useState<{\n [key: string]: boolean;\n }>({});\n\n useEffect(() => {\n // Initialize the expandedTables state to false for all keys in context_data\n if (apiSearchResults && apiSearchResults.context_data) {\n const initialExpandedState: { [key: string]: boolean } = {};\n Object.keys(apiSearchResults.context_data).forEach((key) => {\n initialExpandedState[key] = true;\n });\n setExpandedTables(initialExpandedState);\n }\n }, [apiSearchResults]);\n\n const handleSearch = async (searchType: \"local\" | \"global\") => {\n if (searchType === \"local\") {\n setLoadingLocal(true);\n } else {\n setLoadingGlobal(true);\n }\n\n try {\n await handleApiSearch(query, searchType);\n } finally {\n if (searchType === \"local\") {\n setLoadingLocal(false);\n } else {\n setLoadingGlobal(false);\n }\n }\n };\n\n const toggleTable = (key: string) => {\n setExpandedTables((prevState) => ({\n ...prevState,\n [key]: !prevState[key],\n }));\n };\n\n return (\n \n \n {/* Close Button at the top-right corner */}\n \n \n \n\n {/* First Row: TextField */}\n \n setQuery(e.target.value)}\n // onKeyDown={async (e) => {\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n\n {/* Second Row: Buttons */}\n \n handleSearch(\"local\")}\n disabled={\n !serverUp ||\n !localSearchEnabled ||\n loadingLocal ||\n loadingGlobal\n }\n >\n {loadingLocal ? : \"Local Search\"}\n \n handleSearch(\"global\")}\n disabled={\n !serverUp ||\n !globalSearchEnabled ||\n loadingLocal ||\n loadingGlobal\n }\n >\n {loadingGlobal ? : \"Global Search\"}\n \n \n\n {!serverUp && (\n \n Server is not running. Please start the server to use the API.\n Follow the instructions at{\" \"}\n \n graphrag-api\n \n .\n \n )}\n {!localSearchEnabled && (\n \n Please enable \"Include Text Unit\" and \"Include Communities\"\n {hasCovariates && ', and \"Include Covariates\"'} to use Local\n Search.\n \n )}\n {!globalSearchEnabled && (\n \n Please enable \"Include Communities\" to use Global Search.\n \n )}\n \n\n {apiSearchResults && (\n <>\n {/* Search Results Card */}\n \n \n \n \n {apiSearchResults.response}\n \n \n \n\n {/* Metadata Card */}\n \n \n \n \n Completion Time:{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n LLM Calls: {apiSearchResults.llm_calls}\n \n \n Prompt Tokens:{\" \"}\n {apiSearchResults.prompt_tokens}\n \n \n \n\n {/* Context Data Tables */}\n {apiSearchResults &&\n apiSearchResults.context_data &&\n Object.entries(apiSearchResults.context_data).map(\n ([key, data], index) => (\n \n toggleTable(key)}>\n {expandedTables[key] ? (\n \n ) : (\n \n )}\n \n }\n />\n \n \n {Array.isArray(data) && data.length > 0 ? (\n \n \n \n \n {Object.keys(data[0]).map(\n (columnName, idx) => (\n \n {columnName.charAt(0).toUpperCase() +\n columnName.slice(1)}\n \n )\n )}\n \n \n \n {data.map((row, rowIndex) => (\n \n {Object.values(row).map(\n (value, cellIndex) => (\n \n {typeof value === \"string\"\n ? value\n : JSON.stringify(value, null, 2)}\n \n )\n )}\n \n ))}\n \n
\n
\n ) : (\n \n No data available\n \n )}\n
\n \n
\n )\n )}\n \n )}\n \n \n );\n};\n\nexport default APISearchDrawer;\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/components/DataTableContainer.tsx.json b/.lh/src/app/components/DataTableContainer.tsx.json new file mode 100644 index 0000000..5eea9a9 --- /dev/null +++ b/.lh/src/app/components/DataTableContainer.tsx.json @@ -0,0 +1,90 @@ +{ + "sourceFile": "src/app/components/DataTableContainer.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 18, + "patches": [ + { + "date": 1727250027581, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727250039403, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -52,8 +52,9 @@\n communities,\n communityReports,\n covariates,\n }) => {\n+ const { t } = useTranslation();\n return (\n <>\n {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('dataview');\n return (\n <>\n setSelectedTable(\"entities\")}\n >\n- \n+ \n \n setSelectedTable(\"relationships\")}\n" + }, + { + "date": 1727250105867, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -75,9 +75,9 @@\n setSelectedTable(\"relationships\")}\n >\n- \n+ \n \n setSelectedTable(\"documents\")}\n" + }, + { + "date": 1727250121504, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -81,9 +81,9 @@\n setSelectedTable(\"documents\")}\n >\n- \n+ \n \n setSelectedTable(\"textunits\")}\n" + }, + { + "date": 1727250139614, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -87,9 +87,9 @@\n setSelectedTable(\"textunits\")}\n >\n- \n+ \n \n setSelectedTable(\"communities\")}\n" + }, + { + "date": 1727250158270, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,180 @@\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Drawer,\n+ List,\n+ ListItemButton,\n+ ListItemText,\n+} from \"@mui/material\";\n+import DataTable from \"./DataTable\";\n+import { Entity, entityColumns } from \"../models/entity\";\n+import { Relationship, relationshipColumns } from \"../models/relationship\";\n+import { Document, documentColumns } from \"../models/document\";\n+import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n+import { Community, communityColumns } from \"../models/community\";\n+import {\n+ CommunityReport,\n+ communityReportColumns,\n+} from \"../models/community-report\";\n+import { Covariate, covariateColumns } from \"../models/covariate\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DataTableContainerProps {\n+ selectedTable: string;\n+ setSelectedTable: (\n+ value: React.SetStateAction<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >\n+ ) => void;\n+ entities: Entity[];\n+ relationships: Relationship[];\n+ documents: Document[];\n+ textunits: TextUnit[];\n+ communities: Community[];\n+ communityReports: CommunityReport[];\n+ covariates: Covariate[];\n+}\n+\n+const DataTableContainer: React.FC = ({\n+ selectedTable,\n+ setSelectedTable,\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+}) => {\n+ const { t } = useTranslation('dataview');\n+ return (\n+ <>\n+ \n+ \n+ setSelectedTable(\"entities\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"relationships\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"documents\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"textunits\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"communities\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"communityReports\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"covariates\")}\n+ >\n+ \n+ \n+ \n+ \n+ \n+ {selectedTable === \"entities\" && (\n+ <>\n+ \n+ Entities (create_final_entities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"relationships\" && (\n+ <>\n+ \n+ Relationships (create_final_relationships.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"documents\" && (\n+ <>\n+ \n+ Documents (create_final_documents.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"textunits\" && (\n+ <>\n+ \n+ TextUnits (create_final_text_units.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communities\" && (\n+ <>\n+ \n+ Communities (create_final_communities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communityReports\" && (\n+ <>\n+ \n+ Community Reports (create_final_community_reports.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"covariates\" && (\n+ <>\n+ \n+ Covariates (create_final_covariates.parquet)\n+ \n+ \n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default DataTableContainer;\n" + }, + { + "date": 1727250181936, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -100,9 +100,9 @@\n setSelectedTable(\"communityReports\")}\n >\n- \n+ \n \n \n \n- ) => void;\n- entities: Entity[];\n- relationships: Relationship[];\n- documents: Document[];\n- textunits: TextUnit[];\n- communities: Community[];\n- communityReports: CommunityReport[];\n- covariates: Covariate[];\n-}\n-\n-const DataTableContainer: React.FC = ({\n- selectedTable,\n- setSelectedTable,\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n-}) => {\n- const { t } = useTranslation('dataview');\n- return (\n- <>\n- \n- \n- setSelectedTable(\"entities\")}\n- >\n- \n- \n- setSelectedTable(\"relationships\")}\n- >\n- \n- \n- setSelectedTable(\"documents\")}\n- >\n- \n- \n- setSelectedTable(\"textunits\")}\n- >\n- \n- \n- setSelectedTable(\"communities\")}\n- >\n- \n- \n-\n- setSelectedTable(\"communityReports\")}\n- >\n- \n- \n-\n- setSelectedTable(\"covariates\")}\n- >\n- \n- \n- \n- \n- \n- {selectedTable === \"entities\" && (\n- <>\n- \n- Entities (create_final_entities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"relationships\" && (\n- <>\n- \n- Relationships (create_final_relationships.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"documents\" && (\n- <>\n- \n- Documents (create_final_documents.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"textunits\" && (\n- <>\n- \n- TextUnits (create_final_text_units.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communities\" && (\n- <>\n- \n- Communities (create_final_communities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communityReports\" && (\n- <>\n- \n- Community Reports (create_final_community_reports.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"covariates\" && (\n- <>\n- \n- Covariates (create_final_covariates.parquet)\n- \n- \n- \n- )}\n- \n- \n- );\n-};\n-\n-export default DataTableContainer;\n" + }, + { + "date": 1727250193876, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n setSelectedTable(\"covariates\")}\n >\n- \n+ \n \n \n \n \n" + }, + { + "date": 1727250209563, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -115,9 +115,9 @@\n \n {selectedTable === \"entities\" && (\n <>\n \n- Entities (create_final_entities.parquet)\n+ {t('dataViewer.entitiesTitle')}\n \n \n \n )}\n" + }, + { + "date": 1727250216299, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,180 @@\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Drawer,\n+ List,\n+ ListItemButton,\n+ ListItemText,\n+} from \"@mui/material\";\n+import DataTable from \"./DataTable\";\n+import { Entity, entityColumns } from \"../models/entity\";\n+import { Relationship, relationshipColumns } from \"../models/relationship\";\n+import { Document, documentColumns } from \"../models/document\";\n+import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n+import { Community, communityColumns } from \"../models/community\";\n+import {\n+ CommunityReport,\n+ communityReportColumns,\n+} from \"../models/community-report\";\n+import { Covariate, covariateColumns } from \"../models/covariate\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DataTableContainerProps {\n+ selectedTable: string;\n+ setSelectedTable: (\n+ value: React.SetStateAction<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >\n+ ) => void;\n+ entities: Entity[];\n+ relationships: Relationship[];\n+ documents: Document[];\n+ textunits: TextUnit[];\n+ communities: Community[];\n+ communityReports: CommunityReport[];\n+ covariates: Covariate[];\n+}\n+\n+const DataTableContainer: React.FC = ({\n+ selectedTable,\n+ setSelectedTable,\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+}) => {\n+ const { t } = useTranslation('dataview');\n+ return (\n+ <>\n+ \n+ \n+ setSelectedTable(\"entities\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"relationships\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"documents\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"textunits\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"communities\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"communityReports\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"covariates\")}\n+ >\n+ \n+ \n+ \n+ \n+ \n+ {selectedTable === \"entities\" && (\n+ <>\n+ \n+ {t('dataViewer.entitiesTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"relationships\" && (\n+ <>\n+ \n+ Relationships (create_final_relationships.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"documents\" && (\n+ <>\n+ \n+ Documents (create_final_documents.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"textunits\" && (\n+ <>\n+ \n+ TextUnits (create_final_text_units.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communities\" && (\n+ <>\n+ \n+ Communities (create_final_communities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communityReports\" && (\n+ <>\n+ \n+ Community Reports (create_final_community_reports.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"covariates\" && (\n+ <>\n+ \n+ Covariates (create_final_covariates.parquet)\n+ \n+ \n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default DataTableContainer;\n" + }, + { + "date": 1727250226064, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -115,188 +115,8 @@\n \n {selectedTable === \"entities\" && (\n <>\n \n- {t('dataViewer.entitiesTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"relationships\" && (\n- <>\n- \n- Relationships (create_final_relationships.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"documents\" && (\n- <>\n- \n- Documents (create_final_documents.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"textunits\" && (\n- <>\n- \n- TextUnits (create_final_text_units.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communities\" && (\n- <>\n- \n- Communities (create_final_communities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communityReports\" && (\n- <>\n- \n- Community Reports (create_final_community_reports.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"covariates\" && (\n- <>\n- \n- Covariates (create_final_covariates.parquet)\n- \n- \n- \n- )}\n- \n- \n- );\n-};\n-\n-export default DataTableContainer;\n-import React from \"react\";\n-import {\n- Typography,\n- Box,\n- Drawer,\n- List,\n- ListItemButton,\n- ListItemText,\n-} from \"@mui/material\";\n-import DataTable from \"./DataTable\";\n-import { Entity, entityColumns } from \"../models/entity\";\n-import { Relationship, relationshipColumns } from \"../models/relationship\";\n-import { Document, documentColumns } from \"../models/document\";\n-import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n-import { Community, communityColumns } from \"../models/community\";\n-import {\n- CommunityReport,\n- communityReportColumns,\n-} from \"../models/community-report\";\n-import { Covariate, covariateColumns } from \"../models/covariate\";\n-import { useTranslation } from 'react-i18next';\n-\n-interface DataTableContainerProps {\n- selectedTable: string;\n- setSelectedTable: (\n- value: React.SetStateAction<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >\n- ) => void;\n- entities: Entity[];\n- relationships: Relationship[];\n- documents: Document[];\n- textunits: TextUnit[];\n- communities: Community[];\n- communityReports: CommunityReport[];\n- covariates: Covariate[];\n-}\n-\n-const DataTableContainer: React.FC = ({\n- selectedTable,\n- setSelectedTable,\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n-}) => {\n- const { t } = useTranslation('dataview');\n- return (\n- <>\n- \n- \n- setSelectedTable(\"entities\")}\n- >\n- \n- \n- setSelectedTable(\"relationships\")}\n- >\n- \n- \n- setSelectedTable(\"documents\")}\n- >\n- \n- \n- setSelectedTable(\"textunits\")}\n- >\n- \n- \n- setSelectedTable(\"communities\")}\n- >\n- \n- \n-\n- setSelectedTable(\"communityReports\")}\n- >\n- \n- \n-\n- setSelectedTable(\"covariates\")}\n- >\n- \n- \n- \n- \n- \n- {selectedTable === \"entities\" && (\n- <>\n- \n {t('dataViewer.entitiesTitle')}\n \n \n \n" + }, + { + "date": 1727250239492, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -123,9 +123,9 @@\n )}\n {selectedTable === \"relationships\" && (\n <>\n \n- Relationships (create_final_relationships.parquet)\n+ {t('dataViewer.relationshipsTitle')}\n \n \n \n )}\n" + }, + { + "date": 1727250250635, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -131,9 +131,9 @@\n )}\n {selectedTable === \"documents\" && (\n <>\n \n- Documents (create_final_documents.parquet)\n+ {t('dataViewer.documentsTitle')}\n \n \n \n )}\n" + }, + { + "date": 1727250261771, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,180 @@\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Drawer,\n+ List,\n+ ListItemButton,\n+ ListItemText,\n+} from \"@mui/material\";\n+import DataTable from \"./DataTable\";\n+import { Entity, entityColumns } from \"../models/entity\";\n+import { Relationship, relationshipColumns } from \"../models/relationship\";\n+import { Document, documentColumns } from \"../models/document\";\n+import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n+import { Community, communityColumns } from \"../models/community\";\n+import {\n+ CommunityReport,\n+ communityReportColumns,\n+} from \"../models/community-report\";\n+import { Covariate, covariateColumns } from \"../models/covariate\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DataTableContainerProps {\n+ selectedTable: string;\n+ setSelectedTable: (\n+ value: React.SetStateAction<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >\n+ ) => void;\n+ entities: Entity[];\n+ relationships: Relationship[];\n+ documents: Document[];\n+ textunits: TextUnit[];\n+ communities: Community[];\n+ communityReports: CommunityReport[];\n+ covariates: Covariate[];\n+}\n+\n+const DataTableContainer: React.FC = ({\n+ selectedTable,\n+ setSelectedTable,\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+}) => {\n+ const { t } = useTranslation('dataview');\n+ return (\n+ <>\n+ \n+ \n+ setSelectedTable(\"entities\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"relationships\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"documents\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"textunits\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"communities\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"communityReports\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"covariates\")}\n+ >\n+ \n+ \n+ \n+ \n+ \n+ {selectedTable === \"entities\" && (\n+ <>\n+ \n+ {t('dataViewer.entitiesTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"relationships\" && (\n+ <>\n+ \n+ {t('dataViewer.relationshipsTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"documents\" && (\n+ <>\n+ \n+ {t('dataViewer.documentsTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"textunits\" && (\n+ <>\n+ \n+ {t('dataViewer.textUnitsTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communities\" && (\n+ <>\n+ \n+ Communities (create_final_communities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communityReports\" && (\n+ <>\n+ \n+ Community Reports (create_final_community_reports.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"covariates\" && (\n+ <>\n+ \n+ Covariates (create_final_covariates.parquet)\n+ \n+ \n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default DataTableContainer;\n" + }, + { + "date": 1727250279685, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -147,9 +147,9 @@\n )}\n {selectedTable === \"communities\" && (\n <>\n \n- Communities (create_final_communities.parquet)\n+ {t('dataViewer.communitiesTitle')}\n \n \n \n )}\n@@ -177,184 +177,4 @@\n );\n };\n \n export default DataTableContainer;\n-import React from \"react\";\n-import {\n- Typography,\n- Box,\n- Drawer,\n- List,\n- ListItemButton,\n- ListItemText,\n-} from \"@mui/material\";\n-import DataTable from \"./DataTable\";\n-import { Entity, entityColumns } from \"../models/entity\";\n-import { Relationship, relationshipColumns } from \"../models/relationship\";\n-import { Document, documentColumns } from \"../models/document\";\n-import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n-import { Community, communityColumns } from \"../models/community\";\n-import {\n- CommunityReport,\n- communityReportColumns,\n-} from \"../models/community-report\";\n-import { Covariate, covariateColumns } from \"../models/covariate\";\n-import { useTranslation } from 'react-i18next';\n-\n-interface DataTableContainerProps {\n- selectedTable: string;\n- setSelectedTable: (\n- value: React.SetStateAction<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >\n- ) => void;\n- entities: Entity[];\n- relationships: Relationship[];\n- documents: Document[];\n- textunits: TextUnit[];\n- communities: Community[];\n- communityReports: CommunityReport[];\n- covariates: Covariate[];\n-}\n-\n-const DataTableContainer: React.FC = ({\n- selectedTable,\n- setSelectedTable,\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n-}) => {\n- const { t } = useTranslation('dataview');\n- return (\n- <>\n- \n- \n- setSelectedTable(\"entities\")}\n- >\n- \n- \n- setSelectedTable(\"relationships\")}\n- >\n- \n- \n- setSelectedTable(\"documents\")}\n- >\n- \n- \n- setSelectedTable(\"textunits\")}\n- >\n- \n- \n- setSelectedTable(\"communities\")}\n- >\n- \n- \n-\n- setSelectedTable(\"communityReports\")}\n- >\n- \n- \n-\n- setSelectedTable(\"covariates\")}\n- >\n- \n- \n- \n- \n- \n- {selectedTable === \"entities\" && (\n- <>\n- \n- {t('dataViewer.entitiesTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"relationships\" && (\n- <>\n- \n- {t('dataViewer.relationshipsTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"documents\" && (\n- <>\n- \n- {t('dataViewer.documentsTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"textunits\" && (\n- <>\n- \n- TextUnits (create_final_text_units.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communities\" && (\n- <>\n- \n- Communities (create_final_communities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communityReports\" && (\n- <>\n- \n- Community Reports (create_final_community_reports.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"covariates\" && (\n- <>\n- \n- Covariates (create_final_covariates.parquet)\n- \n- \n- \n- )}\n- \n- \n- );\n-};\n-\n-export default DataTableContainer;\n" + }, + { + "date": 1727250291203, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -155,9 +155,9 @@\n )}\n {selectedTable === \"communityReports\" && (\n <>\n \n- Community Reports (create_final_community_reports.parquet)\n+ \n \n \n \n- \n+ {t('dataViewer.communityReportsTitle')}\n \n \n \n- Covariates (create_final_covariates.parquet)\n+ {t('dataViewer.covariatesTitle')}\n \n \n \n )}\n" + } + ], + "date": 1727250027581, + "name": "Commit-0", + "content": "import React from \"react\";\nimport {\n Typography,\n Box,\n Drawer,\n List,\n ListItemButton,\n ListItemText,\n} from \"@mui/material\";\nimport DataTable from \"./DataTable\";\nimport { Entity, entityColumns } from \"../models/entity\";\nimport { Relationship, relationshipColumns } from \"../models/relationship\";\nimport { Document, documentColumns } from \"../models/document\";\nimport { TextUnit, textUnitColumns } from \"../models/text-unit\";\nimport { Community, communityColumns } from \"../models/community\";\nimport {\n CommunityReport,\n communityReportColumns,\n} from \"../models/community-report\";\nimport { Covariate, covariateColumns } from \"../models/covariate\";\nimport { useTranslation } from 'react-i18next';\n\ninterface DataTableContainerProps {\n selectedTable: string;\n setSelectedTable: (\n value: React.SetStateAction<\n | \"entities\"\n | \"relationships\"\n | \"documents\"\n | \"textunits\"\n | \"communities\"\n | \"communityReports\"\n | \"covariates\"\n >\n ) => void;\n entities: Entity[];\n relationships: Relationship[];\n documents: Document[];\n textunits: TextUnit[];\n communities: Community[];\n communityReports: CommunityReport[];\n covariates: Covariate[];\n}\n\nconst DataTableContainer: React.FC = ({\n selectedTable,\n setSelectedTable,\n entities,\n relationships,\n documents,\n textunits,\n communities,\n communityReports,\n covariates,\n}) => {\n return (\n <>\n \n \n setSelectedTable(\"entities\")}\n >\n \n \n setSelectedTable(\"relationships\")}\n >\n \n \n setSelectedTable(\"documents\")}\n >\n \n \n setSelectedTable(\"textunits\")}\n >\n \n \n setSelectedTable(\"communities\")}\n >\n \n \n\n setSelectedTable(\"communityReports\")}\n >\n \n \n\n setSelectedTable(\"covariates\")}\n >\n \n \n \n \n \n {selectedTable === \"entities\" && (\n <>\n \n Entities (create_final_entities.parquet)\n \n \n \n )}\n {selectedTable === \"relationships\" && (\n <>\n \n Relationships (create_final_relationships.parquet)\n \n \n \n )}\n {selectedTable === \"documents\" && (\n <>\n \n Documents (create_final_documents.parquet)\n \n \n \n )}\n {selectedTable === \"textunits\" && (\n <>\n \n TextUnits (create_final_text_units.parquet)\n \n \n \n )}\n {selectedTable === \"communities\" && (\n <>\n \n Communities (create_final_communities.parquet)\n \n \n \n )}\n {selectedTable === \"communityReports\" && (\n <>\n \n Community Reports (create_final_community_reports.parquet)\n \n \n \n )}\n {selectedTable === \"covariates\" && (\n <>\n \n Covariates (create_final_covariates.parquet)\n \n \n \n )}\n \n \n );\n};\n\nexport default DataTableContainer;\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/components/DetailDrawer.tsx.json b/.lh/src/app/components/DetailDrawer.tsx.json new file mode 100644 index 0000000..f82d509 --- /dev/null +++ b/.lh/src/app/components/DetailDrawer.tsx.json @@ -0,0 +1,30 @@ +{ + "sourceFile": "src/app/components/DetailDrawer.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 3, + "patches": [ + { + "date": 1727250670012, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727250680122, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,8 +43,10 @@\n selectedRelationship,\n linkedNodes,\n linkedRelationships,\n }) => {\n+ const { t } = useTranslation();\n+\n const getNodeName = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.name : node;\n };\n \n" + }, + { + "date": 1727250689730, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,9 +43,9 @@\n selectedRelationship,\n linkedNodes,\n linkedRelationships,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('dataview');\n \n const getNodeName = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.name : node;\n };\n" + }, + { + "date": 1727250921590, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -119,179 +119,155 @@\n const filteredColumns = getFilteredNodeColumns(linkedNodeTypes);\n \n return (\n setBottomDrawerOpen(false)}\n- sx={{ zIndex: 1500 }}\n- >\n- \n- setBottomDrawerOpen(false)}\n+ sx={{ zIndex: 1500 }}\n+ >\n+ \n+ \n+ {selectedNode ? (\n+ \n+ {t('detailDrawer.nodeDetails', { name: selectedNode.name.toString() })}\n+ \n+ ) : (\n+ \n+ {selectedRelationship && t('detailDrawer.relationshipDetails', {\n+ sourceType: getNodeType(selectedRelationship.source),\n+ sourceName: getNodeName(selectedRelationship.source),\n+ relationshipType: selectedRelationship.type,\n+ targetType: getNodeType(selectedRelationship.target),\n+ targetName: getNodeName(selectedRelationship.target),\n+ })}\n+ \n+ )}\n+ setBottomDrawerOpen(false)}\n+ sx={{ marginLeft: \"auto\" }}\n >\n- {selectedNode ? (\n+ \n+ \n+ \n+ {selectedNode && (\n+ \n+ \n \n- {/* Node Details: {selectedNode.id.toString()} */}\n- Node Details: {selectedNode.name.toString()}\n+ {t('detailDrawer.nodeInformation')}\n \n- ) : (\n- \n- {\" \"}\n- {selectedRelationship && (\n- <>\n- {\"(:\"}\n- {getNodeType(selectedRelationship.source)} {\"{name: \"}\n- {\"'\"}\n- {getNodeName(selectedRelationship.source)}\n- {\"'\"}\n- {\"}\"}\n- {\")\"}\n- {\"-[:\"}\n- {selectedRelationship.type}\n- {\"]->\"}\n- {\"(:\"}\n- {getNodeType(selectedRelationship.target)} {\"{name: \"}\n- {\"'\"}\n- {getNodeName(selectedRelationship.target)}\n- {\"'\"}\n- {\"}\"}\n- {\")\"}\n- \n- )}\n- \n- )}\n- setBottomDrawerOpen(false)}\n- sx={{ marginLeft: \"auto\" }}\n- >\n- \n- \n- \n- {selectedNode && (\n- \n- \n- \n- Node Information\n+ {t('detailDrawer.id')}: {selectedNode.uuid}\n+ {t('detailDrawer.name')}: {selectedNode.name}\n+ {selectedNode.covariate_type && (\n+ \n+ {t('detailDrawer.covariateType')}: {selectedNode.covariate_type}\n \n- ID: {selectedNode.uuid}\n- Name: {selectedNode.name}\n- {selectedNode.covariate_type && (\n- \n- Covariate Type: {selectedNode.covariate_type}\n- \n- )}\n- Type: {selectedNode.type}\n- {selectedNode.title && (\n- Title: {selectedNode.title}\n- )}\n- {selectedNode.summary && (\n- Summary: {selectedNode.summary}\n- )}\n- {selectedNode.n_tokens && (\n- \n- Number of Tokens: {selectedNode.n_tokens}\n- \n- )}\n+ )}\n+ {t('detailDrawer.type')}: {selectedNode.type}\n+ {selectedNode.title && (\n+ {t('detailDrawer.title')}: {selectedNode.title}\n+ )}\n+ {selectedNode.summary && (\n+ {t('detailDrawer.summary')}: {selectedNode.summary}\n+ )}\n+ {selectedNode.n_tokens && (\n+ \n+ {t('detailDrawer.numberOfTokens')}: {selectedNode.n_tokens}\n+ \n+ )}\n \n- {selectedNode.description && (\n- Description: {selectedNode.description}\n- )}\n- {selectedNode.human_readable_id && (\n- \n- Human Readable ID: {selectedNode.human_readable_id}\n- \n- )}\n-\n- {/* {selectedNode.human_readable_id ||\n- (selectedNode.human_readable_id === 0 && (\n- \n- Human Readable ID: {selectedNode.human_readable_id}\n- \n- ))} */}\n- {selectedNode.raw_content && (\n- Raw Content: {selectedNode.raw_content}\n- )}\n- \n- \n- )}\n- {selectedRelationship && (\n- \n- \n- \n- Relationship Information:\n+ {selectedNode.description && (\n+ {t('detailDrawer.description')}: {selectedNode.description}\n+ )}\n+ {selectedNode.human_readable_id && (\n+ \n+ {t('detailDrawer.humanReadableId')}: {selectedNode.human_readable_id}\n \n- ID: {selectedRelationship.id}\n+ )}\n+ {selectedNode.raw_content && (\n+ {t('detailDrawer.rawContent')}: {selectedNode.raw_content}\n+ )}\n+ \n+ \n+ )}\n+ {selectedRelationship && (\n+ \n+ \n+ \n+ {t('detailDrawer.relationshipInformation')}\n+ \n+ {t('detailDrawer.id')}: {selectedRelationship.id}\n \n+ \n+ {t('detailDrawer.source')}: {getNodeName(selectedRelationship.source)}\n+ \n+ \n+ {t('detailDrawer.target')}: {getNodeName(selectedRelationship.target)}\n+ \n+ {t('detailDrawer.type')}: {selectedRelationship.type}\n+ {selectedRelationship.description && (\n \n- Source: {getNodeName(selectedRelationship.source)}\n+ {t('detailDrawer.description')}: {selectedRelationship.description}\n \n+ )}\n+ {selectedRelationship.human_readable_id && (\n \n- Target: {getNodeName(selectedRelationship.target)}\n+ {t('detailDrawer.humanReadableId')}: {selectedRelationship.human_readable_id}\n \n- Type: {selectedRelationship.type}\n- {selectedRelationship.description && (\n- \n- Description: {selectedRelationship.description}\n- \n- )}\n- {selectedRelationship.human_readable_id && (\n- \n- Human Readable ID: {selectedRelationship.human_readable_id}\n- \n- )}\n- {selectedRelationship.weight && (\n- Weight: {selectedRelationship.weight}\n- )}\n- {selectedRelationship.source_degree && (\n- \n- Source Degree: {selectedRelationship.source_degree}\n- \n- )}\n- {selectedRelationship.target_degree && (\n- \n- Target Degree: {selectedRelationship.target_degree}\n- \n- )}\n- {selectedRelationship.rank && (\n- Rank: {selectedRelationship.rank}\n- )}\n- \n- \n- )}\n- \n+ )}\n+ {selectedRelationship.weight && (\n+ {t('detailDrawer.weight')}: {selectedRelationship.weight}\n+ )}\n+ {selectedRelationship.source_degree && (\n+ \n+ {t('detailDrawer.sourceDegree')}: {selectedRelationship.source_degree}\n+ \n+ )}\n+ {selectedRelationship.target_degree && (\n+ \n+ {t('detailDrawer.targetDegree')}: {selectedRelationship.target_degree}\n+ \n+ )}\n+ {selectedRelationship.rank && (\n+ {t('detailDrawer.rank')}: {selectedRelationship.rank}\n+ )}\n+
\n+
\n+ )}\n+ \n+ \n+ {t('detailDrawer.linkedNodes')}\n+ \n+ \n+ \n+ {selectedNode && (\n+ \n \n- Linked Nodes\n+ {t('detailDrawer.linkedRelationships')}\n \n+\n ({\n+ ...link,\n+ source: getNodeName(link.source),\n+ target: getNodeName(link.target),\n+ }))}\n />\n \n- {selectedNode && (\n- \n- \n- Linked Relationships\n- \n-\n- ({\n- ...link,\n- source: getNodeName(link.source),\n- target: getNodeName(link.target),\n- }))}\n- />\n- \n- )}\n- \n- \n+ )}\n+ \n+ \n );\n };\n \n export default DetailDrawer;\n" + } + ], + "date": 1727250670012, + "name": "Commit-0", + "content": "import React from \"react\";\nimport {\n Box,\n Card,\n CardContent,\n Drawer,\n IconButton,\n Typography,\n} from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport DataTable from \"./DataTable\";\nimport {\n CustomLink,\n CustomNode,\n customLinkColumns,\n customNodeColumns,\n} from \"../models/custom-graph-data\";\nimport { textUnitColumns } from \"../models/text-unit\";\nimport { communityColumns } from \"../models/community\";\nimport {\n communityReportColumns,\n findingColumns,\n} from \"../models/community-report\";\nimport { documentColumns } from \"../models/document\";\nimport { covariateColumns } from \"../models/covariate\";\nimport { MRT_ColumnDef } from \"material-react-table\";\nimport { entityColumns } from \"../models/entity\";\nimport { useTranslation } from 'react-i18next';\n\ninterface DetailDrawerProps {\n bottomDrawerOpen: boolean;\n setBottomDrawerOpen: React.Dispatch>;\n selectedNode: CustomNode | null;\n selectedRelationship: CustomLink | null;\n linkedNodes: CustomNode[];\n linkedRelationships: CustomLink[];\n}\n\nconst DetailDrawer: React.FC = ({\n bottomDrawerOpen,\n setBottomDrawerOpen,\n selectedNode,\n selectedRelationship,\n linkedNodes,\n linkedRelationships,\n}) => {\n const getNodeName = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.name : node;\n };\n\n const getNodeType = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.type : node;\n };\n\n const getFilteredNodeColumns = (\n types: string[]\n ): MRT_ColumnDef[] => {\n const validAccessorKeys = new Set();\n if (types.includes(\"CHUNK\")) {\n textUnitColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"COMMUNITY\")) {\n communityColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n communityReportColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"RAW_DOCUMENT\")) {\n documentColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"COVARIATE\")) {\n covariateColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"FINDING\")) {\n findingColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n entityColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n validAccessorKeys.add(\"uuid\");\n return customNodeColumns.filter(\n (column) =>\n column.accessorKey && validAccessorKeys.has(column.accessorKey)\n );\n };\n\n const linkedNodeTypes = [...new Set(linkedNodes.map((node) => node.type))];\n const filteredColumns = getFilteredNodeColumns(linkedNodeTypes);\n\n return (\n setBottomDrawerOpen(false)}\n sx={{ zIndex: 1500 }}\n >\n \n \n {selectedNode ? (\n \n {/* Node Details: {selectedNode.id.toString()} */}\n Node Details: {selectedNode.name.toString()}\n \n ) : (\n \n {\" \"}\n {selectedRelationship && (\n <>\n {\"(:\"}\n {getNodeType(selectedRelationship.source)} {\"{name: \"}\n {\"'\"}\n {getNodeName(selectedRelationship.source)}\n {\"'\"}\n {\"}\"}\n {\")\"}\n {\"-[:\"}\n {selectedRelationship.type}\n {\"]->\"}\n {\"(:\"}\n {getNodeType(selectedRelationship.target)} {\"{name: \"}\n {\"'\"}\n {getNodeName(selectedRelationship.target)}\n {\"'\"}\n {\"}\"}\n {\")\"}\n \n )}\n \n )}\n setBottomDrawerOpen(false)}\n sx={{ marginLeft: \"auto\" }}\n >\n \n \n \n {selectedNode && (\n \n \n \n Node Information\n \n ID: {selectedNode.uuid}\n Name: {selectedNode.name}\n {selectedNode.covariate_type && (\n \n Covariate Type: {selectedNode.covariate_type}\n \n )}\n Type: {selectedNode.type}\n {selectedNode.title && (\n Title: {selectedNode.title}\n )}\n {selectedNode.summary && (\n Summary: {selectedNode.summary}\n )}\n {selectedNode.n_tokens && (\n \n Number of Tokens: {selectedNode.n_tokens}\n \n )}\n\n {selectedNode.description && (\n Description: {selectedNode.description}\n )}\n {selectedNode.human_readable_id && (\n \n Human Readable ID: {selectedNode.human_readable_id}\n \n )}\n\n {/* {selectedNode.human_readable_id ||\n (selectedNode.human_readable_id === 0 && (\n \n Human Readable ID: {selectedNode.human_readable_id}\n \n ))} */}\n {selectedNode.raw_content && (\n Raw Content: {selectedNode.raw_content}\n )}\n \n \n )}\n {selectedRelationship && (\n \n \n \n Relationship Information:\n \n ID: {selectedRelationship.id}\n\n \n Source: {getNodeName(selectedRelationship.source)}\n \n \n Target: {getNodeName(selectedRelationship.target)}\n \n Type: {selectedRelationship.type}\n {selectedRelationship.description && (\n \n Description: {selectedRelationship.description}\n \n )}\n {selectedRelationship.human_readable_id && (\n \n Human Readable ID: {selectedRelationship.human_readable_id}\n \n )}\n {selectedRelationship.weight && (\n Weight: {selectedRelationship.weight}\n )}\n {selectedRelationship.source_degree && (\n \n Source Degree: {selectedRelationship.source_degree}\n \n )}\n {selectedRelationship.target_degree && (\n \n Target Degree: {selectedRelationship.target_degree}\n \n )}\n {selectedRelationship.rank && (\n Rank: {selectedRelationship.rank}\n )}\n \n \n )}\n \n \n Linked Nodes\n \n \n \n {selectedNode && (\n \n \n Linked Relationships\n \n\n ({\n ...link,\n source: getNodeName(link.source),\n target: getNodeName(link.target),\n }))}\n />\n \n )}\n \n \n );\n};\n\nexport default DetailDrawer;\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/components/DropZone.tsx.json b/.lh/src/app/components/DropZone.tsx.json new file mode 100644 index 0000000..e78b9e1 --- /dev/null +++ b/.lh/src/app/components/DropZone.tsx.json @@ -0,0 +1,42 @@ +{ + "sourceFile": "src/app/components/DropZone.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 6, + "patches": [ + { + "date": 1727240020326, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727240034436, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n import React from \"react\";\n import { Box, Typography } from \"@mui/material\";\n import { useTheme } from \"@mui/material/styles\";\n import { useTranslation } from 'react-i18next';\n+const { t } = useTranslation();\n \n interface DropZoneProps {\n getRootProps: () => any;\n getInputProps: () => any;\n" + }, + { + "date": 1727240054146, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n import React from \"react\";\n import { Box, Typography } from \"@mui/material\";\n import { useTheme } from \"@mui/material/styles\";\n import { useTranslation } from 'react-i18next';\n+\n const { t } = useTranslation();\n \n interface DropZoneProps {\n getRootProps: () => any;\n@@ -39,9 +40,9 @@\n }}\n >\n \n {isDragActive ? (\n- Drop the files here...\n+ {t('dropZone.dropFilesHere')}Drop the files here...\n ) : (\n \n Drag 'n' drop parquet files here, or click to select files\n \n" + }, + { + "date": 1727240073212, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -40,12 +40,12 @@\n }}\n >\n \n {isDragActive ? (\n- {t('dropZone.dropFilesHere')}Drop the files here...\n+ {t('dropZone.dropFilesHere')}\n ) : (\n \n- Drag 'n' drop parquet files here, or click to select files\n+ {t('dropZone.dragAndDrop')}\n \n )}\n \n );\n" + }, + { + "date": 1727240260651, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,52 @@\n+import React from \"react\";\n+import { Box, Typography } from \"@mui/material\";\n+import { useTheme } from \"@mui/material/styles\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DropZoneProps {\n+ getRootProps: () => any;\n+ getInputProps: () => any;\n+ isDragActive: boolean;\n+}\n+\n+const DropZone: React.FC = ({\n+ getRootProps,\n+ getInputProps,\n+ isDragActive,\n+}) => {\n+ const theme = useTheme();\n+\n+ return (\n+ \n+ \n+ {isDragActive ? (\n+ {t('dropZone.dropFilesHere')}\n+ ) : (\n+ \n+ {t('dropZone.dragAndDrop')}\n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default DropZone;\n" + }, + { + "date": 1727240266251, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -13,62 +13,10 @@\n getRootProps,\n getInputProps,\n isDragActive,\n }) => {\n- const theme = useTheme();\n+ const { t } = useTranslation();\n \n- return (\n- \n- \n- {isDragActive ? (\n- {t('dropZone.dropFilesHere')}\n- ) : (\n- \n- {t('dropZone.dragAndDrop')}\n- \n- )}\n- \n- );\n-};\n-\n-export default DropZone;\n-import React from \"react\";\n-import { Box, Typography } from \"@mui/material\";\n-import { useTheme } from \"@mui/material/styles\";\n-import { useTranslation } from 'react-i18next';\n-\n-const { t } = useTranslation();\n-\n-interface DropZoneProps {\n- getRootProps: () => any;\n- getInputProps: () => any;\n- isDragActive: boolean;\n-}\n-\n-const DropZone: React.FC = ({\n- getRootProps,\n- getInputProps,\n- isDragActive,\n-}) => {\n const theme = useTheme();\n \n return (\n {\n- const { t } = useTranslation();\n-\n+ const { t } = useTranslation('');\n const theme = useTheme();\n \n return (\n any;\n getInputProps: () => any;\n isDragActive: boolean;\n}\n\nconst DropZone: React.FC = ({\n getRootProps,\n getInputProps,\n isDragActive,\n}) => {\n const theme = useTheme();\n\n return (\n \n \n {isDragActive ? (\n Drop the files here...\n ) : (\n \n Drag 'n' drop parquet files here, or click to select files\n \n )}\n \n );\n};\n\nexport default DropZone;\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/components/GraphDataHandler.tsx.json b/.lh/src/app/components/GraphDataHandler.tsx.json new file mode 100644 index 0000000..8ba90c6 --- /dev/null +++ b/.lh/src/app/components/GraphDataHandler.tsx.json @@ -0,0 +1,70 @@ +{ + "sourceFile": "src/app/components/GraphDataHandler.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 13, + "patches": [ + { + "date": 1727235160816, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727235168436, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -10,8 +10,9 @@\n import ReactGA from \"react-ga4\";\n import { useTranslation } from 'react-i18next';\n \n const GraphDataHandler: React.FC = () => {\n+ const { t } = useTranslation();\n const [tabIndex, setTabIndex] = useState(0);\n const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n const [isFullscreen, setIsFullscreen] = useState(false);\n const [selectedTable, setSelectedTable] = useState<\n" + }, + { + "date": 1727235187794, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,11 +107,11 @@\n \n return (\n <>\n \n- \n- \n- \n+ \n+ \n+ \n \n {tabIndex === 0 && (\n \n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" + }, + { + "date": 1727235268240, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n return (\n <>\n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" + }, + { + "date": 1727235274910, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -108,10 +108,10 @@\n return (\n <>\n \n \n- \n- \n+ \n+ \n \n {tabIndex === 0 && (\n \n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" + }, + { + "date": 1727235593756, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n return (\n <>\n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" + }, + { + "date": 1727235977999, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,11 +107,11 @@\n \n return (\n <>\n \n- \n- \n- \n+ \n+ \n+ \n \n {tabIndex === 0 && (\n {\n+ const { t } = useTranslation('');\n+ const [tabIndex, setTabIndex] = useState(0);\n+ const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n+ const [isFullscreen, setIsFullscreen] = useState(false);\n+ const [selectedTable, setSelectedTable] = useState<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >(\"entities\");\n+ const [includeDocuments, setIncludeDocuments] = useState(false);\n+ const [includeTextUnits, setIncludeTextUnits] = useState(false);\n+ const [includeCommunities, setIncludeCommunities] = useState(false);\n+ const [includeCovariates, setIncludeCovariates] = useState(false);\n+\n+ const {\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ covariates,\n+ communityReports,\n+ handleFilesRead,\n+ } = useFileHandler();\n+\n+ const graphData = useGraphData(\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+ includeDocuments,\n+ includeTextUnits,\n+ includeCommunities,\n+ includeCovariates\n+ );\n+\n+ const hasDocuments = documents.length > 0;\n+ const hasTextUnits = textunits.length > 0;\n+ const hasCommunities = communities.length > 0;\n+ const hasCovariates = covariates.length > 0;\n+\n+ useEffect(() => {\n+ if (entities.length > 0) {\n+ setTabIndex(1);\n+ }\n+ }, [entities]);\n+\n+ useEffect(() => {\n+ const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n+ if (measurementId) {\n+ ReactGA.initialize(measurementId);\n+ } else {\n+ console.error(\"Google Analytics measurement ID not found\");\n+ }\n+ }, []);\n+\n+ const onDrop = (acceptedFiles: File[]) => {\n+ handleFilesRead(acceptedFiles);\n+ };\n+\n+ const { getRootProps, getInputProps, isDragActive } = useDropzone({\n+ onDrop,\n+ noClick: false,\n+ noKeyboard: true,\n+ accept: {\n+ \"application/x-parquet\": [\".parquet\"],\n+ },\n+ });\n+\n+ const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n+ setTabIndex(newValue);\n+ ReactGA.send({\n+ hitType: \"event\",\n+ eventCategory: \"Tabs\",\n+ eventAction: \"click\",\n+ eventLabel: `Tab ${newValue}`,\n+ });\n+ };\n+\n+ const toggleGraphType = () => {\n+ setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n+ };\n+\n+ const toggleFullscreen = () => {\n+ setIsFullscreen(!isFullscreen);\n+ };\n+\n+ return (\n+ <>\n+ \n+ \n+ \n+ \n+ \n+ {tabIndex === 0 && (\n+ \n+ \n+ \n+ \n+ )}\n+ {tabIndex === 1 && (\n+ \n+ \n+ setIncludeDocuments(!includeDocuments)\n+ }\n+ onIncludeTextUnitsChange={() =>\n+ setIncludeTextUnits(!includeTextUnits)\n+ }\n+ includeCommunities={includeCommunities}\n+ onIncludeCommunitiesChange={() =>\n+ setIncludeCommunities(!includeCommunities)\n+ }\n+ includeCovariates={includeCovariates}\n+ onIncludeCovariatesChange={() =>\n+ setIncludeCovariates(!includeCovariates)\n+ }\n+ hasDocuments={hasDocuments}\n+ hasTextUnits={hasTextUnits}\n+ hasCommunities={hasCommunities}\n+ hasCovariates={hasCovariates}\n+ />\n+ \n+ )}\n+\n+ {tabIndex === 2 && (\n+ \n+ \n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default GraphDataHandler;\n" + }, + { + "date": 1727236511109, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,182 @@\n+import React, { useState, useEffect } from \"react\";\n+import GraphViewer from \"./GraphViewer\";\n+import { Box, Container, Tab, Tabs } from \"@mui/material\";\n+import { useDropzone } from \"react-dropzone\";\n+import DropZone from \"./DropZone\";\n+import Introduction from \"./Introduction\";\n+import useFileHandler from \"../hooks/useFileHandler\";\n+import useGraphData from \"../hooks/useGraphData\";\n+import DataTableContainer from \"./DataTableContainer\";\n+import ReactGA from \"react-ga4\";\n+import { useTranslation } from 'react-i18next';\n+\n+const GraphDataHandler: React.FC = () => {\n+ const { t } = useTranslation('layout');\n+ const [tabIndex, setTabIndex] = useState(0);\n+ const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n+ const [isFullscreen, setIsFullscreen] = useState(false);\n+ const [selectedTable, setSelectedTable] = useState<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >(\"entities\");\n+ const [includeDocuments, setIncludeDocuments] = useState(false);\n+ const [includeTextUnits, setIncludeTextUnits] = useState(false);\n+ const [includeCommunities, setIncludeCommunities] = useState(false);\n+ const [includeCovariates, setIncludeCovariates] = useState(false);\n+\n+ const {\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ covariates,\n+ communityReports,\n+ handleFilesRead,\n+ } = useFileHandler();\n+\n+ const graphData = useGraphData(\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+ includeDocuments,\n+ includeTextUnits,\n+ includeCommunities,\n+ includeCovariates\n+ );\n+\n+ const hasDocuments = documents.length > 0;\n+ const hasTextUnits = textunits.length > 0;\n+ const hasCommunities = communities.length > 0;\n+ const hasCovariates = covariates.length > 0;\n+\n+ useEffect(() => {\n+ if (entities.length > 0) {\n+ setTabIndex(1);\n+ }\n+ }, [entities]);\n+\n+\n+ const onDrop = (acceptedFiles: File[]) => {\n+ handleFilesRead(acceptedFiles);\n+ };\n+\n+ const { getRootProps, getInputProps, isDragActive } = useDropzone({\n+ onDrop,\n+ noClick: false,\n+ noKeyboard: true,\n+ accept: {\n+ \"application/x-parquet\": [\".parquet\"],\n+ },\n+ });\n+\n+ const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n+ setTabIndex(newValue);\n+ ReactGA.send({\n+ hitType: \"event\",\n+ eventCategory: \"Tabs\",\n+ eventAction: \"click\",\n+ eventLabel: `Tab ${newValue}`,\n+ });\n+ };\n+\n+ const toggleGraphType = () => {\n+ setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n+ };\n+\n+ const toggleFullscreen = () => {\n+ setIsFullscreen(!isFullscreen);\n+ };\n+\n+ return (\n+ <>\n+ \n+ \n+ \n+ \n+ \n+ {tabIndex === 0 && (\n+ \n+ \n+ \n+ \n+ )}\n+ {tabIndex === 1 && (\n+ \n+ \n+ setIncludeDocuments(!includeDocuments)\n+ }\n+ onIncludeTextUnitsChange={() =>\n+ setIncludeTextUnits(!includeTextUnits)\n+ }\n+ includeCommunities={includeCommunities}\n+ onIncludeCommunitiesChange={() =>\n+ setIncludeCommunities(!includeCommunities)\n+ }\n+ includeCovariates={includeCovariates}\n+ onIncludeCovariatesChange={() =>\n+ setIncludeCovariates(!includeCovariates)\n+ }\n+ hasDocuments={hasDocuments}\n+ hasTextUnits={hasTextUnits}\n+ hasCommunities={hasCommunities}\n+ hasCovariates={hasCovariates}\n+ />\n+ \n+ )}\n+\n+ {tabIndex === 2 && (\n+ \n+ \n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default GraphDataHandler;\n" + }, + { + "date": 1727236520357, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -6,9 +6,8 @@\n import Introduction from \"./Introduction\";\n import useFileHandler from \"../hooks/useFileHandler\";\n import useGraphData from \"../hooks/useGraphData\";\n import DataTableContainer from \"./DataTableContainer\";\n-import ReactGA from \"react-ga4\";\n import { useTranslation } from 'react-i18next';\n \n const GraphDataHandler: React.FC = () => {\n const { t } = useTranslation('layout');\n@@ -64,9 +63,8 @@\n setTabIndex(1);\n }\n }, [entities]);\n \n-\n const onDrop = (acceptedFiles: File[]) => {\n handleFilesRead(acceptedFiles);\n };\n \n@@ -179,384 +177,4 @@\n );\n };\n \n export default GraphDataHandler;\n-import React, { useState, useEffect } from \"react\";\n-import GraphViewer from \"./GraphViewer\";\n-import { Box, Container, Tab, Tabs } from \"@mui/material\";\n-import { useDropzone } from \"react-dropzone\";\n-import DropZone from \"./DropZone\";\n-import Introduction from \"./Introduction\";\n-import useFileHandler from \"../hooks/useFileHandler\";\n-import useGraphData from \"../hooks/useGraphData\";\n-import DataTableContainer from \"./DataTableContainer\";\n-import ReactGA from \"react-ga4\";\n-import { useTranslation } from 'react-i18next';\n-\n-const GraphDataHandler: React.FC = () => {\n- const { t } = useTranslation('');\n- const [tabIndex, setTabIndex] = useState(0);\n- const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n- const [isFullscreen, setIsFullscreen] = useState(false);\n- const [selectedTable, setSelectedTable] = useState<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >(\"entities\");\n- const [includeDocuments, setIncludeDocuments] = useState(false);\n- const [includeTextUnits, setIncludeTextUnits] = useState(false);\n- const [includeCommunities, setIncludeCommunities] = useState(false);\n- const [includeCovariates, setIncludeCovariates] = useState(false);\n-\n- const {\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- covariates,\n- communityReports,\n- handleFilesRead,\n- } = useFileHandler();\n-\n- const graphData = useGraphData(\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n- includeDocuments,\n- includeTextUnits,\n- includeCommunities,\n- includeCovariates\n- );\n-\n- const hasDocuments = documents.length > 0;\n- const hasTextUnits = textunits.length > 0;\n- const hasCommunities = communities.length > 0;\n- const hasCovariates = covariates.length > 0;\n-\n- useEffect(() => {\n- if (entities.length > 0) {\n- setTabIndex(1);\n- }\n- }, [entities]);\n-\n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n- const onDrop = (acceptedFiles: File[]) => {\n- handleFilesRead(acceptedFiles);\n- };\n-\n- const { getRootProps, getInputProps, isDragActive } = useDropzone({\n- onDrop,\n- noClick: false,\n- noKeyboard: true,\n- accept: {\n- \"application/x-parquet\": [\".parquet\"],\n- },\n- });\n-\n- const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n- setTabIndex(newValue);\n- ReactGA.send({\n- hitType: \"event\",\n- eventCategory: \"Tabs\",\n- eventAction: \"click\",\n- eventLabel: `Tab ${newValue}`,\n- });\n- };\n-\n- const toggleGraphType = () => {\n- setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n- };\n-\n- const toggleFullscreen = () => {\n- setIsFullscreen(!isFullscreen);\n- };\n-\n- return (\n- <>\n- \n- \n- \n- \n- \n- {tabIndex === 0 && (\n- \n- \n- \n- \n- )}\n- {tabIndex === 1 && (\n- \n- \n- setIncludeDocuments(!includeDocuments)\n- }\n- onIncludeTextUnitsChange={() =>\n- setIncludeTextUnits(!includeTextUnits)\n- }\n- includeCommunities={includeCommunities}\n- onIncludeCommunitiesChange={() =>\n- setIncludeCommunities(!includeCommunities)\n- }\n- includeCovariates={includeCovariates}\n- onIncludeCovariatesChange={() =>\n- setIncludeCovariates(!includeCovariates)\n- }\n- hasDocuments={hasDocuments}\n- hasTextUnits={hasTextUnits}\n- hasCommunities={hasCommunities}\n- hasCovariates={hasCovariates}\n- />\n- \n- )}\n-\n- {tabIndex === 2 && (\n- \n- \n- \n- )}\n- \n- );\n-};\n-\n-export default GraphDataHandler;\n-import React, { useState, useEffect } from \"react\";\n-import GraphViewer from \"./GraphViewer\";\n-import { Box, Container, Tab, Tabs } from \"@mui/material\";\n-import { useDropzone } from \"react-dropzone\";\n-import DropZone from \"./DropZone\";\n-import Introduction from \"./Introduction\";\n-import useFileHandler from \"../hooks/useFileHandler\";\n-import useGraphData from \"../hooks/useGraphData\";\n-import DataTableContainer from \"./DataTableContainer\";\n-import ReactGA from \"react-ga4\";\n-import { useTranslation } from 'react-i18next';\n-\n-const GraphDataHandler: React.FC = () => {\n- const { t } = useTranslation();\n- const [tabIndex, setTabIndex] = useState(0);\n- const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n- const [isFullscreen, setIsFullscreen] = useState(false);\n- const [selectedTable, setSelectedTable] = useState<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >(\"entities\");\n- const [includeDocuments, setIncludeDocuments] = useState(false);\n- const [includeTextUnits, setIncludeTextUnits] = useState(false);\n- const [includeCommunities, setIncludeCommunities] = useState(false);\n- const [includeCovariates, setIncludeCovariates] = useState(false);\n-\n- const {\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- covariates,\n- communityReports,\n- handleFilesRead,\n- } = useFileHandler();\n-\n- const graphData = useGraphData(\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n- includeDocuments,\n- includeTextUnits,\n- includeCommunities,\n- includeCovariates\n- );\n-\n- const hasDocuments = documents.length > 0;\n- const hasTextUnits = textunits.length > 0;\n- const hasCommunities = communities.length > 0;\n- const hasCovariates = covariates.length > 0;\n-\n- useEffect(() => {\n- if (entities.length > 0) {\n- setTabIndex(1);\n- }\n- }, [entities]);\n-\n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n- const onDrop = (acceptedFiles: File[]) => {\n- handleFilesRead(acceptedFiles);\n- };\n-\n- const { getRootProps, getInputProps, isDragActive } = useDropzone({\n- onDrop,\n- noClick: false,\n- noKeyboard: true,\n- accept: {\n- \"application/x-parquet\": [\".parquet\"],\n- },\n- });\n-\n- const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n- setTabIndex(newValue);\n- ReactGA.send({\n- hitType: \"event\",\n- eventCategory: \"Tabs\",\n- eventAction: \"click\",\n- eventLabel: `Tab ${newValue}`,\n- });\n- };\n-\n- const toggleGraphType = () => {\n- setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n- };\n-\n- const toggleFullscreen = () => {\n- setIsFullscreen(!isFullscreen);\n- };\n-\n- return (\n- <>\n- \n- \n- \n- \n- \n- {tabIndex === 0 && (\n- \n- \n- \n- \n- )}\n- {tabIndex === 1 && (\n- \n- \n- setIncludeDocuments(!includeDocuments)\n- }\n- onIncludeTextUnitsChange={() =>\n- setIncludeTextUnits(!includeTextUnits)\n- }\n- includeCommunities={includeCommunities}\n- onIncludeCommunitiesChange={() =>\n- setIncludeCommunities(!includeCommunities)\n- }\n- includeCovariates={includeCovariates}\n- onIncludeCovariatesChange={() =>\n- setIncludeCovariates(!includeCovariates)\n- }\n- hasDocuments={hasDocuments}\n- hasTextUnits={hasTextUnits}\n- hasCommunities={hasCommunities}\n- hasCovariates={hasCovariates}\n- />\n- \n- )}\n-\n- {tabIndex === 2 && (\n- \n- \n- \n- )}\n- \n- );\n-};\n-\n-export default GraphDataHandler;\n" + }, + { + "date": 1727236600145, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,174 @@\n+import React, { useState, useEffect } from \"react\";\n+import GraphViewer from \"./GraphViewer\";\n+import { Box, Container, Tab, Tabs } from \"@mui/material\";\n+import { useDropzone } from \"react-dropzone\";\n+import DropZone from \"./DropZone\";\n+import Introduction from \"./Introduction\";\n+import useFileHandler from \"../hooks/useFileHandler\";\n+import useGraphData from \"../hooks/useGraphData\";\n+import DataTableContainer from \"./DataTableContainer\";\n+import { useTranslation } from 'react-i18next';\n+\n+const GraphDataHandler: React.FC = () => {\n+ const { t } = useTranslation('layout');\n+ const [tabIndex, setTabIndex] = useState(0);\n+ const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n+ const [isFullscreen, setIsFullscreen] = useState(false);\n+ const [selectedTable, setSelectedTable] = useState<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >(\"entities\");\n+ const [includeDocuments, setIncludeDocuments] = useState(false);\n+ const [includeTextUnits, setIncludeTextUnits] = useState(false);\n+ const [includeCommunities, setIncludeCommunities] = useState(false);\n+ const [includeCovariates, setIncludeCovariates] = useState(false);\n+\n+ const {\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ covariates,\n+ communityReports,\n+ handleFilesRead,\n+ } = useFileHandler();\n+\n+ const graphData = useGraphData(\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+ includeDocuments,\n+ includeTextUnits,\n+ includeCommunities,\n+ includeCovariates\n+ );\n+\n+ const hasDocuments = documents.length > 0;\n+ const hasTextUnits = textunits.length > 0;\n+ const hasCommunities = communities.length > 0;\n+ const hasCovariates = covariates.length > 0;\n+\n+ useEffect(() => {\n+ if (entities.length > 0) {\n+ setTabIndex(1);\n+ }\n+ }, [entities]);\n+\n+ const onDrop = (acceptedFiles: File[]) => {\n+ handleFilesRead(acceptedFiles);\n+ };\n+\n+ const { getRootProps, getInputProps, isDragActive } = useDropzone({\n+ onDrop,\n+ noClick: false,\n+ noKeyboard: true,\n+ accept: {\n+ \"application/x-parquet\": [\".parquet\"],\n+ },\n+ });\n+\n+ const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n+ setTabIndex(newValue);\n+ };\n+\n+ const toggleGraphType = () => {\n+ setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n+ };\n+\n+ const toggleFullscreen = () => {\n+ setIsFullscreen(!isFullscreen);\n+ };\n+\n+ return (\n+ <>\n+ \n+ \n+ \n+ \n+ \n+ {tabIndex === 0 && (\n+ \n+ \n+ \n+ \n+ )}\n+ {tabIndex === 1 && (\n+ \n+ \n+ setIncludeDocuments(!includeDocuments)\n+ }\n+ onIncludeTextUnitsChange={() =>\n+ setIncludeTextUnits(!includeTextUnits)\n+ }\n+ includeCommunities={includeCommunities}\n+ onIncludeCommunitiesChange={() =>\n+ setIncludeCommunities(!includeCommunities)\n+ }\n+ includeCovariates={includeCovariates}\n+ onIncludeCovariatesChange={() =>\n+ setIncludeCovariates(!includeCovariates)\n+ }\n+ hasDocuments={hasDocuments}\n+ hasTextUnits={hasTextUnits}\n+ hasCommunities={hasCommunities}\n+ hasCovariates={hasCovariates}\n+ />\n+ \n+ )}\n+\n+ {tabIndex === 2 && (\n+ \n+ \n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default GraphDataHandler;\n" + }, + { + "date": 1727239718106, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -93,9 +93,9 @@\n <>\n \n \n \n- \n+ \n \n {tabIndex === 0 && (\n {\n- const { t } = useTranslation('layout');\n- const [tabIndex, setTabIndex] = useState(0);\n- const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n- const [isFullscreen, setIsFullscreen] = useState(false);\n- const [selectedTable, setSelectedTable] = useState<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >(\"entities\");\n- const [includeDocuments, setIncludeDocuments] = useState(false);\n- const [includeTextUnits, setIncludeTextUnits] = useState(false);\n- const [includeCommunities, setIncludeCommunities] = useState(false);\n- const [includeCovariates, setIncludeCovariates] = useState(false);\n-\n- const {\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- covariates,\n- communityReports,\n- handleFilesRead,\n- } = useFileHandler();\n-\n- const graphData = useGraphData(\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n- includeDocuments,\n- includeTextUnits,\n- includeCommunities,\n- includeCovariates\n- );\n-\n- const hasDocuments = documents.length > 0;\n- const hasTextUnits = textunits.length > 0;\n- const hasCommunities = communities.length > 0;\n- const hasCovariates = covariates.length > 0;\n-\n- useEffect(() => {\n- if (entities.length > 0) {\n- setTabIndex(1);\n- }\n- }, [entities]);\n-\n- const onDrop = (acceptedFiles: File[]) => {\n- handleFilesRead(acceptedFiles);\n- };\n-\n- const { getRootProps, getInputProps, isDragActive } = useDropzone({\n- onDrop,\n- noClick: false,\n- noKeyboard: true,\n- accept: {\n- \"application/x-parquet\": [\".parquet\"],\n- },\n- });\n-\n- const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n- setTabIndex(newValue);\n- ReactGA.send({\n- hitType: \"event\",\n- eventCategory: \"Tabs\",\n- eventAction: \"click\",\n- eventLabel: `Tab ${newValue}`,\n- });\n- };\n-\n- const toggleGraphType = () => {\n- setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n- };\n-\n- const toggleFullscreen = () => {\n- setIsFullscreen(!isFullscreen);\n- };\n-\n- return (\n- <>\n- \n- \n- \n- \n- \n- {tabIndex === 0 && (\n- \n- \n- \n- \n- )}\n- {tabIndex === 1 && (\n- \n- \n- setIncludeDocuments(!includeDocuments)\n- }\n- onIncludeTextUnitsChange={() =>\n- setIncludeTextUnits(!includeTextUnits)\n- }\n- includeCommunities={includeCommunities}\n- onIncludeCommunitiesChange={() =>\n- setIncludeCommunities(!includeCommunities)\n- }\n- includeCovariates={includeCovariates}\n- onIncludeCovariatesChange={() =>\n- setIncludeCovariates(!includeCovariates)\n- }\n- hasDocuments={hasDocuments}\n- hasTextUnits={hasTextUnits}\n- hasCommunities={hasCommunities}\n- hasCovariates={hasCovariates}\n- />\n- \n- )}\n-\n- {tabIndex === 2 && (\n- \n- \n- \n- )}\n- \n- );\n-};\n-\n-export default GraphDataHandler;\n" + } + ], + "date": 1727235160816, + "name": "Commit-0", + "content": "import React, { useState, useEffect } from \"react\";\nimport GraphViewer from \"./GraphViewer\";\nimport { Box, Container, Tab, Tabs } from \"@mui/material\";\nimport { useDropzone } from \"react-dropzone\";\nimport DropZone from \"./DropZone\";\nimport Introduction from \"./Introduction\";\nimport useFileHandler from \"../hooks/useFileHandler\";\nimport useGraphData from \"../hooks/useGraphData\";\nimport DataTableContainer from \"./DataTableContainer\";\nimport ReactGA from \"react-ga4\";\nimport { useTranslation } from 'react-i18next';\n\nconst GraphDataHandler: React.FC = () => {\n const [tabIndex, setTabIndex] = useState(0);\n const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n const [isFullscreen, setIsFullscreen] = useState(false);\n const [selectedTable, setSelectedTable] = useState<\n | \"entities\"\n | \"relationships\"\n | \"documents\"\n | \"textunits\"\n | \"communities\"\n | \"communityReports\"\n | \"covariates\"\n >(\"entities\");\n const [includeDocuments, setIncludeDocuments] = useState(false);\n const [includeTextUnits, setIncludeTextUnits] = useState(false);\n const [includeCommunities, setIncludeCommunities] = useState(false);\n const [includeCovariates, setIncludeCovariates] = useState(false);\n\n const {\n entities,\n relationships,\n documents,\n textunits,\n communities,\n covariates,\n communityReports,\n handleFilesRead,\n } = useFileHandler();\n\n const graphData = useGraphData(\n entities,\n relationships,\n documents,\n textunits,\n communities,\n communityReports,\n covariates,\n includeDocuments,\n includeTextUnits,\n includeCommunities,\n includeCovariates\n );\n\n const hasDocuments = documents.length > 0;\n const hasTextUnits = textunits.length > 0;\n const hasCommunities = communities.length > 0;\n const hasCovariates = covariates.length > 0;\n\n useEffect(() => {\n if (entities.length > 0) {\n setTabIndex(1);\n }\n }, [entities]);\n\n useEffect(() => {\n const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n if (measurementId) {\n ReactGA.initialize(measurementId);\n } else {\n console.error(\"Google Analytics measurement ID not found\");\n }\n }, []);\n\n const onDrop = (acceptedFiles: File[]) => {\n handleFilesRead(acceptedFiles);\n };\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n noClick: false,\n noKeyboard: true,\n accept: {\n \"application/x-parquet\": [\".parquet\"],\n },\n });\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabIndex(newValue);\n ReactGA.send({\n hitType: \"event\",\n eventCategory: \"Tabs\",\n eventAction: \"click\",\n eventLabel: `Tab ${newValue}`,\n });\n };\n\n const toggleGraphType = () => {\n setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n };\n\n const toggleFullscreen = () => {\n setIsFullscreen(!isFullscreen);\n };\n\n return (\n <>\n \n \n \n \n \n {tabIndex === 0 && (\n \n \n \n \n )}\n {tabIndex === 1 && (\n \n \n setIncludeDocuments(!includeDocuments)\n }\n onIncludeTextUnitsChange={() =>\n setIncludeTextUnits(!includeTextUnits)\n }\n includeCommunities={includeCommunities}\n onIncludeCommunitiesChange={() =>\n setIncludeCommunities(!includeCommunities)\n }\n includeCovariates={includeCovariates}\n onIncludeCovariatesChange={() =>\n setIncludeCovariates(!includeCovariates)\n }\n hasDocuments={hasDocuments}\n hasTextUnits={hasTextUnits}\n hasCommunities={hasCommunities}\n hasCovariates={hasCovariates}\n />\n \n )}\n\n {tabIndex === 2 && (\n \n \n \n )}\n \n );\n};\n\nexport default GraphDataHandler;\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/components/GraphViewer.tsx.json b/.lh/src/app/components/GraphViewer.tsx.json new file mode 100644 index 0000000..921a936 --- /dev/null +++ b/.lh/src/app/components/GraphViewer.tsx.json @@ -0,0 +1,170 @@ +{ + "sourceFile": "src/app/components/GraphViewer.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 38, + "patches": [ + { + "date": 1727241223449, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727241263549, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -563,9 +563,8 @@\n onClick={toggleDrawer(true)}\n startIcon={}\n >\n {t('graphViewer.searchNodesLinks')}\n-\n \n {/* setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label= label={t('graphViewer.view3D')}\n+\n />\n setShowLabels(!showLabels)}\n />\n }\n- label= label={t('graphViewer.view3D')}\n-\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label={t('graphViewer.view3D')}\n+ label={t('graphViewer.view3D')}\n />\n \n }\n label=\"Show Highlight\"\n /> */}\n- \n+ \n+\n \n {isFullscreen ? : }\n \n \n" + }, + { + "date": 1727241343769, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -571,9 +571,10 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n+\n /> */}\n {/* */}\n \n-\n \n {isFullscreen ? : }\n \n \n" + }, + { + "date": 1727241374031, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,549 +1,15 @@\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n+import { useTranslation } from 'react-i18next';\n \n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n+const GraphViewer: React.FC = ({ ... }) => {\n+ const { t } = useTranslation();\n \n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n+ // 组件代码...\n \n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n- {/* \n- }\n- label={t('graphViewer.view3D')}\n \n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n \n \n {isFullscreen ? : }\n \n@@ -623,36 +53,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n@@ -663,29 +93,28 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label=\"Include Communities\"\n+ label={t('graphViewer.includeCommunities')}\n />\n \n \n }\n- label=\"Include Covariates\"\n+ label={t('graphViewer.includeCovariates')}\n />\n \n \n \n- \n+ {/* 其他代码... */}\n \n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n+ \n+ {t('graphViewer.nodes')}: {nodeCount}\n+ \n+ \n+ {t('graphViewer.relationships')}: {linkCount}\n+ \n }\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n };\n-\n-export default GraphViewer;\n" + }, + { + "date": 1727241383845, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,905 @@\n+import React, { useState, useCallback, useRef, useEffect } from \"react\";\n+import ForceGraph2D from \"react-force-graph-2d\";\n+import ForceGraph3D from \"react-force-graph-3d\";\n+import {\n+ CustomGraphData,\n+ CustomLink,\n+ CustomNode,\n+} from \"../models/custom-graph-data\";\n+import {\n+ Box,\n+ Button,\n+ Checkbox,\n+ FormControlLabel,\n+ FormGroup,\n+ IconButton,\n+ Switch,\n+ Tooltip,\n+ Typography,\n+ useTheme,\n+} from \"@mui/material\";\n+import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n+import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n+import SearchIcon from \"@mui/icons-material/Search\";\n+import DeleteIcon from \"@mui/icons-material/Delete\";\n+import Fuse from \"fuse.js\";\n+import {\n+ CSS2DRenderer,\n+ CSS2DObject,\n+} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n+import * as THREE from \"three\";\n+import { Renderer } from \"three\";\n+import SearchDrawer from \"./SearchDrawer\";\n+import DetailDrawer from \"./DetailDrawer\";\n+import { SearchResult } from \"../models/search-result\";\n+import agent from \"../api/agent\";\n+import APISearchDrawer from \"./APISearchDrawer\";\n+import SpriteText from \"three-spritetext\";\n+\n+type Coords = {\n+ x: number;\n+ y: number;\n+ z: number;\n+};\n+\n+interface GraphViewerProps {\n+ data: CustomGraphData;\n+ graphType: \"2d\" | \"3d\";\n+ isFullscreen: boolean;\n+ onToggleFullscreen: () => void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ \n+ }\n+ >\n+ {t('graphViewer.searchNodesLinks')}\n+ \n+ {/* \n+ }\n+ label={t('graphViewer.view3D')}\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n+ \n+ {isFullscreen ? : }\n+ \n+ \n+ \n+\n+ \n+ \n+ }\n+ label=\"3D View\"\n+ />\n+ setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Link Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ />\n+ \n+\n+ \n+ onIncludeDocumentsChange(!includeDocuments)}\n+ disabled={!hasDocuments || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Documents\"\n+ />\n+ onIncludeTextUnitsChange(!includeTextUnits)}\n+ onChange={() => {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ } else if (includeTextUnits && !includeCovariates) {\n+ onIncludeTextUnitsChange(false);\n+ } else {\n+ onIncludeTextUnitsChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ }\n+ }}\n+ disabled={!hasTextUnits || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Text Units\"\n+ />\n+ onIncludeCommunitiesChange(!includeCommunities)}\n+ disabled={!hasCommunities || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Communities\"\n+ />\n+\n+ {\n+ if (!includeCovariates) {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ }\n+ onIncludeCovariatesChange(true);\n+ } else {\n+ onIncludeCovariatesChange(false);\n+ }\n+ }}\n+ disabled={!hasCovariates || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Covariates\"\n+ />\n+ \n+ \n+\n+ \n+\n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n+ \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n+ }\n+ >\n+ Ask Query (Local/Global Search)\n+ \n+ }\n+ color=\"warning\"\n+ disabled={apiSearchResults === null}\n+ >\n+ Clear Query Results\n+ \n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n" + }, + { + "date": 1727241469668, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,8 +34,9 @@\n import { SearchResult } from \"../models/search-result\";\n import agent from \"../api/agent\";\n import APISearchDrawer from \"./APISearchDrawer\";\n import SpriteText from \"three-spritetext\";\n+import { useTranslation } from 'react-i18next';\n \n type Coords = {\n x: number;\n y: number;\n@@ -902,194 +903,4 @@\n );\n };\n \n export default GraphViewer;\n-import { useTranslation } from 'react-i18next';\n-\n-const GraphViewer: React.FC = ({ ... }) => {\n- const { t } = useTranslation();\n-\n- // 组件代码...\n-\n- return (\n- \n- \n- \n- }\n- >\n- {t('graphViewer.searchNodesLinks')}\n- \n-\n- \n- \n- {isFullscreen ? : }\n- \n- \n- \n-\n- \n- \n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.showNodeLabels')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label={t('graphViewer.showLinkLabels')}\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label={t('graphViewer.showHighlight')}\n- />\n- \n-\n- \n- onIncludeDocumentsChange(!includeDocuments)}\n- disabled={!hasDocuments || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeDocuments')}\n- />\n- {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- } else if (includeTextUnits && !includeCovariates) {\n- onIncludeTextUnitsChange(false);\n- } else {\n- onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasTextUnits || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeTextUnits')}\n- />\n- onIncludeCommunitiesChange(!includeCommunities)}\n- disabled={!hasCommunities || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeCommunities')}\n- />\n-\n- {\n- if (!includeCovariates) {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- }\n- onIncludeCovariatesChange(true);\n- } else {\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasCovariates || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeCovariates')}\n- />\n- \n- \n-\n- {/* 其他代码... */}\n-\n- \n- \n- {t('graphViewer.nodes')}: {nodeCount}\n- \n- \n- {t('graphViewer.relationships')}: {linkCount}\n- \n- }\n- >\n- {t('graphViewer.askQuery')}\n- \n- }\n- color=\"warning\"\n- disabled={apiSearchResults === null}\n- >\n- {t('graphViewer.clearQueryResults')}\n- \n- \n- \n- );\n-};\n" + }, + { + "date": 1727241483258, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,8 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n+ const { t } = useTranslation();\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" + }, + { + "date": 1727241496741, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" + }, + { + "date": 1727241526546, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -534,18 +534,9 @@\n \n return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n- {/* \n- }\n- label={t('graphViewer.view3D')}\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n+\n \n \n {isFullscreen ? : }\n \n@@ -624,36 +580,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n@@ -664,29 +620,28 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label=\"Include Communities\"\n+ label={t('graphViewer.includeCommunities')}\n />\n \n \n }\n- label=\"Include Covariates\"\n+ label={t('graphViewer.includeCovariates')}\n />\n \n \n \n- \n+ {/* 其他代码... */}\n \n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n+ \n+ {t('graphViewer.nodes')}: {nodeCount}\n+ \n+ \n+ {t('graphViewer.relationships')}: {linkCount}\n+ \n }\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n };\n-\n-export default GraphViewer;\n" + }, + { + "date": 1727241540576, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -534,9 +534,18 @@\n \n return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n-\n+ {/* \n+ }\n+ label={t('graphViewer.view3D')}\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n \n \n {isFullscreen ? : }\n \n@@ -580,36 +624,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label={t('graphViewer.view3D')}\n+ label=\"3D View\"\n />\n setShowLabels(!showLabels)}\n />\n }\n- label={t('graphViewer.showNodeLabels')}\n+ label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label={t('graphViewer.showLinkLabels')}\n+ label=\"Show Link Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label={t('graphViewer.showHighlight')}\n+ label=\"Show Highlight\"\n />\n \n \n \n@@ -620,28 +664,29 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeDocuments')}\n+ label=\"Include Documents\"\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeTextUnits')}\n+ label=\"Include Text Units\"\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeCommunities')}\n+ label=\"Include Communities\"\n />\n \n \n }\n- label={t('graphViewer.includeCovariates')}\n+ label=\"Include Covariates\"\n />\n \n \n \n- {/* 其他代码... */}\n+ \n \n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n \n- \n- {t('graphViewer.nodes')}: {nodeCount}\n- \n- \n- {t('graphViewer.relationships')}: {linkCount}\n- \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n }\n >\n- {t('graphViewer.askQuery')}\n+ Ask Query (Local/Global Search)\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- {t('graphViewer.clearQueryResults')}\n+ Clear Query Results\n \n \n \n );\n };\n+\n+export default GraphViewer;\n" + }, + { + "date": 1727241564940, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('graphViewer');\n+ const { t } = useTranslation('');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" + }, + { + "date": 1727241570670, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('');\n+ const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n@@ -531,21 +531,12 @@\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n \n- return (\n+ return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n- {/* \n- }\n- label={t('graphViewer.view3D')}\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n+\n \n \n {isFullscreen ? : }\n \n@@ -624,36 +580,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n@@ -664,29 +620,28 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label=\"Include Communities\"\n+ label={t('graphViewer.includeCommunities')}\n />\n \n \n }\n- label=\"Include Covariates\"\n+ label={t('graphViewer.includeCovariates')}\n />\n \n \n \n- \n+ {/* 其他代码... */}\n \n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n+ \n+ {t('graphViewer.nodes')}: {nodeCount}\n+ \n+ \n+ {t('graphViewer.relationships')}: {linkCount}\n+ \n }\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n };\n-\n export default GraphViewer;\n" + }, + { + "date": 1727242778910, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -531,15 +531,27 @@\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n \n- return (\n- \n \n+ {/* Close Button at the top-right corner */}\n+ \n+ \n+ \n+\n+ \n \n );\n };\n+\n export default GraphViewer;\n" + }, + { + "date": 1727242786099, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -531,9 +531,9 @@\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n \n- return (\n+ return (\n \n+ \n \n- {/* Close Button at the top-right corner */}\n- \n- \n- \n-\n- void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const { t } = useTranslation('graphViewer');\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ {/* Close Button at the top-right corner */}\n+ \n+ \n+ \n+\n+ {/* First Row: TextField */}\n+ \n+ setQuery(e.target.value)}\n+ // onKeyDown={async (e) => {\n+ // if (e.key === \"Enter\" && !loadingLocal) {\n+ // await handleSearch(\"local\"); // Default to global search on enter\n+ // }\n+ // }}\n+ placeholder=\"Enter search query for API\"\n+ fullWidth\n+ margin=\"normal\"\n+ />\n+\n+ {/* Second Row: Buttons */}\n+ \n+ handleSearch(\"local\")}\n+ disabled={\n+ !serverUp ||\n+ !localSearchEnabled ||\n+ loadingLocal ||\n+ loadingGlobal\n+ }\n+ >\n+ {loadingLocal ? : \"Local Search\"}\n+ \n+ handleSearch(\"global\")}\n+ disabled={\n+ !serverUp ||\n+ !globalSearchEnabled ||\n+ loadingLocal ||\n+ loadingGlobal\n+ }\n+ >\n+ {loadingGlobal ? : \"Global Search\"}\n+ \n+ \n+\n+ {!serverUp && (\n+ \n+ Server is not running. Please start the server to use the API.\n+ Follow the instructions at{\" \"}\n+ \n+ graphrag-api\n+ \n+ .\n+ \n+ )}\n+ {!localSearchEnabled && (\n+ \n+ Please enable \"Include Text Unit\" and \"Include Communities\"\n+ {hasCovariates && ', and \"Include Covariates\"'} to use Local\n+ Search.\n+ \n+ )}\n+ {!globalSearchEnabled && (\n+ \n+ Please enable \"Include Communities\" to use Global Search.\n+ \n+ )}\n+ \n+\n+ {apiSearchResults && (\n+ <>\n+ {/* Search Results Card */}\n+ \n+ \n+ \n+ \n+ {apiSearchResults.response}\n+ \n+ \n+ \n+\n+ {/* Metadata Card */}\n+ \n+ \n+ \n+ \n+ Completion Time:{\" \"}\n+ {apiSearchResults.completion_time} ms\n+ \n+ \n+ LLM Calls: {apiSearchResults.llm_calls}\n+ \n+ \n+ Prompt Tokens:{\" \"}\n+ {apiSearchResults.prompt_tokens}\n+ \n+ \n+ \n+\n+ {/* Context Data Tables */}\n+ {apiSearchResults &&\n+ apiSearchResults.context_data &&\n+ Object.entries(apiSearchResults.context_data).map(\n+ ([key, data], index) => (\n+ \n+ toggleTable(key)}>\n+ {expandedTables[key] ? (\n+ \n+ ) : (\n+ \n+ )}\n+ \n+ }\n+ />\n+ \n+ \n+ {Array.isArray(data) && data.length > 0 ? (\n+ \n+ \n+ \n+ \n+ {Object.keys(data[0]).map(\n+ (columnName, idx) => (\n+ \n+ {columnName.charAt(0).toUpperCase() +\n+ columnName.slice(1)}\n+ \n+ )\n+ )}\n+ \n+ \n+ \n+ {data.map((row, rowIndex) => (\n+ \n+ {Object.values(row).map(\n+ (value, cellIndex) => (\n+ \n+ {typeof value === \"string\"\n+ ? value\n+ : JSON.stringify(value, null, 2)}\n+ \n+ )\n+ )}\n+ \n+ ))}\n+ \n+
\n+
\n+ ) : (\n+ \n+ No data available\n+ \n+ )}\n+
\n+ \n+
\n+ )\n+ )}\n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n" + }, + { + "date": 1727242915988, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,9 +34,8 @@\n import { SearchResult } from \"../models/search-result\";\n import agent from \"../api/agent\";\n import APISearchDrawer from \"./APISearchDrawer\";\n import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n \n type Coords = {\n x: number;\n y: number;\n@@ -83,9 +82,8 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n@@ -532,739 +530,23 @@\n setApiSearchResults(null);\n };\n \n return (\n- \n \n- {/* Close Button at the top-right corner */}\n- \n- \n- \n-\n- {/* First Row: TextField */}\n- \n- setQuery(e.target.value)}\n- // onKeyDown={async (e) => {\n- // if (e.key === \"Enter\" && !loadingLocal) {\n- // await handleSearch(\"local\"); // Default to global search on enter\n- // }\n- // }}\n- placeholder=\"Enter search query for API\"\n- fullWidth\n- margin=\"normal\"\n- />\n-\n- {/* Second Row: Buttons */}\n- \n- handleSearch(\"local\")}\n- disabled={\n- !serverUp ||\n- !localSearchEnabled ||\n- loadingLocal ||\n- loadingGlobal\n- }\n- >\n- {loadingLocal ? : \"Local Search\"}\n- \n- handleSearch(\"global\")}\n- disabled={\n- !serverUp ||\n- !globalSearchEnabled ||\n- loadingLocal ||\n- loadingGlobal\n- }\n- >\n- {loadingGlobal ? : \"Global Search\"}\n- \n- \n-\n- {!serverUp && (\n- \n- Server is not running. Please start the server to use the API.\n- Follow the instructions at{\" \"}\n- \n- graphrag-api\n- \n- .\n- \n- )}\n- {!localSearchEnabled && (\n- \n- Please enable \"Include Text Unit\" and \"Include Communities\"\n- {hasCovariates && ', and \"Include Covariates\"'} to use Local\n- Search.\n- \n- )}\n- {!globalSearchEnabled && (\n- \n- Please enable \"Include Communities\" to use Global Search.\n- \n- )}\n- \n-\n- {apiSearchResults && (\n- <>\n- {/* Search Results Card */}\n- \n- \n- \n- \n- {apiSearchResults.response}\n- \n- \n- \n-\n- {/* Metadata Card */}\n- \n- \n- \n- \n- Completion Time:{\" \"}\n- {apiSearchResults.completion_time} ms\n- \n- \n- LLM Calls: {apiSearchResults.llm_calls}\n- \n- \n- Prompt Tokens:{\" \"}\n- {apiSearchResults.prompt_tokens}\n- \n- \n- \n-\n- {/* Context Data Tables */}\n- {apiSearchResults &&\n- apiSearchResults.context_data &&\n- Object.entries(apiSearchResults.context_data).map(\n- ([key, data], index) => (\n- \n- toggleTable(key)}>\n- {expandedTables[key] ? (\n- \n- ) : (\n- \n- )}\n- \n- }\n- />\n- \n- \n- {Array.isArray(data) && data.length > 0 ? (\n- \n- \n- \n- \n- {Object.keys(data[0]).map(\n- (columnName, idx) => (\n- \n- {columnName.charAt(0).toUpperCase() +\n- columnName.slice(1)}\n- \n- )\n- )}\n- \n- \n- \n- {data.map((row, rowIndex) => (\n- \n- {Object.values(row).map(\n- (value, cellIndex) => (\n- \n- {typeof value === \"string\"\n- ? value\n- : JSON.stringify(value, null, 2)}\n- \n- )\n- )}\n- \n- ))}\n- \n-
\n-
\n- ) : (\n- \n- No data available\n- \n- )}\n-
\n- \n-
\n- )\n- )}\n- \n- )}\n- \n- \n- );\n-};\n-\n-export default GraphViewer;\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n-\n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n-\n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n-\n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const { t } = useTranslation('graphViewer');\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n- \n- }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ Search Nodes/Links\n \n-\n- \n+ {/* \n+ }\n+ label=\"3D View\"\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n \n {isFullscreen ? : }\n \n \n@@ -1305,36 +622,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label={t('graphViewer.view3D')}\n+ label=\"3D View\"\n />\n setShowLabels(!showLabels)}\n />\n }\n- label={t('graphViewer.showNodeLabels')}\n+ label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label={t('graphViewer.showLinkLabels')}\n+ label=\"Show Link Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label={t('graphViewer.showHighlight')}\n+ label=\"Show Highlight\"\n />\n \n \n \n@@ -1345,28 +662,29 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeDocuments')}\n+ label=\"Include Documents\"\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeTextUnits')}\n+ label=\"Include Text Units\"\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeCommunities')}\n+ label=\"Include Communities\"\n />\n \n \n }\n- label={t('graphViewer.includeCovariates')}\n+ label=\"Include Covariates\"\n />\n \n \n \n- {/* 其他代码... */}\n+ \n \n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n \n- \n- {t('graphViewer.nodes')}: {nodeCount}\n- \n- \n- {t('graphViewer.relationships')}: {linkCount}\n- \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n }\n >\n- {t('graphViewer.askQuery')}\n+ Ask Query (Local/Global Search)\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- {t('graphViewer.clearQueryResults')}\n+ Clear Query Results\n \n \n \n );\n };\n \n-export default GraphViewer;\n+export default GraphViewer;\n\\ No newline at end of file\n" + }, + { + "date": 1727242986268, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -714,8 +714,9 @@\n />\n }\n label=\"Include Covariates\"\n />\n+ \n \n \n \n }\n >\n- Search Nodes/Links\n+ {t('graphViewer.searchNodesLinks')}\n \n {/* \n }\n label=\"Include Covariates\"\n />\n- \n \n \n \n {\n+ const { t } = useTranslation();\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" + }, + { + "date": 1727243352524, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" + }, + { + "date": 1727243369855, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('');\n+ const { t } = useTranslation('gra');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" + }, + { + "date": 1727243379397, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('gra');\n+ const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" + }, + { + "date": 1727243423870, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -602,10 +602,10 @@\n />\n }\n label=\"Show Highlight\"\n /> */}\n- \n- \n+ \n+ \n {isFullscreen ? : }\n \n \n \n" + }, + { + "date": 1727243467606, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -603,9 +603,9 @@\n }\n label=\"Show Highlight\"\n /> */}\n \n- \n+ \n {isFullscreen ? : }\n \n \n \n@@ -624,9 +624,9 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n" + }, + { + "date": 1727243525279, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -664,9 +664,9 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n \n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const { t } = useTranslation('graphViewer');\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ \n+ }\n+ >\n+ {t('graphViewer.searchNodesLinks')}\n+ \n+ {/* \n+ }\n+ label=\"3D View\"\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n+ \n+ {isFullscreen ? : }\n+ \n+ \n+ \n+\n+ \n+ \n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showNodeLabels')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showLinkLabels')}\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label={t('graphViewer.showHighlight')}\n+ />\n+ \n+\n+ \n+ onIncludeDocumentsChange(!includeDocuments)}\n+ disabled={!hasDocuments || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeDocuments')}\n+ />\n+ onIncludeTextUnitsChange(!includeTextUnits)}\n+ onChange={() => {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ } else if (includeTextUnits && !includeCovariates) {\n+ onIncludeTextUnitsChange(false);\n+ } else {\n+ onIncludeTextUnitsChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ }\n+ }}\n+ disabled={!hasTextUnits || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeTextUnits')}\n+ />\n+ onIncludeCommunitiesChange(!includeCommunities)}\n+ disabled={!hasCommunities || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeCommunities')}\n+ />\n+\n+ {\n+ if (!includeCovariates) {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ }\n+ onIncludeCovariatesChange(true);\n+ } else {\n+ onIncludeCovariatesChange(false);\n+ }\n+ }}\n+ disabled={!hasCovariates || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Covariates\"\n+ />\n+ \n+ \n+\n+ \n+\n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n+ \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n+ }\n+ >\n+ Ask Query (Local/Global Search)\n+ \n+ }\n+ color=\"warning\"\n+ disabled={apiSearchResults === null}\n+ >\n+ Clear Query Results\n+ \n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n\\ No newline at end of file\n" + }, + { + "date": 1727243567203, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,907 @@\n+import React, { useState, useCallback, useRef, useEffect } from \"react\";\n+import ForceGraph2D from \"react-force-graph-2d\";\n+import ForceGraph3D from \"react-force-graph-3d\";\n+import {\n+ CustomGraphData,\n+ CustomLink,\n+ CustomNode,\n+} from \"../models/custom-graph-data\";\n+import {\n+ Box,\n+ Button,\n+ Checkbox,\n+ FormControlLabel,\n+ FormGroup,\n+ IconButton,\n+ Switch,\n+ Tooltip,\n+ Typography,\n+ useTheme,\n+} from \"@mui/material\";\n+import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n+import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n+import SearchIcon from \"@mui/icons-material/Search\";\n+import DeleteIcon from \"@mui/icons-material/Delete\";\n+import Fuse from \"fuse.js\";\n+import {\n+ CSS2DRenderer,\n+ CSS2DObject,\n+} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n+import * as THREE from \"three\";\n+import { Renderer } from \"three\";\n+import SearchDrawer from \"./SearchDrawer\";\n+import DetailDrawer from \"./DetailDrawer\";\n+import { SearchResult } from \"../models/search-result\";\n+import agent from \"../api/agent\";\n+import APISearchDrawer from \"./APISearchDrawer\";\n+import SpriteText from \"three-spritetext\";\n+import { useTranslation } from 'react-i18next';\n+\n+type Coords = {\n+ x: number;\n+ y: number;\n+ z: number;\n+};\n+\n+interface GraphViewerProps {\n+ data: CustomGraphData;\n+ graphType: \"2d\" | \"3d\";\n+ isFullscreen: boolean;\n+ onToggleFullscreen: () => void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const { t } = useTranslation('graphViewer');\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ \n+ }\n+ >\n+ {t('graphViewer.searchNodesLinks')}\n+ \n+ {/* \n+ }\n+ label=\"3D View\"\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n+ \n+ {isFullscreen ? : }\n+ \n+ \n+ \n+\n+ \n+ \n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showNodeLabels')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showLinkLabels')}\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label={t('graphViewer.showHighlight')}\n+ />\n+ \n+\n+ \n+ onIncludeDocumentsChange(!includeDocuments)}\n+ disabled={!hasDocuments || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeDocuments')}\n+ />\n+ onIncludeTextUnitsChange(!includeTextUnits)}\n+ onChange={() => {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ } else if (includeTextUnits && !includeCovariates) {\n+ onIncludeTextUnitsChange(false);\n+ } else {\n+ onIncludeTextUnitsChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ }\n+ }}\n+ disabled={!hasTextUnits || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeTextUnits')}\n+ />\n+ onIncludeCommunitiesChange(!includeCommunities)}\n+ disabled={!hasCommunities || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeCommunities')}\n+ />\n+\n+ {\n+ if (!includeCovariates) {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ }\n+ onIncludeCovariatesChange(true);\n+ } else {\n+ onIncludeCovariatesChange(false);\n+ }\n+ }}\n+ disabled={!hasCovariates || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeCovariates')}\n+ />\n+ \n+ \n+\n+ \n+\n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n+ \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n+ }\n+ >\n+ Ask Query (Local/Global Search)\n+ \n+ }\n+ color=\"warning\"\n+ disabled={apiSearchResults === null}\n+ >\n+ Clear Query Results\n+ \n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n\\ No newline at end of file\n" + }, + { + "date": 1727243604755, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -880,9 +880,9 @@\n alignItems: \"flex-start\",\n gap: 1,\n }}\n >\n- Nodes: {nodeCount}\n+ {t('graphViewer.nodes')}: {nodeCount}\n Relationships: {linkCount}\n \n );\n };\n \n-export default GraphViewer;\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n-\n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n-\n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n-\n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const { t } = useTranslation('graphViewer');\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n- return (\n- \n- \n- \n- }\n- >\n- {t('graphViewer.searchNodesLinks')}\n- \n- {/* \n- }\n- label=\"3D View\"\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label=\"Show Node Labels\"\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n- \n- \n- {isFullscreen ? : }\n- \n- \n- \n-\n- \n- \n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.showNodeLabels')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label={t('graphViewer.showLinkLabels')}\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label={t('graphViewer.showHighlight')}\n- />\n- \n-\n- \n- onIncludeDocumentsChange(!includeDocuments)}\n- disabled={!hasDocuments || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeDocuments')}\n- />\n- onIncludeTextUnitsChange(!includeTextUnits)}\n- onChange={() => {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- } else if (includeTextUnits && !includeCovariates) {\n- onIncludeTextUnitsChange(false);\n- } else {\n- onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n- }\n- }}\n- disabled={!hasTextUnits || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeTextUnits')}\n- />\n- onIncludeCommunitiesChange(!includeCommunities)}\n- disabled={!hasCommunities || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeCommunities')}\n- />\n-\n- {\n- if (!includeCovariates) {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- }\n- onIncludeCovariatesChange(true);\n- } else {\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasCovariates || apiSearchResults !== null}\n- />\n- }\n- label=\"Include Covariates\"\n- />\n- \n- \n-\n- \n-\n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n- \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n- }\n- >\n- Ask Query (Local/Global Search)\n- \n- }\n- color=\"warning\"\n- disabled={apiSearchResults === null}\n- >\n- Clear Query Results\n- \n- \n- \n- );\n-};\n-\n-export default GraphViewer;\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n-\n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n-\n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n-\n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const { t } = useTranslation('graphViewer');\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n- return (\n- \n- \n- \n- }\n- >\n- {t('graphViewer.searchNodesLinks')}\n- \n- {/* \n- }\n- label=\"3D View\"\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label=\"Show Node Labels\"\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n- \n- \n- {isFullscreen ? : }\n- \n- \n- \n-\n- \n- \n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.showNodeLabels')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label={t('graphViewer.showLinkLabels')}\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label={t('graphViewer.showHighlight')}\n- />\n- \n-\n- \n- onIncludeDocumentsChange(!includeDocuments)}\n- disabled={!hasDocuments || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeDocuments')}\n- />\n- onIncludeTextUnitsChange(!includeTextUnits)}\n- onChange={() => {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- } else if (includeTextUnits && !includeCovariates) {\n- onIncludeTextUnitsChange(false);\n- } else {\n- onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n- }\n- }}\n- disabled={!hasTextUnits || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeTextUnits')}\n- />\n- onIncludeCommunitiesChange(!includeCommunities)}\n- disabled={!hasCommunities || apiSearchResults !== null}\n- />\n- }\n- label=\"Include Communities\"\n- />\n-\n- {\n- if (!includeCovariates) {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- }\n- onIncludeCovariatesChange(true);\n- } else {\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasCovariates || apiSearchResults !== null}\n- />\n- }\n- label=\"Include Covariates\"\n- />\n- \n- \n-\n- \n-\n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n- \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n- }\n- >\n- Ask Query (Local/Global Search)\n- \n- }\n- color=\"warning\"\n- disabled={apiSearchResults === null}\n- >\n- Clear Query Results\n- \n- \n- \n- );\n-};\n-\n export default GraphViewer;\n\\ No newline at end of file\n" + }, + { + "date": 1727243615071, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -881,9 +881,9 @@\n gap: 1,\n }}\n >\n {t('graphViewer.nodes')}: {nodeCount}\n- Relationships: {linkCount}\n+ {t('graphViewer.relationships')}: {linkCount}\n }\n" + }, + { + "date": 1727243631156, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -887,9 +887,9 @@\n variant=\"contained\"\n onClick={toggleApiDrawer(true)}\n startIcon={}\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n" + } + ], + "date": 1727241223449, + "name": "Commit-0", + "content": "import React, { useState, useCallback, useRef, useEffect } from \"react\";\nimport ForceGraph2D from \"react-force-graph-2d\";\nimport ForceGraph3D from \"react-force-graph-3d\";\nimport {\n CustomGraphData,\n CustomLink,\n CustomNode,\n} from \"../models/custom-graph-data\";\nimport {\n Box,\n Button,\n Checkbox,\n FormControlLabel,\n FormGroup,\n IconButton,\n Switch,\n Tooltip,\n Typography,\n useTheme,\n} from \"@mui/material\";\nimport FullscreenIcon from \"@mui/icons-material/Fullscreen\";\nimport FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport Fuse from \"fuse.js\";\nimport {\n CSS2DRenderer,\n CSS2DObject,\n} from \"three/examples/jsm/renderers/CSS2DRenderer\";\nimport * as THREE from \"three\";\nimport { Renderer } from \"three\";\nimport SearchDrawer from \"./SearchDrawer\";\nimport DetailDrawer from \"./DetailDrawer\";\nimport { SearchResult } from \"../models/search-result\";\nimport agent from \"../api/agent\";\nimport APISearchDrawer from \"./APISearchDrawer\";\nimport SpriteText from \"three-spritetext\";\n\ntype Coords = {\n x: number;\n y: number;\n z: number;\n};\n\ninterface GraphViewerProps {\n data: CustomGraphData;\n graphType: \"2d\" | \"3d\";\n isFullscreen: boolean;\n onToggleFullscreen: () => void;\n onToggleGraphType: (event: React.ChangeEvent) => void;\n includeDocuments: boolean;\n onIncludeDocumentsChange: React.Dispatch>;\n includeTextUnits: boolean;\n onIncludeTextUnitsChange: React.Dispatch>;\n includeCommunities: boolean;\n onIncludeCommunitiesChange: React.Dispatch>;\n includeCovariates: boolean;\n onIncludeCovariatesChange: React.Dispatch>;\n hasDocuments: boolean;\n hasTextUnits: boolean;\n hasCommunities: boolean;\n hasCovariates: boolean;\n}\n\nconst NODE_R = 8;\n\nconst GraphViewer: React.FC = ({\n data,\n graphType,\n isFullscreen,\n includeDocuments,\n onIncludeDocumentsChange,\n includeTextUnits,\n onIncludeTextUnitsChange,\n includeCommunities,\n onIncludeCommunitiesChange,\n includeCovariates,\n onIncludeCovariatesChange,\n onToggleFullscreen,\n onToggleGraphType,\n hasDocuments,\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n}) => {\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n const [highlightLinks, setHighlightLinks] = useState>(\n new Set()\n );\n const [hoverNode, setHoverNode] = useState(null);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [searchResults, setSearchResults] = useState<\n (CustomNode | CustomLink)[]\n >([]);\n const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n const [selectedNode, setSelectedNode] = useState(null);\n const [selectedRelationship, setSelectedRelationship] =\n useState(null);\n const [linkedNodes, setLinkedNodes] = useState([]);\n const [linkedRelationships, setLinkedRelationships] = useState(\n []\n );\n const [showLabels, setShowLabels] = useState(false);\n const [showLinkLabels, setShowLinkLabels] = useState(false);\n const [showHighlight, setShowHighlight] = useState(true);\n const graphRef = useRef();\n const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n const nodeCount = data.nodes.length;\n const linkCount = data.links.length;\n\n const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n const [apiSearchResults, setApiSearchResults] = useState(\n null\n );\n const [serverUp, setServerUp] = useState(false);\n\n const [graphData, setGraphData] = useState(data);\n\n const initialGraphData = useRef(data);\n\n useEffect(() => {\n setGraphData(data);\n initialGraphData.current = data;\n }, [data]);\n\n useEffect(() => {\n checkServerStatus();\n }, []);\n\n const toggleApiDrawer = (open: boolean) => () => {\n setApiDrawerOpen(open);\n };\n\n const handleApiSearch = async (\n query: string,\n searchType: \"local\" | \"global\"\n ) => {\n try {\n const data: SearchResult =\n searchType === \"local\"\n ? await agent.Search.local(query)\n : await agent.Search.global(query);\n\n setApiSearchResults(data);\n // Process the search result to update the graph data\n updateGraphData(data.context_data);\n } catch (err) {\n console.error(\"An error occurred during the API search.\", err);\n } finally {\n }\n };\n\n const checkServerStatus = async () => {\n try {\n const response = await agent.Status.check();\n if (response.status === \"Server is up and running\") {\n setServerUp(true);\n } else {\n setServerUp(false);\n }\n } catch (error) {\n setServerUp(false);\n }\n };\n\n const updateGraphData = (contextData: any) => {\n if (!contextData) return;\n\n const newNodes: CustomNode[] = [];\n const newLinks: CustomLink[] = [];\n\n const baseGraphData = initialGraphData.current;\n\n // Assuming contextData has keys like entities, reports, relationships, sources\n Object.entries(contextData).forEach(([key, items]) => {\n if (Array.isArray(items)) {\n items.forEach((item) => {\n if (key === \"relationships\") {\n // Handle links\n const existingLink = baseGraphData.links.find(\n (link) =>\n link.human_readable_id?.toString() === item.id.toString()\n );\n\n if (existingLink) {\n newLinks.push(existingLink);\n }\n } else if (key === \"entities\") {\n const existingNode = baseGraphData.nodes.find(\n (node) =>\n node.human_readable_id?.toString() === item.id.toString() &&\n !node.covariate_type\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n } else if (key === \"reports\") {\n const existingNode = baseGraphData.nodes.find(\n (node) => node.uuid === item.id.toString()\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n } else if (key === \"sources\") {\n const existingNode = baseGraphData.nodes.find(\n (node) => node.text?.toString() === item.text\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n } else if (key === \"covariates\" || key === \"claims\") {\n const existingNode = baseGraphData.nodes.find(\n (node) =>\n node.human_readable_id?.toString() === item.id.toString() &&\n node.covariate_type\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n }\n });\n }\n });\n\n // Update the graph data with the new nodes and links\n const updatedGraphData: CustomGraphData = {\n nodes: [...newNodes],\n links: [...newLinks],\n };\n\n // Set the updated data to trigger re-render\n setGraphData(updatedGraphData);\n };\n\n const fuse = new Fuse([...data.nodes, ...data.links], {\n keys: [\n \"uuid\",\n \"id\",\n \"name\",\n \"type\",\n \"description\",\n \"source\",\n \"target\",\n \"title\",\n \"summary\",\n ],\n threshold: 0.3,\n });\n\n const handleNodeHover = useCallback((node: CustomNode | null) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n if (node) {\n newHighlightNodes.add(node);\n node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n node.links?.forEach((link) => newHighlightLinks.add(link));\n }\n\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n setHoverNode(node);\n }, []);\n\n const handleLinkHover = useCallback((link: CustomLink | null) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n if (link) {\n newHighlightLinks.add(link);\n if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n }\n\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n }, []);\n\n const paintRing = useCallback(\n (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n ctx.beginPath();\n ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n if (highlightNodes.has(node)) {\n ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n ctx.globalAlpha = 1; // full opacity\n } else {\n ctx.fillStyle = \"gray\";\n ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n }\n ctx.fill();\n ctx.globalAlpha = 1; // reset alpha for other drawings\n },\n [hoverNode, highlightNodes]\n );\n\n const handleSearch = () => {\n const results = fuse.search(searchTerm).map((result) => result.item);\n const nodeResults = results.filter((item) => \"neighbors\" in item);\n const linkResults = results.filter(\n (item) => \"source\" in item && \"target\" in item\n );\n setSearchResults([...nodeResults, ...linkResults]);\n setRightDrawerOpen(true);\n };\n\n const toggleDrawer = (open: boolean) => () => {\n setRightDrawerOpen(open);\n };\n\n const handleFocusButtonClick = (node: CustomNode) => {\n const newHighlightNodes = new Set();\n newHighlightNodes.add(node);\n node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n node.links?.forEach((link) => highlightLinks.add(link));\n\n setHighlightNodes(newHighlightNodes);\n setHoverNode(node);\n\n if (graphRef.current) {\n if (graphType === \"2d\") {\n graphRef.current.centerAt(node.x, node.y, 1000);\n graphRef.current.zoom(8, 1000);\n } else {\n graphRef.current.cameraPosition(\n { x: node.x, y: node.y, z: 300 }, // new position\n { x: node.x, y: node.y, z: 0 }, // lookAt\n 3000 // ms transition duration\n );\n }\n }\n\n // Simulate mouse hover on the focused node\n setTimeout(() => {\n handleNodeHover(node);\n }, 1000); // Adjust delay as needed\n\n setRightDrawerOpen(false);\n };\n\n const handleFocusLinkClick = (link: CustomLink) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n newHighlightLinks.add(link);\n let sourceNode: CustomNode | undefined;\n let targetNode: CustomNode | undefined;\n\n if (typeof link.source !== \"string\") {\n newHighlightNodes.add(link.source);\n sourceNode = link.source;\n }\n\n if (typeof link.target !== \"string\") {\n newHighlightNodes.add(link.target);\n targetNode = link.target;\n }\n\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n\n if (\n graphRef.current &&\n sourceNode &&\n targetNode &&\n sourceNode.x &&\n targetNode.x &&\n sourceNode.y &&\n targetNode.y\n ) {\n const midX = (sourceNode.x + targetNode.x) / 2;\n const midY = (sourceNode.y + targetNode.y) / 2;\n\n if (graphType === \"2d\") {\n graphRef.current.centerAt(midX, midY, 1000);\n graphRef.current.zoom(8, 1000);\n } else {\n graphRef.current.cameraPosition(\n { x: midX, y: midY, z: 300 }, // new position\n { x: midX, y: midY, z: 0 }, // lookAt\n 3000 // ms transition duration\n );\n }\n }\n\n // Simulate mouse hover on the focused link\n setTimeout(() => {\n handleLinkHover(link);\n }, 1000); // Adjust delay as needed\n\n setRightDrawerOpen(false);\n };\n\n const handleNodeClick = (node: CustomNode) => {\n setSelectedRelationship(null);\n setSelectedNode(node);\n setLinkedNodes(node.neighbors || []);\n setLinkedRelationships(node.links || []);\n setBottomDrawerOpen(true);\n };\n\n const handleLinkClick = (link: CustomLink) => {\n setSelectedNode(null);\n setSelectedRelationship(link);\n const linkSource =\n typeof link.source === \"object\"\n ? (link.source as CustomNode).id\n : link.source;\n const linkTarget =\n typeof link.target === \"object\"\n ? (link.target as CustomNode).id\n : link.target;\n const sourceNode = data.nodes.find((node) => node.id === linkSource);\n const targetNode = data.nodes.find((node) => node.id === linkTarget);\n if (sourceNode && targetNode) {\n const linkedNodes = [sourceNode, targetNode];\n setLinkedNodes(linkedNodes);\n const linkedRelationships = [link];\n setLinkedRelationships(linkedRelationships);\n setBottomDrawerOpen(true);\n }\n };\n\n const getBackgroundColor = () =>\n theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n\n const getLinkColor = (link: CustomLink) =>\n theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n\n const get3DLinkColor = (link: CustomLink) =>\n theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n\n const getlinkDirectionalParticleColor = (link: CustomLink) =>\n theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n\n const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n if (!showLabels) return; // Only render the label if showLabels is true\n\n const label = node.name || \"\";\n const fontSize = 4;\n const padding = 2;\n ctx.font = `${fontSize}px Sans-Serif`;\n\n // Set the styles based on the theme mode\n const backgroundColor =\n theme.palette.mode === \"dark\"\n ? \"rgba(0, 0, 0, 0.6)\"\n : \"rgba(255, 255, 255, 0.6)\";\n\n // Calculate label dimensions\n const textWidth = ctx.measureText(label).width;\n const boxWidth = textWidth + padding * 2;\n const boxHeight = fontSize + padding * 2;\n\n if (node.x && node.y) {\n // Draw the background rectangle with rounded corners\n ctx.fillStyle = backgroundColor;\n ctx.beginPath();\n ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n ctx.quadraticCurveTo(\n node.x + boxWidth / 2,\n node.y - boxHeight / 2,\n node.x + boxWidth / 2,\n node.y - boxHeight / 2 + 5\n );\n ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n ctx.quadraticCurveTo(\n node.x + boxWidth / 2,\n node.y + boxHeight / 2,\n node.x + boxWidth / 2 - 5,\n node.y + boxHeight / 2\n );\n ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n ctx.quadraticCurveTo(\n node.x - boxWidth / 2,\n node.y + boxHeight / 2,\n node.x - boxWidth / 2,\n node.y + boxHeight / 2 - 5\n );\n ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n ctx.quadraticCurveTo(\n node.x - boxWidth / 2,\n node.y - boxHeight / 2,\n node.x - boxWidth / 2 + 5,\n node.y - boxHeight / 2\n );\n ctx.closePath();\n ctx.fill();\n\n // Draw the text in the center of the node\n // ctx.fillStyle = textColor;\n ctx.fillStyle = node.color;\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n ctx.fillText(label, node.x, node.y);\n }\n };\n\n const nodeThreeObject = (node: CustomNode) => {\n if (!showLabels) {\n return new THREE.Object3D();\n }\n\n try {\n const nodeEl = document.createElement(\"div\");\n nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n nodeEl.style.color = node.color;\n nodeEl.style.padding = \"2px 4px\";\n nodeEl.style.borderRadius = \"4px\";\n nodeEl.style.fontSize = \"10px\";\n nodeEl.className = \"node-label\";\n\n return new CSS2DObject(nodeEl);\n } catch (error) {\n console.error(\"Error creating 3D object:\", error);\n return new THREE.Object3D(); // Fallback in case of error\n }\n };\n\n const localSearchEnabled = hasCovariates\n ? includeTextUnits && includeCommunities && includeCovariates\n : includeTextUnits && includeCommunities;\n\n const clearSearchResults = () => {\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n\n return (\n \n \n \n }\n >\n {t('graphViewer.searchNodesLinks')}\n\n \n {/* \n }\n label=\"3D View\"\n /> */}\n {/* setShowLabels(!showLabels)}\n />\n }\n label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n label=\"Show Relationship Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n label=\"Show Highlight\"\n /> */}\n \n \n {isFullscreen ? : }\n \n \n \n\n \n \n }\n label=\"3D View\"\n />\n setShowLabels(!showLabels)}\n />\n }\n label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n label=\"Show Link Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n label=\"Show Highlight\"\n />\n \n\n \n onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n label=\"Include Documents\"\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n label=\"Include Text Units\"\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n label=\"Include Communities\"\n />\n\n {\n if (!includeCovariates) {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n }\n onIncludeCovariatesChange(true);\n } else {\n onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasCovariates || apiSearchResults !== null}\n />\n }\n label=\"Include Covariates\"\n />\n \n \n\n \n\n \n\n \n\n {graphType === \"2d\" ? (\n \n showHighlight && highlightLinks.has(link) ? 5 : 1\n }\n linkDirectionalParticles={showHighlight ? 4 : 0}\n linkDirectionalParticleWidth={(link) =>\n showHighlight && highlightLinks.has(link) ? 4 : 0\n }\n linkDirectionalParticleColor={\n showHighlight ? getlinkDirectionalParticleColor : undefined\n }\n nodeCanvasObjectMode={(node) =>\n showHighlight && highlightNodes.has(node)\n ? \"before\"\n : showLabels\n ? \"after\"\n : undefined\n }\n nodeCanvasObject={(node, ctx) => {\n if (showHighlight && highlightNodes.has(node)) {\n paintRing(node as CustomNode, ctx);\n }\n if (showLabels) {\n renderNodeLabel(node as CustomNode, ctx);\n }\n }}\n linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n linkCanvasObject={(link, ctx) => {\n if (showLinkLabels) {\n const label = link.type || \"\";\n const fontSize = 4;\n ctx.font = `${fontSize}px Sans-Serif`;\n ctx.fillStyle =\n theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n const source =\n typeof link.source !== \"string\"\n ? (link.source as CustomNode)\n : null;\n const target =\n typeof link.target !== \"string\"\n ? (link.target as CustomNode)\n : null;\n\n if (\n source &&\n target &&\n source.x !== undefined &&\n target.x !== undefined &&\n source.y !== undefined &&\n target.y !== undefined\n ) {\n const textWidth = ctx.measureText(label).width;\n const posX = (source.x + target.x) / 2 - textWidth / 2;\n const posY = (source.y + target.y) / 2;\n ctx.fillText(label, posX, posY);\n }\n }\n }}\n onNodeHover={showHighlight ? handleNodeHover : undefined}\n onLinkHover={showHighlight ? handleLinkHover : undefined}\n onNodeClick={handleNodeClick}\n onLinkClick={handleLinkClick}\n backgroundColor={getBackgroundColor()}\n linkColor={getLinkColor}\n />\n ) : (\n \n showHighlight && highlightLinks.has(link) ? 5 : 1\n }\n linkDirectionalParticles={showHighlight ? 4 : 0}\n linkDirectionalParticleWidth={(link) =>\n showHighlight && highlightLinks.has(link) ? 4 : 0\n }\n nodeThreeObject={nodeThreeObject}\n nodeThreeObjectExtend={true}\n onNodeHover={showHighlight ? handleNodeHover : undefined}\n onLinkHover={showHighlight ? handleLinkHover : undefined}\n onNodeClick={handleNodeClick}\n onLinkClick={handleLinkClick}\n backgroundColor={getBackgroundColor()}\n linkColor={get3DLinkColor}\n linkThreeObjectExtend={true}\n linkThreeObject={(link) => {\n if (!showLinkLabels) new THREE.Object3D();\n const sprite = new SpriteText(`${link.type}`);\n sprite.color = \"lightgrey\";\n sprite.textHeight = 1.5;\n return sprite;\n }}\n linkPositionUpdate={(sprite, { start, end }) => {\n if (!showLinkLabels) return;\n\n const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n acc[c as keyof Coords] =\n start[c as keyof Coords] +\n (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n return acc;\n }, {} as Coords);\n\n // Position sprite\n Object.assign(sprite.position, middlePos);\n }}\n />\n )}\n \n Nodes: {nodeCount}\n Relationships: {linkCount}\n }\n >\n Ask Query (Local/Global Search)\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n Clear Query Results\n \n \n \n );\n};\n\nexport default GraphViewer;\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/components/Introduction.tsx.json b/.lh/src/app/components/Introduction.tsx.json new file mode 100644 index 0000000..b097249 --- /dev/null +++ b/.lh/src/app/components/Introduction.tsx.json @@ -0,0 +1,30 @@ +{ + "sourceFile": "src/app/components/Introduction.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 3, + "patches": [ + { + "date": 1727240848616, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727240871311, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,1 +1,235 @@\n-export default translation\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Link,\n+ Paper,\n+ Table,\n+ TableBody,\n+ TableCell,\n+ TableContainer,\n+ TableHead,\n+ TableRow,\n+ Chip,\n+} from \"@mui/material\";\n+import { useTranslation } from 'react-i18next';\n+\n+const Introduction: React.FC = () => {\n+ const { t } = useTranslation(); // 不使用命名空间\n+\n+ return (\n+ \n+ \n+ {t('introduction.welcome')}\n+ \n+\n+ \n+ {t('introduction.overview')}\n+ \n+ \n+ {t('introduction.overviewDescription')}{\" \"}\n+ \n+ GraphRAG\n+ {\" \"}\n+ {t('introduction.overviewDescription2')}\n+ \n+\n+ \n+\n+ \n+ {t('introduction.features')}\n+ \n+
    \n+
  • \n+ \n+ {t('introduction.feature1Title')} {t('introduction.feature1Description')}\n+ \n+
  • \n+
  • \n+ \n+ {t('introduction.feature2Title')} {t('introduction.feature2Description')}\n+ \n+
  • \n+
  • \n+ \n+ {t('introduction.feature3Title')} {t('introduction.feature3Description')}\n+ \n+
  • \n+
  • \n+ \n+ {t('introduction.feature4Title')} {t('introduction.feature4Description')}\n+ \n+
  • \n+
\n+\n+ \n+ {t('introduction.usingSearchFunctionality')}\n+ \n+ \n+ {t('introduction.searchDescription1')}{\" \"}\n+ \n+ graphrag-api\n+ {\" \"}\n+ {t('introduction.searchDescription2')}\n+ \n+\n+ \n+\n+ \n+ {t('introduction.graphDataModel')}\n+ \n+ \n+ {t('introduction.graphDataModelDescription')}{\" \"}\n+ \n+ {t('introduction.graphDataModelLinkText')}\n+ \n+ .\n+ \n+\n+ \n+ {t('introduction.nodes')}\n+ \n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.node')}\n+ \n+ \n+ {t('introduction.type')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.document')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.community')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.finding')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.covariate')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ {t('introduction.varies')}\n+ \n+ \n+ \n+
\n+
\n+\n+ \n+ {t('introduction.relationships')}\n+ \n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.sourceNode')}\n+ \n+ \n+ {t('introduction.relationship')}\n+ \n+ \n+ {t('introduction.targetNode')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ {t('introduction.document')}\n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ {t('introduction.covariate')}\n+ \n+ \n+ {t('introduction.community')}\n+ \n+ \n+ \n+ {t('introduction.finding')}\n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ \n+ {t('introduction.community')}\n+ \n+ \n+
\n+
\n+
\n+ );\n+};\n+\n+export default Introduction;\n" + }, + { + "date": 1727240890277, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n } from \"@mui/material\";\n import { useTranslation } from 'react-i18next';\n \n const Introduction: React.FC = () => {\n- const { t } = useTranslation(); // 不使用命名空间\n+ const { t } = useTranslation('introduction'); // 不使用命名空间\n \n return (\n \n \n" + }, + { + "date": 1727240948335, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,212 +19,212 @@\n \n return (\n \n \n- {t('introduction.welcome')}\n+ {t('welcome')}\n \n \n \n- {t('introduction.overview')}\n+ {t('overview')}\n \n \n- {t('introduction.overviewDescription')}{\" \"}\n+ {t('overviewDescription')}{\" \"}\n \n GraphRAG\n {\" \"}\n- {t('introduction.overviewDescription2')}\n+ {t('overviewDescription2')}\n \n \n \n \n \n- {t('introduction.features')}\n+ {t('features')}\n \n
    \n
  • \n \n- {t('introduction.feature1Title')} {t('introduction.feature1Description')}\n+ {t('feature1Title')} {t('feature1Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature2Title')} {t('introduction.feature2Description')}\n+ {t('feature2Title')} {t('feature2Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature3Title')} {t('introduction.feature3Description')}\n+ {t('feature3Title')} {t('feature3Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature4Title')} {t('introduction.feature4Description')}\n+ {t('feature4Title')} {t('feature4Description')}\n \n
  • \n
\n \n \n- {t('introduction.usingSearchFunctionality')}\n+ {t('usingSearchFunctionality')}\n \n \n- {t('introduction.searchDescription1')}{\" \"}\n+ {t('searchDescription1')}{\" \"}\n \n graphrag-api\n {\" \"}\n- {t('introduction.searchDescription2')}\n+ {t('searchDescription2')}\n \n \n \n \n \n- {t('introduction.graphDataModel')}\n+ {t('graphDataModel')}\n \n \n- {t('introduction.graphDataModelDescription')}{\" \"}\n+ {t('graphDataModelDescription')}{\" \"}\n \n- {t('introduction.graphDataModelLinkText')}\n+ {t('graphDataModelLinkText')}\n \n .\n \n \n \n- {t('introduction.nodes')}\n+ {t('nodes')}\n \n \n \n \n \n \n- {t('introduction.node')}\n+ {t('node')}\n \n \n- {t('introduction.type')}\n+ {t('type')}\n \n \n \n \n \n- {t('introduction.document')}\n+ {t('document')}\n \n \n \n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n \n \n \n- {t('introduction.finding')}\n+ {t('finding')}\n \n \n \n \n \n- {t('introduction.covariate')}\n+ {t('covariate')}\n \n \n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n- {t('introduction.varies')}\n+ {t('varies')}\n \n \n \n
\n
\n \n \n- {t('introduction.relationships')}\n+ {t('relationships')}\n \n \n \n \n \n \n- {t('introduction.sourceNode')}\n+ {t('sourceNode')}\n \n \n- {t('introduction.relationship')}\n+ {t('relationship')}\n \n \n- {t('introduction.targetNode')}\n+ {t('targetNode')}\n \n \n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.document')}\n+ {t('document')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.covariate')}\n+ {t('covariate')}\n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n \n- {t('introduction.finding')}\n+ {t('finding')}\n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n
\n
\n" + } + ], + "date": 1727240848616, + "name": "Commit-0", + "content": "export default translation\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/app/layout/App.tsx.json b/.lh/src/app/layout/App.tsx.json new file mode 100644 index 0000000..8bf91e3 --- /dev/null +++ b/.lh/src/app/layout/App.tsx.json @@ -0,0 +1,90 @@ +{ + "sourceFile": "src/app/layout/App.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 18, + "patches": [ + { + "date": 1727234119027, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727234125484, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n/i18next-config'\n+import i18n from '@/i18n'\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n" + }, + { + "date": 1727234134980, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n'\n+import i18n from '@/i18n/'\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n" + }, + { + "date": 1727234173304, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,122 @@\n+import React, { useEffect, useState } from \"react\";\n+import ReactGA from \"react-ga4\";\n+\n+import GraphDataHandler from \"../components/GraphDataHandler\";\n+import {\n+ CssBaseline,\n+ Container,\n+ Box,\n+ createTheme,\n+ darkScrollbar,\n+ ThemeProvider,\n+ IconButton,\n+ Tooltip,\n+ Link,\n+} from \"@mui/material\";\n+import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n+import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n+import GitHubIcon from \"@mui/icons-material/GitHub\";\n+import i18n from '@/i18n'\n+\n+const App: React.FC = () => {\n+ const [darkMode, setDarkMode] = useState(true);\n+ const paletteType = darkMode ? \"dark\" : \"light\";\n+\n+ const theme = createTheme({\n+ palette: {\n+ mode: paletteType,\n+ },\n+ components: {\n+ MuiCssBaseline: {\n+ styleOverrides: {\n+ body: paletteType === \"dark\" ? darkScrollbar() : null,\n+ },\n+ },\n+ MuiPopover: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ MuiModal: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ },\n+ });\n+\n+ function handleThemeChange() {\n+ setDarkMode(!darkMode);\n+ localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n+ }\n+\n+ useEffect(() => {\n+ const currentTheme = localStorage.getItem(\"theme\");\n+ setDarkMode(currentTheme === \"dark\");\n+ }, []);\n+\n+ useEffect(() => {\n+ const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n+ if (measurementId) {\n+ ReactGA.initialize(measurementId);\n+ ReactGA.send({\n+ hitType: \"pageview\",\n+ page: window.location.pathname + window.location.search,\n+ });\n+ } else {\n+ console.error(\"Google Analytics measurement ID not found\");\n+ }\n+ }, []);\n+\n+ return (\n+ \n+ \n+ \n+\n+ \n+ \n+ \n+
\n+ {darkMode ? (\n+ \n+ \n+ \n+ \n+ \n+ ) : (\n+ \n+ \n+ \n+ \n+ \n+ )}\n+ \n+ \n+ \n+ \n+ );\n+};\n+\n+export default App;\n" + }, + { + "date": 1727234284054, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,8 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n'\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n@@ -119,126 +118,4 @@\n );\n };\n \n export default App;\n-import React, { useEffect, useState } from \"react\";\n-import ReactGA from \"react-ga4\";\n-\n-import GraphDataHandler from \"../components/GraphDataHandler\";\n-import {\n- CssBaseline,\n- Container,\n- Box,\n- createTheme,\n- darkScrollbar,\n- ThemeProvider,\n- IconButton,\n- Tooltip,\n- Link,\n-} from \"@mui/material\";\n-import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n-import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n-import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n/'\n-\n-const App: React.FC = () => {\n- const [darkMode, setDarkMode] = useState(true);\n- const paletteType = darkMode ? \"dark\" : \"light\";\n-\n- const theme = createTheme({\n- palette: {\n- mode: paletteType,\n- },\n- components: {\n- MuiCssBaseline: {\n- styleOverrides: {\n- body: paletteType === \"dark\" ? darkScrollbar() : null,\n- },\n- },\n- MuiPopover: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- MuiModal: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- },\n- });\n-\n- function handleThemeChange() {\n- setDarkMode(!darkMode);\n- localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n- }\n-\n- useEffect(() => {\n- const currentTheme = localStorage.getItem(\"theme\");\n- setDarkMode(currentTheme === \"dark\");\n- }, []);\n-\n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- ReactGA.send({\n- hitType: \"pageview\",\n- page: window.location.pathname + window.location.search,\n- });\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n- return (\n- \n- \n- \n-\n- \n- \n- \n- \n- {darkMode ? (\n- \n- \n- \n- \n- \n- ) : (\n- \n- \n- \n- \n- \n- )}\n- \n- \n- \n- \n- );\n-};\n-\n-export default App;\n" + }, + { + "date": 1727234815948, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,8 +15,10 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n+import i18n from '@/i18n'\n+import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n" + }, + { + "date": 1727234827095, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,8 +19,9 @@\n import i18n from '@/i18n'\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n+ const { t } = useTranslation();\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n \n const theme = createTheme({\n" + }, + { + "date": 1727234856115, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -101,9 +101,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" + }, + { + "date": 1727234861644, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -101,9 +101,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" + }, + { + "date": 1727234877721, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n \n \n ) : (\n- \n+ \n \n \n \n \n" + }, + { + "date": 1727234983081, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -101,9 +101,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" + }, + { + "date": 1727234990587, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n \n \n ) : (\n- \n+ \n \n \n \n \n" + }, + { + "date": 1727236488032, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,5 @@\n import React, { useEffect, useState } from \"react\";\n-import ReactGA from \"react-ga4\";\n \n import GraphDataHandler from \"../components/GraphDataHandler\";\n import {\n CssBaseline,\n" + }, + { + "date": 1727236501905, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -59,21 +59,8 @@\n const currentTheme = localStorage.getItem(\"theme\");\n setDarkMode(currentTheme === \"dark\");\n }, []);\n \n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- ReactGA.send({\n- hitType: \"pageview\",\n- page: window.location.pathname + window.location.search,\n- });\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n return (\n \n \n \n" + }, + { + "date": 1727238733625, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n'\n+import '@/i18n'\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n const { t } = useTranslation();\n" + }, + { + "date": 1727238874343, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import '@/i18n'\n+import '@/'\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n const { t } = useTranslation();\n" + }, + { + "date": 1727239370308, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,109 @@\n+import React, { useEffect, useState } from \"react\";\n+\n+import GraphDataHandler from \"../components/GraphDataHandler\";\n+import {\n+ CssBaseline,\n+ Container,\n+ Box,\n+ createTheme,\n+ darkScrollbar,\n+ ThemeProvider,\n+ IconButton,\n+ Tooltip,\n+ Link,\n+} from \"@mui/material\";\n+import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n+import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n+import GitHubIcon from \"@mui/icons-material/GitHub\";\n+import { useTranslation } from 'react-i18next';\n+\n+const App: React.FC = () => {\n+ const { t } = useTranslation();\n+ const [darkMode, setDarkMode] = useState(true);\n+ const paletteType = darkMode ? \"dark\" : \"light\";\n+\n+ const theme = createTheme({\n+ palette: {\n+ mode: paletteType,\n+ },\n+ components: {\n+ MuiCssBaseline: {\n+ styleOverrides: {\n+ body: paletteType === \"dark\" ? darkScrollbar() : null,\n+ },\n+ },\n+ MuiPopover: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ MuiModal: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ },\n+ });\n+\n+ function handleThemeChange() {\n+ setDarkMode(!darkMode);\n+ localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n+ }\n+\n+ useEffect(() => {\n+ const currentTheme = localStorage.getItem(\"theme\");\n+ setDarkMode(currentTheme === \"dark\");\n+ }, []);\n+\n+ return (\n+ \n+ \n+ \n+\n+ \n+ \n+ \n+ \n+ {darkMode ? (\n+ \n+ \n+ \n+ \n+ \n+ ) : (\n+ \n+ \n+ \n+ \n+ \n+ )}\n+ \n+ \n+ \n+ \n+ );\n+};\n+\n+export default App;\n" + }, + { + "date": 1727239745819, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('layout');\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n \n const theme = createTheme({\n@@ -106,114 +106,4 @@\n );\n };\n \n export default App;\n-import React, { useEffect, useState } from \"react\";\n-\n-import GraphDataHandler from \"../components/GraphDataHandler\";\n-import {\n- CssBaseline,\n- Container,\n- Box,\n- createTheme,\n- darkScrollbar,\n- ThemeProvider,\n- IconButton,\n- Tooltip,\n- Link,\n-} from \"@mui/material\";\n-import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n-import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n-import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import '@/'\n-import { useTranslation } from 'react-i18next';\n-\n-const App: React.FC = () => {\n- const { t } = useTranslation();\n- const [darkMode, setDarkMode] = useState(true);\n- const paletteType = darkMode ? \"dark\" : \"light\";\n-\n- const theme = createTheme({\n- palette: {\n- mode: paletteType,\n- },\n- components: {\n- MuiCssBaseline: {\n- styleOverrides: {\n- body: paletteType === \"dark\" ? darkScrollbar() : null,\n- },\n- },\n- MuiPopover: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- MuiModal: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- },\n- });\n-\n- function handleThemeChange() {\n- setDarkMode(!darkMode);\n- localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n- }\n-\n- useEffect(() => {\n- const currentTheme = localStorage.getItem(\"theme\");\n- setDarkMode(currentTheme === \"dark\");\n- }, []);\n-\n- return (\n- \n- \n- \n-\n- \n- \n- \n- \n- {darkMode ? (\n- \n- \n- \n- \n- \n- ) : (\n- \n- \n- \n- \n- \n- )}\n- \n- \n- \n- \n- );\n-};\n-\n-export default App;\n" + }, + { + "date": 1727239760530, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -86,9 +86,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" + } + ], + "date": 1727234119027, + "name": "Commit-0", + "content": "import React, { useEffect, useState } from \"react\";\nimport ReactGA from \"react-ga4\";\n\nimport GraphDataHandler from \"../components/GraphDataHandler\";\nimport {\n CssBaseline,\n Container,\n Box,\n createTheme,\n darkScrollbar,\n ThemeProvider,\n IconButton,\n Tooltip,\n Link,\n} from \"@mui/material\";\nimport LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\nimport DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\nimport GitHubIcon from \"@mui/icons-material/GitHub\";\nimport i18n from '@/i18n/i18next-config'\n\nconst App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n\n const theme = createTheme({\n palette: {\n mode: paletteType,\n },\n components: {\n MuiCssBaseline: {\n styleOverrides: {\n body: paletteType === \"dark\" ? darkScrollbar() : null,\n },\n },\n MuiPopover: {\n styleOverrides: {\n root: {\n zIndex: 1600,\n },\n },\n },\n MuiModal: {\n styleOverrides: {\n root: {\n zIndex: 1600,\n },\n },\n },\n },\n });\n\n function handleThemeChange() {\n setDarkMode(!darkMode);\n localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n }\n\n useEffect(() => {\n const currentTheme = localStorage.getItem(\"theme\");\n setDarkMode(currentTheme === \"dark\");\n }, []);\n\n useEffect(() => {\n const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n if (measurementId) {\n ReactGA.initialize(measurementId);\n ReactGA.send({\n hitType: \"pageview\",\n page: window.location.pathname + window.location.search,\n });\n } else {\n console.error(\"Google Analytics measurement ID not found\");\n }\n }, []);\n\n return (\n \n \n \n\n \n \n \n \n {darkMode ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n \n \n \n );\n};\n\nexport default App;\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/common.ts.json b/.lh/src/i18n/en-US/common.ts.json new file mode 100644 index 0000000..025059f --- /dev/null +++ b/.lh/src/i18n/en-US/common.ts.json @@ -0,0 +1,18 @@ +{ + "sourceFile": "src/i18n/en-US/common.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 0, + "patches": [ + { + "date": 1727233832432, + "content": "Index: \n===================================================================\n--- \n+++ \n" + } + ], + "date": 1727233832432, + "name": "Commit-0", + "content": "const translation = {\n api: {\n success: 'Success',\n actionSuccess: 'Action succeeded',\n saved: 'Saved',\n create: 'Created',\n remove: 'Removed',\n },\n operation: {\n create: 'Create',\n confirm: 'Confirm',\n cancel: 'Cancel',\n clear: 'Clear',\n save: 'Save',\n saveAndEnable: 'Save & Enable',\n edit: 'Edit',\n add: 'Add',\n added: 'Added',\n refresh: 'Restart',\n reset: 'Reset',\n search: 'Search',\n change: 'Change',\n remove: 'Remove',\n send: 'Send',\n copy: 'Copy',\n lineBreak: 'Line break',\n sure: 'I\\'m sure',\n download: 'Download',\n delete: 'Delete',\n settings: 'Settings',\n setup: 'Setup',\n getForFree: 'Get for free',\n reload: 'Reload',\n ok: 'OK',\n log: 'Log',\n learnMore: 'Learn More',\n params: 'Params',\n duplicate: 'Duplicate',\n rename: 'Rename',\n },\n errorMsg: {\n fieldRequired: '{{field}} is required',\n urlError: 'url should start with http:// or https://',\n },\n placeholder: {\n input: 'Please enter',\n select: 'Please select',\n }}\n\nexport default translation\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/dataview.ts.json b/.lh/src/i18n/en-US/dataview.ts.json new file mode 100644 index 0000000..16d5984 --- /dev/null +++ b/.lh/src/i18n/en-US/dataview.ts.json @@ -0,0 +1,46 @@ +{ + "sourceFile": "src/i18n/en-US/dataview.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 7, + "patches": [ + { + "date": 1727249858356, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727249875310, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,5 @@\n-const dataViewer = {\n+const translation = {dataViewer = {\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n" + }, + { + "date": 1727249883926, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-const translation = {dataViewer = {\n+const translation = {\n+ dataViewer = {\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n@@ -15,6 +16,6 @@\n \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n };\n \n- export default dataViewer;\n+ export default translation;\n \n\\ No newline at end of file\n" + }, + { + "date": 1727249892396, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- dataViewer = {\n+ dataViewer:{\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n" + }, + { + "date": 1727249897599, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,8 +14,9 @@\n \"dataViewer.textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n \"dataViewer.communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n- };\n+ }\n+}\n \n export default translation;\n \n\\ No newline at end of file\n" + }, + { + "date": 1727249915568, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,21 +1,21 @@\n const translation = {\n dataViewer:{\n- \"dataViewer.entities\": \"Entities\",\n- \"dataViewer.relationships\": \"Relationships\",\n- \"dataViewer.documents\": \"Documents\",\n- \"dataViewer.textUnits\": \"TextUnits\",\n- \"dataViewer.communities\": \"Communities\",\n- \"dataViewer.communityReports\": \"Community Reports\",\n- \"dataViewer.covariates\": \"Covariates\",\n+ \"entities\": \"Entities\",\n+ \"relationships\": \"Relationships\",\n+ \"documents\": \"Documents\",\n+ \"textUnits\": \"TextUnits\",\n+ \"communities\": \"Communities\",\n+ \"communityReports\": \"Community Reports\",\n+ \"covariates\": \"Covariates\",\n \n- \"dataViewer.entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n- \"dataViewer.relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n- \"dataViewer.documentsTitle\": \"Documents (create_final_documents.parquet)\",\n- \"dataViewer.textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n- \"dataViewer.communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n- \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n- \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n+ \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n+ \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n+ \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n+ \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n+ \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n+ \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n+ \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n }\n }\n \n export default translation;\n" + }, + { + "date": 1727249920666, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -6,9 +6,8 @@\n \"textUnits\": \"TextUnits\",\n \"communities\": \"Communities\",\n \"communityReports\": \"Community Reports\",\n \"covariates\": \"Covariates\",\n- \n \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n" + }, + { + "date": 1727249927583, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,21 +1,21 @@\n const translation = {\n dataViewer:{\n- \"entities\": \"Entities\",\n- \"relationships\": \"Relationships\",\n- \"documents\": \"Documents\",\n- \"textUnits\": \"TextUnits\",\n- \"communities\": \"Communities\",\n- \"communityReports\": \"Community Reports\",\n- \"covariates\": \"Covariates\",\n- \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n- \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n- \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n- \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n- \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n- \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n- \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n- }\n+ \"entities\": \"Entities\",\n+ \"relationships\": \"Relationships\",\n+ \"documents\": \"Documents\",\n+ \"textUnits\": \"TextUnits\",\n+ \"communities\": \"Communities\",\n+ \"communityReports\": \"Community Reports\",\n+ \"covariates\": \"Covariates\",\n+ \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n+ \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n+ \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n+ \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n+ \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n+ \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n+ \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n+ }\n }\n \n export default translation;\n \n\\ No newline at end of file\n" + } + ], + "date": 1727249858356, + "name": "Commit-0", + "content": "const dataViewer = {\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n \"dataViewer.communities\": \"Communities\",\n \"dataViewer.communityReports\": \"Community Reports\",\n \"dataViewer.covariates\": \"Covariates\",\n \n \"dataViewer.entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n \"dataViewer.relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n \"dataViewer.documentsTitle\": \"Documents (create_final_documents.parquet)\",\n \"dataViewer.textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n \"dataViewer.communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n };\n \n export default dataViewer;\n " + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/dintal.ts.json b/.lh/src/i18n/en-US/dintal.ts.json new file mode 100644 index 0000000..85508b0 --- /dev/null +++ b/.lh/src/i18n/en-US/dintal.ts.json @@ -0,0 +1,22 @@ +{ + "sourceFile": "src/i18n/en-US/dintal.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 1, + "patches": [ + { + "date": 1727233800474, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727233807715, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,12 +1,7 @@\n const translation = {\n-\n- common: {\n- employee: 'Digtal Employee',\n- career: 'Digtal Career',\n- knowledgegraph: 'Knowledge Graph',\n- },\n- nodes: {\n- },\n+ employee: 'Digtal Employee',\n+ career: 'Digtal Career',\n+ knowledgegraph: 'Knowledge Graph',\n }\n \n export default translation\n" + } + ], + "date": 1727233800474, + "name": "Commit-0", + "content": "const translation = {\n\n common: {\n employee: 'Digtal Employee',\n career: 'Digtal Career',\n knowledgegraph: 'Knowledge Graph',\n },\n nodes: {\n },\n}\n\nexport default translation\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/graphViewer.ts.json b/.lh/src/i18n/en-US/graphViewer.ts.json new file mode 100644 index 0000000..c1af936 --- /dev/null +++ b/.lh/src/i18n/en-US/graphViewer.ts.json @@ -0,0 +1,70 @@ +{ + "sourceFile": "src/i18n/en-US/graphViewer.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 13, + "patches": [ + { + "date": 1727241119244, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727244064549, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,7 +15,24 @@\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n };\n+ const apiSearchDrawer = {\n+ \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n+ \"apiSearchDrawer.localSearch\": \"Local Search\",\n+ \"apiSearchDrawer.globalSearch\": \"Global Search\",\n+ \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n+ \"apiSearchDrawer.enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"apiSearchDrawer.enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"apiSearchDrawer.searchResults\": \"Search Results\",\n+ \"apiSearchDrawer.metadata\": \"Metadata\",\n+ \"apiSearchDrawer.completionTime\": \"Completion Time:\",\n+ \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n+ \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n+ \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n+ };\n \n+ export default apiSearchDrawer;\n+ \n export default graphViewer;\n \n\\ No newline at end of file\n" + }, + { + "date": 1727244082744, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-const graphViewer = {\n+const translation = {\n+ const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n" + }, + { + "date": 1727244089988, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- const graphViewer = {\n+ graphViewer : {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n" + }, + { + "date": 1727244096379, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- graphViewer : {\n+ graphViewer: {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n@@ -16,9 +16,9 @@\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n };\n- const apiSearchDrawer = {\n+ apiSearchDrawer = {\n \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n \"apiSearchDrawer.localSearch\": \"Local Search\",\n \"apiSearchDrawer.globalSearch\": \"Global Search\",\n \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n" + }, + { + "date": 1727244102497, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,10 +15,10 @@\n \"graphViewer.fullScreen\": \"Full Screen\",\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n- };\n- apiSearchDrawer = {\n+ },\n+ apiSearchDrawer: {\n \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n \"apiSearchDrawer.localSearch\": \"Local Search\",\n \"apiSearchDrawer.globalSearch\": \"Global Search\",\n \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n" + }, + { + "date": 1727244112195, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,8 +32,8 @@\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n };\n \n- export default apiSearchDrawer;\n+ export default translation;\n \n export default graphViewer;\n \n\\ No newline at end of file\n" + }, + { + "date": 1727244118107, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,8 +32,5 @@\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n };\n \n- export default translation;\n- \n- export default graphViewer;\n- \n\\ No newline at end of file\n+export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727244123407, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -30,7 +30,7 @@\n \"apiSearchDrawer.completionTime\": \"Completion Time:\",\n \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n- };\n+ },\n \n export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727244137776, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,21 +1,21 @@\n const translation = {\n graphViewer: {\n- \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n- \"graphViewer.view3D\": \"3D View\",\n- \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n- \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n- \"graphViewer.showHighlight\": \"Show Highlight\",\n- \"graphViewer.includeDocuments\": \"Include Documents\",\n- \"graphViewer.includeTextUnits\": \"Include Text Units\",\n- \"graphViewer.includeCommunities\": \"Include Communities\",\n- \"graphViewer.includeCovariates\": \"Include Covariates\",\n- \"graphViewer.askQuery\": \"Ask Query (Local/Global Search)\",\n- \"graphViewer.clearQueryResults\": \"Clear Query Results\",\n- \"graphViewer.exitFullScreen\": \"Exit Full Screen\",\n- \"graphViewer.fullScreen\": \"Full Screen\",\n- \"graphViewer.nodes\": \"Nodes\",\n- \"graphViewer.relationships\": \"Relationships\",\n+ \"searchNodesLinks\": \"Search Nodes/Links\",\n+ \"view3D\": \"3D View\",\n+ \"showNodeLabels\": \"Show Node Labels\",\n+ \"showLinkLabels\": \"Show Link Labels\",\n+ \"showHighlight\": \"Show Highlight\",\n+ \"includeDocuments\": \"Include Documents\",\n+ \"includeTextUnits\": \"Include Text Units\",\n+ \"includeCommunities\": \"Include Communities\",\n+ \"includeCovariates\": \"Include Covariates\",\n+ \"askQuery\": \"Ask Query (Local/Global Search)\",\n+ \"clearQueryResults\": \"Clear Query Results\",\n+ \"exitFullScreen\": \"Exit Full Screen\",\n+ \"fullScreen\": \"Full Screen\",\n+ \"nodes\": \"Nodes\",\n+ \"relationships\": \"Relationships\",\n // 添加其他需要的键值对\n },\n apiSearchDrawer: {\n \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n@@ -31,6 +31,7 @@\n \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n },\n+}\n \n export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727244145052, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,21 +17,21 @@\n \"relationships\": \"Relationships\",\n // 添加其他需要的键值对\n },\n apiSearchDrawer: {\n- \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n- \"apiSearchDrawer.localSearch\": \"Local Search\",\n- \"apiSearchDrawer.globalSearch\": \"Global Search\",\n- \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n- \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n- \"apiSearchDrawer.enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n- \"apiSearchDrawer.enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n- \"apiSearchDrawer.searchResults\": \"Search Results\",\n- \"apiSearchDrawer.metadata\": \"Metadata\",\n- \"apiSearchDrawer.completionTime\": \"Completion Time:\",\n- \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n- \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n- \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n+ \"placeholder\": \"Enter search query for API\",\n+ \"localSearch\": \"Local Search\",\n+ \"globalSearch\": \"Global Search\",\n+ \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"searchResults\": \"Search Results\",\n+ \"metadata\": \"Metadata\",\n+ \"completionTime\": \"Completion Time:\",\n+ \"llmCalls\": \"LLM Calls:\",\n+ \"promptTokens\": \"Prompt Tokens:\",\n+ \"noDataAvailable\": \"No data available\",\n },\n }\n \n export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727250820289, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,62 @@\n+const translation = {\n+ graphViewer: {\n+ \"searchNodesLinks\": \"Search Nodes/Links\",\n+ \"view3D\": \"3D View\",\n+ \"showNodeLabels\": \"Show Node Labels\",\n+ \"showLinkLabels\": \"Show Link Labels\",\n+ \"showHighlight\": \"Show Highlight\",\n+ \"includeDocuments\": \"Include Documents\",\n+ \"includeTextUnits\": \"Include Text Units\",\n+ \"includeCommunities\": \"Include Communities\",\n+ \"includeCovariates\": \"Include Covariates\",\n+ \"askQuery\": \"Ask Query (Local/Global Search)\",\n+ \"clearQueryResults\": \"Clear Query Results\",\n+ \"exitFullScreen\": \"Exit Full Screen\",\n+ \"fullScreen\": \"Full Screen\",\n+ \"nodes\": \"Nodes\",\n+ \"relationships\": \"Relationships\",\n+ // 添加其他需要的键值对\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"Enter search query for API\",\n+ \"localSearch\": \"Local Search\",\n+ \"globalSearch\": \"Global Search\",\n+ \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"searchResults\": \"Search Results\",\n+ \"metadata\": \"Metadata\",\n+ \"completionTime\": \"Completion Time:\",\n+ \"llmCalls\": \"LLM Calls:\",\n+ \"promptTokens\": \"Prompt Tokens:\",\n+ \"noDataAvailable\": \"No data available\",\n+ },\n+ detailDrawer = {\n+ \"detailDrawer.nodeDetails\": \"Node Details: {{name}}\",\n+ \"detailDrawer.relationshipDetails\":\n+ \"(:{{sourceType}} {name: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {name: '{{targetName}}'})\",\n+ \"detailDrawer.nodeInformation\": \"Node Information\",\n+ \"detailDrawer.relationshipInformation\": \"Relationship Information\",\n+ \"detailDrawer.id\": \"ID\",\n+ \"detailDrawer.name\": \"Name\",\n+ \"detailDrawer.covariateType\": \"Covariate Type\",\n+ \"detailDrawer.type\": \"Type\",\n+ \"detailDrawer.title\": \"Title\",\n+ \"detailDrawer.summary\": \"Summary\",\n+ \"detailDrawer.numberOfTokens\": \"Number of Tokens\",\n+ \"detailDrawer.description\": \"Description\",\n+ \"detailDrawer.humanReadableId\": \"Human Readable ID\",\n+ \"detailDrawer.rawContent\": \"Raw Content\",\n+ \"detailDrawer.source\": \"Source\",\n+ \"detailDrawer.target\": \"Target\",\n+ \"detailDrawer.weight\": \"Weight\",\n+ \"detailDrawer.sourceDegree\": \"Source Degree\",\n+ \"detailDrawer.targetDegree\": \"Target Degree\",\n+ \"detailDrawer.rank\": \"Rank\",\n+ \"detailDrawer.linkedNodes\": \"Linked Nodes\",\n+ \"detailDrawer.linkedRelationships\": \"Linked Relationships\",\n+ }\n+}\n+ \n+export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727250826044, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -31,9 +31,9 @@\n \"llmCalls\": \"LLM Calls:\",\n \"promptTokens\": \"Prompt Tokens:\",\n \"noDataAvailable\": \"No data available\",\n },\n- detailDrawer = {\n+ detailDrawer: {\n \"detailDrawer.nodeDetails\": \"Node Details: {{name}}\",\n \"detailDrawer.relationshipDetails\":\n \"(:{{sourceType}} {name: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {name: '{{targetName}}'})\",\n \"detailDrawer.nodeInformation\": \"Node Information\",\n@@ -58,42 +58,5 @@\n \"detailDrawer.linkedRelationships\": \"Linked Relationships\",\n }\n }\n \n-export default translation;\n-const translation = {\n- graphViewer: {\n- \"searchNodesLinks\": \"Search Nodes/Links\",\n- \"view3D\": \"3D View\",\n- \"showNodeLabels\": \"Show Node Labels\",\n- \"showLinkLabels\": \"Show Link Labels\",\n- \"showHighlight\": \"Show Highlight\",\n- \"includeDocuments\": \"Include Documents\",\n- \"includeTextUnits\": \"Include Text Units\",\n- \"includeCommunities\": \"Include Communities\",\n- \"includeCovariates\": \"Include Covariates\",\n- \"askQuery\": \"Ask Query (Local/Global Search)\",\n- \"clearQueryResults\": \"Clear Query Results\",\n- \"exitFullScreen\": \"Exit Full Screen\",\n- \"fullScreen\": \"Full Screen\",\n- \"nodes\": \"Nodes\",\n- \"relationships\": \"Relationships\",\n- // 添加其他需要的键值对\n- },\n- apiSearchDrawer: {\n- \"placeholder\": \"Enter search query for API\",\n- \"localSearch\": \"Local Search\",\n- \"globalSearch\": \"Global Search\",\n- \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n- \"graphragApi\": \"graphrag-api\",\n- \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n- \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n- \"searchResults\": \"Search Results\",\n- \"metadata\": \"Metadata\",\n- \"completionTime\": \"Completion Time:\",\n- \"llmCalls\": \"LLM Calls:\",\n- \"promptTokens\": \"Prompt Tokens:\",\n- \"noDataAvailable\": \"No data available\",\n- },\n-}\n- \n export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727250835245, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,31 +32,31 @@\n \"promptTokens\": \"Prompt Tokens:\",\n \"noDataAvailable\": \"No data available\",\n },\n detailDrawer: {\n- \"detailDrawer.nodeDetails\": \"Node Details: {{name}}\",\n- \"detailDrawer.relationshipDetails\":\n+ \"nodeDetails\": \"Node Details: {{name}}\",\n+ \"relationshipDetails\":\n \"(:{{sourceType}} {name: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {name: '{{targetName}}'})\",\n- \"detailDrawer.nodeInformation\": \"Node Information\",\n- \"detailDrawer.relationshipInformation\": \"Relationship Information\",\n- \"detailDrawer.id\": \"ID\",\n- \"detailDrawer.name\": \"Name\",\n- \"detailDrawer.covariateType\": \"Covariate Type\",\n- \"detailDrawer.type\": \"Type\",\n- \"detailDrawer.title\": \"Title\",\n- \"detailDrawer.summary\": \"Summary\",\n- \"detailDrawer.numberOfTokens\": \"Number of Tokens\",\n- \"detailDrawer.description\": \"Description\",\n- \"detailDrawer.humanReadableId\": \"Human Readable ID\",\n- \"detailDrawer.rawContent\": \"Raw Content\",\n- \"detailDrawer.source\": \"Source\",\n- \"detailDrawer.target\": \"Target\",\n- \"detailDrawer.weight\": \"Weight\",\n- \"detailDrawer.sourceDegree\": \"Source Degree\",\n- \"detailDrawer.targetDegree\": \"Target Degree\",\n- \"detailDrawer.rank\": \"Rank\",\n- \"detailDrawer.linkedNodes\": \"Linked Nodes\",\n- \"detailDrawer.linkedRelationships\": \"Linked Relationships\",\n+ \"nodeInformation\": \"Node Information\",\n+ \"relationshipInformation\": \"Relationship Information\",\n+ \"id\": \"ID\",\n+ \"name\": \"Name\",\n+ \"covariateType\": \"Covariate Type\",\n+ \"type\": \"Type\",\n+ \"title\": \"Title\",\n+ \"summary\": \"Summary\",\n+ \"numberOfTokens\": \"Number of Tokens\",\n+ \"description\": \"Description\",\n+ \"humanReadableId\": \"Human Readable ID\",\n+ \"rawContent\": \"Raw Content\",\n+ \"source\": \"Source\",\n+ \"target\": \"Target\",\n+ \"weight\": \"Weight\",\n+ \"sourceDegree\": \"Source Degree\",\n+ \"targetDegree\": \"Target Degree\",\n+ \"rank\": \"Rank\",\n+ \"linkedNodes\": \"Linked Nodes\",\n+ \"linkedRelationships\": \"Linked Relationships\",\n }\n }\n \n export default translation;\n\\ No newline at end of file\n" + } + ], + "date": 1727241119244, + "name": "Commit-0", + "content": "const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n \"graphViewer.showHighlight\": \"Show Highlight\",\n \"graphViewer.includeDocuments\": \"Include Documents\",\n \"graphViewer.includeTextUnits\": \"Include Text Units\",\n \"graphViewer.includeCommunities\": \"Include Communities\",\n \"graphViewer.includeCovariates\": \"Include Covariates\",\n \"graphViewer.askQuery\": \"Ask Query (Local/Global Search)\",\n \"graphViewer.clearQueryResults\": \"Clear Query Results\",\n \"graphViewer.exitFullScreen\": \"Exit Full Screen\",\n \"graphViewer.fullScreen\": \"Full Screen\",\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n };\n \n export default graphViewer;\n " + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/introduction.ts.json b/.lh/src/i18n/en-US/introduction.ts.json new file mode 100644 index 0000000..72f2df2 --- /dev/null +++ b/.lh/src/i18n/en-US/introduction.ts.json @@ -0,0 +1,34 @@ +{ + "sourceFile": "src/i18n/en-US/introduction.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 4, + "patches": [ + { + "date": 1727240666686, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727240695827, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-{\n+const translation = {\n+ {\n \"introduction.welcome\": \"Welcome to the GraphRAG Visualizer\",\n \"introduction.overview\": \"Overview\",\n \"introduction.overviewDescription\": \"This application visualizes Microsoft\",\n \"introduction.overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n" + }, + { + "date": 1727240734604, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,38 @@\n+const translation = {\n+ \"welcome\": \"Welcome to the GraphRAG Visualizer\",\n+ \"overview\": \"Overview\",\n+ \"overviewDescription\": \"This application visualizes Microsoft\",\n+ \"overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n+ \"demoImageAlt\": \"Demo\",\n+ \"features\": \"Features\",\n+ \"feature1Title\": \"Graph Visualization:\",\n+ \"feature1Description\": \"View the graph in 2D or 3D in the \\\"Graph Visualization\\\" tab.\",\n+ \"feature2Title\": \"Data Tables:\",\n+ \"feature2Description\": \"Display data from the parquet files in the \\\"Data Tables\\\" tab.\",\n+ \"feature3Title\": \"Search Functionality:\",\n+ \"feature3Description\": \"Fully supports search, allowing users to focus on specific nodes or relationships.\",\n+ \"feature4Title\": \"Local Processing:\",\n+ \"feature4Description\": \"Your artifacts are processed locally on your machine. They are not uploaded anywhere, ensuring your data remains secure and private.\",\n+ \"usingSearchFunctionality\": \"Using the Search Functionality\",\n+ \"searchDescription1\": \"Once the\",\n+ \"searchDescription2\": \"server is up and running, you can perform searches directly through the GraphRAG Visualizer. This allows you to easily search and explore data that is hosted on your local server.\",\n+ \"searchImageAlt\": \"Search\",\n+ \"graphDataModel\": \"Graph Data Model\",\n+ \"graphDataModelDescription\": \"The logic for creating relationships for text units, documents, communities, and covariates is derived from the\",\n+ \"graphDataModelLinkText\": \"GraphRAG import Neo4j Cypher notebook\",\n+ \"nodes\": \"Nodes\",\n+ \"node\": \"Node\",\n+ \"type\": \"Type\",\n+ \"document\": \"Document\",\n+ \"textUnit\": \"Text Unit\",\n+ \"community\": \"Community\",\n+ \"finding\": \"Finding\",\n+ \"covariate\": \"Covariate\",\n+ \"entity\": \"Entity\",\n+ \"varies\": \"Varies\",\n+ \"relationships\": \"Relationships\",\n+ \"sourceNode\": \"Source Node\",\n+ \"relationship\": \"Relationship\",\n+ \"targetNode\": \"Target Node\"\n+ }\n+ \n\\ No newline at end of file\n" + }, + { + "date": 1727240801343, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,44 +34,6 @@\n \"sourceNode\": \"Source Node\",\n \"relationship\": \"Relationship\",\n \"targetNode\": \"Target Node\"\n }\n- \n-const translation = {\n- {\n- \"introduction.welcome\": \"Welcome to the GraphRAG Visualizer\",\n- \"introduction.overview\": \"Overview\",\n- \"introduction.overviewDescription\": \"This application visualizes Microsoft\",\n- \"introduction.overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n- \"introduction.demoImageAlt\": \"Demo\",\n- \"introduction.features\": \"Features\",\n- \"introduction.feature1Title\": \"Graph Visualization:\",\n- \"introduction.feature1Description\": \"View the graph in 2D or 3D in the \\\"Graph Visualization\\\" tab.\",\n- \"introduction.feature2Title\": \"Data Tables:\",\n- \"introduction.feature2Description\": \"Display data from the parquet files in the \\\"Data Tables\\\" tab.\",\n- \"introduction.feature3Title\": \"Search Functionality:\",\n- \"introduction.feature3Description\": \"Fully supports search, allowing users to focus on specific nodes or relationships.\",\n- \"introduction.feature4Title\": \"Local Processing:\",\n- \"introduction.feature4Description\": \"Your artifacts are processed locally on your machine. They are not uploaded anywhere, ensuring your data remains secure and private.\",\n- \"introduction.usingSearchFunctionality\": \"Using the Search Functionality\",\n- \"introduction.searchDescription1\": \"Once the\",\n- \"introduction.searchDescription2\": \"server is up and running, you can perform searches directly through the GraphRAG Visualizer. This allows you to easily search and explore data that is hosted on your local server.\",\n- \"introduction.searchImageAlt\": \"Search\",\n- \"introduction.graphDataModel\": \"Graph Data Model\",\n- \"introduction.graphDataModelDescription\": \"The logic for creating relationships for text units, documents, communities, and covariates is derived from the\",\n- \"introduction.graphDataModelLinkText\": \"GraphRAG import Neo4j Cypher notebook\",\n- \"introduction.nodes\": \"Nodes\",\n- \"introduction.node\": \"Node\",\n- \"introduction.type\": \"Type\",\n- \"introduction.document\": \"Document\",\n- \"introduction.textUnit\": \"Text Unit\",\n- \"introduction.community\": \"Community\",\n- \"introduction.finding\": \"Finding\",\n- \"introduction.covariate\": \"Covariate\",\n- \"introduction.entity\": \"Entity\",\n- \"introduction.varies\": \"Varies\",\n- \"introduction.relationships\": \"Relationships\",\n- \"introduction.sourceNode\": \"Source Node\",\n- \"introduction.relationship\": \"Relationship\",\n- \"introduction.targetNode\": \"Target Node\"\n- }\n- \n\\ No newline at end of file\n+\n+export default translation\n" + }, + { + "date": 1727240806892, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -33,7 +33,7 @@\n \"relationships\": \"Relationships\",\n \"sourceNode\": \"Source Node\",\n \"relationship\": \"Relationship\",\n \"targetNode\": \"Target Node\"\n- }\n+}\n \n export default translation\n" + } + ], + "date": 1727240666686, + "name": "Commit-0", + "content": "{\n \"introduction.welcome\": \"Welcome to the GraphRAG Visualizer\",\n \"introduction.overview\": \"Overview\",\n \"introduction.overviewDescription\": \"This application visualizes Microsoft\",\n \"introduction.overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n \"introduction.demoImageAlt\": \"Demo\",\n \"introduction.features\": \"Features\",\n \"introduction.feature1Title\": \"Graph Visualization:\",\n \"introduction.feature1Description\": \"View the graph in 2D or 3D in the \\\"Graph Visualization\\\" tab.\",\n \"introduction.feature2Title\": \"Data Tables:\",\n \"introduction.feature2Description\": \"Display data from the parquet files in the \\\"Data Tables\\\" tab.\",\n \"introduction.feature3Title\": \"Search Functionality:\",\n \"introduction.feature3Description\": \"Fully supports search, allowing users to focus on specific nodes or relationships.\",\n \"introduction.feature4Title\": \"Local Processing:\",\n \"introduction.feature4Description\": \"Your artifacts are processed locally on your machine. They are not uploaded anywhere, ensuring your data remains secure and private.\",\n \"introduction.usingSearchFunctionality\": \"Using the Search Functionality\",\n \"introduction.searchDescription1\": \"Once the\",\n \"introduction.searchDescription2\": \"server is up and running, you can perform searches directly through the GraphRAG Visualizer. This allows you to easily search and explore data that is hosted on your local server.\",\n \"introduction.searchImageAlt\": \"Search\",\n \"introduction.graphDataModel\": \"Graph Data Model\",\n \"introduction.graphDataModelDescription\": \"The logic for creating relationships for text units, documents, communities, and covariates is derived from the\",\n \"introduction.graphDataModelLinkText\": \"GraphRAG import Neo4j Cypher notebook\",\n \"introduction.nodes\": \"Nodes\",\n \"introduction.node\": \"Node\",\n \"introduction.type\": \"Type\",\n \"introduction.document\": \"Document\",\n \"introduction.textUnit\": \"Text Unit\",\n \"introduction.community\": \"Community\",\n \"introduction.finding\": \"Finding\",\n \"introduction.covariate\": \"Covariate\",\n \"introduction.entity\": \"Entity\",\n \"introduction.varies\": \"Varies\",\n \"introduction.relationships\": \"Relationships\",\n \"introduction.sourceNode\": \"Source Node\",\n \"introduction.relationship\": \"Relationship\",\n \"introduction.targetNode\": \"Target Node\"\n }\n " + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/layout.ts.json b/.lh/src/i18n/en-US/layout.ts.json new file mode 100644 index 0000000..a3c58ce --- /dev/null +++ b/.lh/src/i18n/en-US/layout.ts.json @@ -0,0 +1,30 @@ +{ + "sourceFile": "src/i18n/en-US/layout.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 3, + "patches": [ + { + "date": 1727233782374, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727234958714, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,10 @@\n const translation = {\n tabs: {\n },\n+ tooltip: {\n+ \"turnOnLight\": \"Turn on the light\",\n+ \"turnOffLight\": \"Turn off the light\"\n+ }\n }\n \n export default translation\n" + }, + { + "date": 1727235239376, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,10 @@\n const translation = {\n tabs: {\n- },\n+ \"uploadArtifacts\": \"Upload Artifacts\",\n+ \"graphVisualization\": \"Graph Visualization\",\n+ \"dataTables\": \"Data Tables\"\n+ },\n tooltip: {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n" + }, + { + "date": 1727240107505, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,18 @@\n+const translation = {\n+ tabs: {\n+ \"uploadArtifacts\": \"Upload Artifacts\",\n+ \"graphVisualization\": \"Graph Visualization\",\n+ \"dataTables\": \"Data Tables\"\n+ },\n+ tooltip: {\n+ \"turnOnLight\": \"Turn on the light\",\n+ \"turnOffLight\": \"Turn off the light\"\n+ }\n+ \"dropZone\": {\n+ \"dropFilesHere\": \"Drop the files here...\",\n+ \"dragAndDrop\": \"Drag 'n' drop parquet files here, or click to select files\"\n+ }\n+ \n+ }\n+\n+export default translation\n" + } + ], + "date": 1727233782374, + "name": "Commit-0", + "content": "const translation = {\n tabs: {\n },\n }\n\nexport default translation\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/i18next-config.ts.json b/.lh/src/i18n/i18next-config.ts.json new file mode 100644 index 0000000..0cae88a --- /dev/null +++ b/.lh/src/i18n/i18next-config.ts.json @@ -0,0 +1,98 @@ +{ + "sourceFile": "src/i18n/i18next-config.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 20, + "patches": [ + { + "date": 1727232407469, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727232496858, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -37,15 +37,8 @@\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n-// Automatically generate the resources object\n-const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n- // 获取项目名称\n- const project = getProject()\n- acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n- return acc\n-}, {})\n \n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n" + }, + { + "date": 1727232515032, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -13,10 +13,8 @@\n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n- login: require(`./${lang}/login`).default,\n- register: require(`./${lang}/register`).default,\n app: require(`./${lang}/${project}app`).default,\n appOverview: require(`./${lang}/app-overview`).default,\n appDebug: require(`./${lang}/app-debug`).default,\n appApi: require(`./${lang}/app-api`).default,\n@@ -37,8 +35,15 @@\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n+// Automatically generate the resources object\n+const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n+ // 获取项目名称\n+ const project = getProject()\n+ acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n+ return acc\n+}, {})\n \n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n" + }, + { + "date": 1727232520868, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,25 +14,8 @@\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n app: require(`./${lang}/${project}app`).default,\n- appOverview: require(`./${lang}/app-overview`).default,\n- appDebug: require(`./${lang}/app-debug`).default,\n- appApi: require(`./${lang}/app-api`).default,\n- appLog: require(`./${lang}/app-log`).default,\n- appAnnotation: require(`./${lang}/app-annotation`).default,\n- share: require(`./${lang}/share-app`).default,\n- dataset: require(`./${lang}/dataset`).default,\n- datasetDocuments: require(`./${lang}/dataset-documents`).default,\n- datasetHitTesting: require(`./${lang}/dataset-hit-testing`).default,\n- datasetSettings: require(`./${lang}/dataset-settings`).default,\n- datasetCreation: require(`./${lang}/dataset-creation`).default,\n- explore: require(`./${lang}/explore`).default,\n- billing: require(`./${lang}/billing`).default,\n- custom: require(`./${lang}/custom`).default,\n- tools: require(`./${lang}/tools`).default,\n- workflow: require(`./${lang}/workflow`).default,\n- runLog: require(`./${lang}/run-log`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n" + }, + { + "date": 1727232528670, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,16 +1,8 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n-import { LanguagesSupported } from '@/i18n/language'\n-\n-\n-// 获取 project 名称(只需处理客户端逻辑)\n-const getProject = () => {\n- return Cookies.get('project') || 'default'\n-}\n-\n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n" + }, + { + "date": 1727232571945, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n+\n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n@@ -13,9 +14,8 @@\n \n // Automatically generate the resources object\n const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- const project = getProject()\n acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n return acc\n }, {})\n \n" + }, + { + "date": 1727232603840, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,7 +24,5 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n-\n-export const changeLanguage = i18n.changeLanguage\n export default i18n\n" + }, + { + "date": 1727232739645, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,8 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n+import data from './languages.json'\n \n \n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n@@ -24,5 +25,6 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n+\n export default i18n\n" + }, + { + "date": 1727232748759, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,11 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n+\n import data from './languages.json'\n \n+export const languages = data.languages\n \n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n" + }, + { + "date": 1727232816850, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n+const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n return acc\n }, {})\n" + }, + { + "date": 1727232838622, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n+ acc[lang] = loadLangResources(lang,`)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" + }, + { + "date": 1727232846738, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -5,9 +5,9 @@\n import data from './languages.json'\n \n export const languages = data.languages\n \n-const loadLangResources = (lang: string, project: string) => ({\n+const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n app: require(`./${lang}/${project}app`).default,\n@@ -17,9 +17,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang,`)\n+ acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" + }, + { + "date": 1727232854721, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -9,9 +9,8 @@\n const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n- app: require(`./${lang}/${project}app`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n" + }, + { + "date": 1727232927238, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, lang: string) => {\n+const resources = languages.reduce(: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" + }, + { + "date": 1727232933442, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce(: any, lang: string) => {\n+const resources = languages.reduce((: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" + }, + { + "date": 1727232949319, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((: any, lang: string) => {\n+const resources = languages.reduce((prompt_name: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" + }, + { + "date": 1727232959973, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((prompt_name: any, lang: string) => {\n+const resources = languages.reduce((prompt_name: string, value: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" + }, + { + "date": 1727232976290, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,11 +14,11 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((prompt_name: string, value: string) => {\n+const resources = languages.reduce((value: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang)\n+ acc[value] = loadLangResources(value)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" + }, + { + "date": 1727233011428, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((value: string) => {\n+const resources = languages.reduce((prompt_name: string, value: string) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n" + }, + { + "date": 1727233017994, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,11 +14,11 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((prompt_name: string, value: string) => {\n+const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- acc[value] = loadLangResources(value)\n+ acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" + }, + { + "date": 1727233030192, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,11 +14,11 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, lang: string) => {\n+const resources = languages.reduce((acc: any, value: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang)\n+ acc[value] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" + } + ], + "date": 1727232407469, + "name": "Commit-0", + "content": "'use client'\nimport i18n from 'i18next'\nimport { initReactI18next } from 'react-i18next'\n\nimport { LanguagesSupported } from '@/i18n/language'\n\n\n// 获取 project 名称(只需处理客户端逻辑)\nconst getProject = () => {\n return Cookies.get('project') || 'default'\n}\n\nconst loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n login: require(`./${lang}/login`).default,\n register: require(`./${lang}/register`).default,\n app: require(`./${lang}/${project}app`).default,\n appOverview: require(`./${lang}/app-overview`).default,\n appDebug: require(`./${lang}/app-debug`).default,\n appApi: require(`./${lang}/app-api`).default,\n appLog: require(`./${lang}/app-log`).default,\n appAnnotation: require(`./${lang}/app-annotation`).default,\n share: require(`./${lang}/share-app`).default,\n dataset: require(`./${lang}/dataset`).default,\n datasetDocuments: require(`./${lang}/dataset-documents`).default,\n datasetHitTesting: require(`./${lang}/dataset-hit-testing`).default,\n datasetSettings: require(`./${lang}/dataset-settings`).default,\n datasetCreation: require(`./${lang}/dataset-creation`).default,\n explore: require(`./${lang}/explore`).default,\n billing: require(`./${lang}/billing`).default,\n custom: require(`./${lang}/custom`).default,\n tools: require(`./${lang}/tools`).default,\n workflow: require(`./${lang}/workflow`).default,\n runLog: require(`./${lang}/run-log`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n})\n\n// Automatically generate the resources object\nconst resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n // 获取项目名称\n const project = getProject()\n acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n return acc\n}, {})\n\ni18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n\nexport const changeLanguage = i18n.changeLanguage\nexport default i18n\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/index.ts.json b/.lh/src/i18n/index.ts.json new file mode 100644 index 0000000..9596965 --- /dev/null +++ b/.lh/src/i18n/index.ts.json @@ -0,0 +1,142 @@ +{ + "sourceFile": "src/i18n/index.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 31, + "patches": [ + { + "date": 1727233387390, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727233393264, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -4,15 +4,8 @@\n \n import data from './languages.json'\n \n export const languages = data.languages\n-interface Language {\n- value: string;\n- name: string;\n- prompt_name: string;\n- example: string;\n- supported: boolean;\n-}\n \n const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n" + }, + { + "date": 1727233407978, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -3,10 +3,18 @@\n import { initReactI18next } from 'react-i18next'\n \n import data from './languages.json'\n \n-export const languages = data.languages\n+interface Language {\n+ value: string;\n+ name: string;\n+ prompt_name: string;\n+ example: string;\n+ supported: boolean;\n+}\n \n+export const languages: Language[] = data.languages\n+\n const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n" + }, + { + "date": 1727233428425, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,9 +22,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, value: string) => {\n+const resources = languages.reduce((acc: any, langObj: Language)) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n" + }, + { + "date": 1727233437257, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,9 +22,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, langObj: Language)) => {\n+const resources = languages.reduce((acc: any, langObj: Language) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n" + }, + { + "date": 1727233448712, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -23,9 +23,10 @@\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n- // 获取项目名称\n+ const lang = langObj.value;\n+\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n \n" + }, + { + "date": 1727233455443, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,10 +24,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n const lang = langObj.value;\n-\n- acc[value] = loadLangResources(value)\n+ acc[lang] = loadLangResources(value)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" + }, + { + "date": 1727233660871, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,9 +24,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n const lang = langObj.value;\n- acc[lang] = loadLangResources(value)\n+ acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" + }, + { + "date": 1727235874565, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,8 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- resources,\n+ ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n+ defaultNS: 'common', // 设置默认命名空间 resources,\n })\n \n export default i18n\n" + }, + { + "date": 1727235935779, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,8 @@\n \n export const languages: Language[] = data.languages\n \n const loadLangResources = (lang: string) => ({\n- translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n" + }, + { + "date": 1727236300970, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,39 @@\n+'use client'\n+import i18n from 'i18next'\n+import { initReactI18next } from 'react-i18next'\n+\n+import data from './languages.json'\n+\n+interface Language {\n+ value: string;\n+ name: string;\n+ prompt_name: string;\n+ example: string;\n+ supported: boolean;\n+}\n+\n+export const languages: Language[] = data.languages\n+\n+const loadLangResources = (lang: string) => ({\n+ common: require(`./${lang}/common`).default,\n+ layout: require(`./${lang}/layout`).default,\n+ dintal: require(`./${lang}/dintal`).default,\n+})\n+\n+// Automatically generate the resources object\n+const resources = languages.reduce((acc: any, langObj: Language) => {\n+ const lang = langObj.value;\n+ acc[lang] = loadLangResources(lang)\n+ return acc\n+}, {})\n+\n+i18n.use(initReactI18next)\n+ .init({\n+ lng: 'zh-Hans',\n+ fallbackLng: 'zh-Hans',\n+ ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n+ defaultNS: 'common', // 设置默认命名空间\n+ resources,\n+ })\n+\n+export default i18n\n" + }, + { + "date": 1727236319526, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,45 +34,6 @@\n ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n-\n+de\n export default i18n\n-'use client'\n-import i18n from 'i18next'\n-import { initReactI18next } from 'react-i18next'\n-\n-import data from './languages.json'\n-\n-interface Language {\n- value: string;\n- name: string;\n- prompt_name: string;\n- example: string;\n- supported: boolean;\n-}\n-\n-export const languages: Language[] = data.languages\n-\n-const loadLangResources = (lang: string) => ({\n- common: require(`./${lang}/common`).default,\n- layout: require(`./${lang}/layout`).default,\n- dintal: require(`./${lang}/dintal`).default,\n- },\n-})\n-\n-// Automatically generate the resources object\n-const resources = languages.reduce((acc: any, langObj: Language) => {\n- const lang = langObj.value;\n- acc[lang] = loadLangResources(lang)\n- return acc\n-}, {})\n-\n-i18n.use(initReactI18next)\n- .init({\n- lng: 'zh-Hans',\n- fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n- defaultNS: 'common', // 设置默认命名空间 resources,\n- })\n-\n-export default i18n\n" + }, + { + "date": 1727239096176, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,6 +34,6 @@\n ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n-de\n+\n export default i18n\n" + }, + { + "date": 1727239481216, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,4 @@\n-'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n import data from './languages.json'\n" + }, + { + "date": 1727240533727, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,8 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n+ ...require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727240542547, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- ...require(`./${lang}/introduction`).default,\n+ i...require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727240549598, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- i...require(`./${lang}/introduction`).default,\n+ 小怪物: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727240557303, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- 小怪物: require(`./${lang}/introduction`).default,\n+ intr: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727240578475, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n import data from './languages.json'\n+import Introduction from '@/app/components/Introduction';\n \n interface Language {\n value: string;\n name: string;\n@@ -16,9 +17,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- intr: require(`./${lang}/introduction`).default,\n+ Introduction: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n@@ -30,9 +31,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'Introduction:'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n \n" + }, + { + "date": 1727240593599, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -31,9 +31,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'Introduction:'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n \n" + }, + { + "date": 1727240601870, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- Introduction: require(`./${lang}/introduction`).default,\n+ introduction: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727240648555, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -33,8 +33,11 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n- resources,\n+ resources,,\n+ interpolation: {\n+ escapeValue: false,\n+ },\n })\n \n export default i18n\n" + }, + { + "date": 1727241162457, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,8 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n+ \n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n@@ -33,9 +34,9 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n- resources,,\n+ resources,\n interpolation: {\n escapeValue: false,\n },\n })\n" + }, + { + "date": 1727241168111, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n- \n+ graphViewer\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727241175340, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n- graphViewer\n+ graphViewer: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727241182588, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n- graphViewer: require(`./${lang}/introduction`).default,\n+ graphViewer: require(`./${lang}/graphViewer`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727241190609, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,9 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n interpolation: {\n escapeValue: false,\n" + }, + { + "date": 1727249974174, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,9 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer, '], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n interpolation: {\n escapeValue: false,\n" + }, + { + "date": 1727249980372, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,9 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer, '], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer', 'dataview'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n interpolation: {\n escapeValue: false,\n" + }, + { + "date": 1727249988013, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,8 +19,9 @@\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n graphViewer: require(`./${lang}/graphViewer`).default,\n+ graphViewer: require(`./${lang}/graphViewer`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727249994207, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,9 +19,9 @@\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n graphViewer: require(`./${lang}/graphViewer`).default,\n- graphViewer: require(`./${lang}/graphViewer`).default,\n+ graphViewer: require(`./${lang}/dataViewer`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + }, + { + "date": 1727250002661, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,9 +19,9 @@\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n graphViewer: require(`./${lang}/graphViewer`).default,\n- graphViewer: require(`./${lang}/dataViewer`).default,\n+ dataview: require(`./${lang}/dataview`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" + } + ], + "date": 1727233387390, + "name": "Commit-0", + "content": "'use client'\nimport i18n from 'i18next'\nimport { initReactI18next } from 'react-i18next'\n\nimport data from './languages.json'\n\nexport const languages = data.languages\ninterface Language {\n value: string;\n name: string;\n prompt_name: string;\n example: string;\n supported: boolean;\n}\n\nconst loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n})\n\n// Automatically generate the resources object\nconst resources = languages.reduce((acc: any, value: string) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n}, {})\n\ni18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n\nexport default i18n\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/languages.json.json b/.lh/src/i18n/languages.json.json new file mode 100644 index 0000000..f53d864 --- /dev/null +++ b/.lh/src/i18n/languages.json.json @@ -0,0 +1,18 @@ +{ + "sourceFile": "src/i18n/languages.json", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 0, + "patches": [ + { + "date": 1727232677789, + "content": "Index: \n===================================================================\n--- \n+++ \n" + } + ], + "date": 1727232677789, + "name": "Commit-0", + "content": "{\n \"languages\": [\n {\n \"value\": \"en-US\",\n \"name\": \"English (United States)\",\n \"prompt_name\": \"English\",\n \"example\": \"Hello, DinTal!\",\n \"supported\": true\n },\n {\n \"value\": \"zh-Hans\",\n \"name\": \"简体中文\",\n \"prompt_name\": \"Chinese Simplified\",\n \"example\": \"你好,DinTal!\",\n \"supported\": true\n }\n ]\n}\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/common.ts.json b/.lh/src/i18n/zh-Hans/common.ts.json new file mode 100644 index 0000000..7647234 --- /dev/null +++ b/.lh/src/i18n/zh-Hans/common.ts.json @@ -0,0 +1,22 @@ +{ + "sourceFile": "src/i18n/zh-Hans/common.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 1, + "patches": [ + { + "date": 1727233739163, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727233761602, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -46,491 +46,7 @@\n input: '请输入',\n select: '请选择',\n },\n \n- model: {\n- params: {\n- temperature: '随机性 temperature',\n- temperatureTip:\n- '控制回复的随机性。\\n值越大,回复越随机。\\n值越小,回复越确定或一致。',\n- top_p: '核采样 top_p',\n- top_pTip:\n- '控制生成多样性。\\n值越大,输出会包括更多的单词选项。\\n值越小,模型会更集中在高概率的单词上,输出更确定但可能缺乏多样性。\\n核采样和随机性不建议同时修改。',\n- presence_penalty: '话题新鲜度 presence_penalty',\n- presence_penaltyTip:\n- '控制生成时对上文已存在的话题的偏好程度。\\n值越大,越可能使用到新的话题。',\n- frequency_penalty: '频率惩罚度 frequency_penalty',\n- frequency_penaltyTip:\n- '影响常见与罕见词汇使用。\\n值较大时,倾向于生成不常见的词汇和表达方式。\\n值越小,更倾向于使用常见和普遍接受的词汇或短语。',\n- max_tokens: '单次回复限制 max_tokens',\n- max_tokensTip:\n- '用于限制回复的最大长度,以 token 为单位。\\n较大的值可能会限制给提示词、聊天记录和知识库留出的空间。\\n建议将其设置在三分之二以下。\\ngpt-4-1106-preview、gpt-4-vision-preview 最大长度 (输入128k,输出4k)',\n- maxTokenSettingTip: '您设置的最大 tokens 数较大,可能会导致 prompt、用户问题、知识库内容没有 token 空间进行处理,建议设置到 2/3 以下。',\n- setToCurrentModelMaxTokenTip: '最大令牌数更新为当前模型最大的令牌数 {{maxToken}} 的 80%。',\n- stop_sequences: '停止序列 stop_sequences',\n- stop_sequencesTip: '最多四个序列,API 将停止生成更多的 token。返回的文本将不包含停止序列。',\n- stop_sequencesPlaceholder: '输入序列并按 Tab 键',\n- },\n- tone: {\n- Creative: '创意',\n- Balanced: '平衡',\n- Precise: '精确',\n- Custom: '自定义',\n- },\n- addMoreModel: '添加更多模型',\n- },\n- menus: {\n- status: 'V1.0',\n- explore: '场景广场',\n- apps: '工作室',\n- plugins: '插件',\n- pluginsTips: '集成第三方插件或创建与 ChatGPT 兼容的 AI 插件。',\n- datasets: '知识库',\n- datasetsTips: '即将到来: 上传自己的长文本数据,或通过 Webhook 集成自己的数据源',\n- newApp: '创建场景',\n- newDataset: '创建知识库',\n- tools: '工具',\n- },\n- userProfile: {\n- settings: '设置',\n- emailSupport: '邮件支持',\n- workspace: '工作空间',\n- createWorkspace: '创建工作空间',\n- helpCenter: '帮助文档',\n- roadmapAndFeedback: '用户反馈',\n- community: '社区',\n- about: '关于',\n- logout: '登出',\n- },\n- settings: {\n- accountGroup: '账户',\n- workplaceGroup: '工作空间',\n- account: '我的账户',\n- members: '成员',\n- billing: '账单',\n- integrations: '集成',\n- language: '语言',\n- provider: '模型供应商',\n- dataSource: '数据来源',\n- plugin: '插件',\n- apiBasedExtension: 'API 扩展',\n- },\n- account: {\n- avatar: '头像',\n- name: '用户名',\n- email: '邮箱',\n- password: '密码',\n- passwordTip: '如果您不想使用验证码登录,可以设置永久密码',\n- setPassword: '设置密码',\n- resetPassword: '重置密码',\n- currentPassword: '原密码',\n- newPassword: '新密码',\n- notEqual: '两个密码不相同',\n- confirmPassword: '确认密码',\n- langGeniusAccount: 'DinTal 账号',\n- langGeniusAccountTip: '您的 DinTal 账号和相关的用户数据。',\n- editName: '编辑名字',\n- showAppLength: '显示 {{length}} 个场景',\n- delete: '删除账户',\n- deleteTip: '删除账户后,所有数据将被永久删除且不可恢复。',\n- deleteConfirmTip: '请将以下内容通过您的账户邮箱发送到 ',\n- },\n- members: {\n- team: '团队',\n- invite: '添加',\n- name: '姓名',\n- lastActive: '上次活动时间',\n- role: '角色',\n- pending: '待定...',\n- owner: '所有者',\n- admin: '管理员',\n- adminTip: '能够建立场景程序和管理团队设置',\n- normal: '成员',\n- normalTip: '只能使用场景程序,不能建立场景程序',\n- editor: '编辑',\n- editorTip: '能够建立并编辑场景程序,不能管理团队设置',\n- datasetOperator: '知识库管理员',\n- datasetOperatorTip: '只能管理知识库',\n- inviteTeamMember: '添加团队成员',\n- inviteTeamMemberTip: '对方在登录后可以访问你的团队数据。',\n- email: '邮箱',\n- emailInvalid: '邮箱格式无效',\n- emailPlaceholder: '输入邮箱',\n- sendInvite: '发送邀请',\n- invitedAsRole: '邀请为{{role}}用户',\n- invitationSent: '邀请已发送',\n- invitationSentTip: '邀请已发送,对方登录 DinTal 后即可访问你的团队数据。',\n- invitationLink: '邀请链接',\n- failedinvitationEmails: '邀请以下邮箱失败',\n- ok: '好的',\n- removeFromTeam: '移除团队',\n- removeFromTeamTip: '将取消团队访问',\n- setAdmin: '设为管理员',\n- setMember: '设为普通成员',\n- setEditor: '设为编辑',\n- disinvite: '取消邀请',\n- deleteMember: '删除成员',\n- you: '(你)',\n- },\n- integrations: {\n- connected: '登录方式',\n- google: 'Google',\n- googleAccount: 'Google 账号登录',\n- github: 'GitHub',\n- githubAccount: 'GitHub 账号登录',\n- connect: '绑定',\n- },\n- language: {\n- displayLanguage: '界面语言',\n- timezone: '时区',\n- },\n- provider: {\n- apiKey: 'API 密钥',\n- enterYourKey: '输入你的 API 密钥',\n- invalidKey: '无效的 OpenAI API 密钥',\n- validatedError: '校验失败:',\n- validating: '验证密钥中...',\n- saveFailed: 'API 密钥保存失败',\n- apiKeyExceedBill: '此 API KEY 已没有可用配额,请阅读',\n- addKey: '添加 密钥',\n- comingSoon: '即将推出',\n- editKey: '编辑',\n- invalidApiKey: '无效的 API 密钥',\n- azure: {\n- apiBase: 'API Base',\n- apiBasePlaceholder: '输入您的 Azure OpenAI API Base 地址',\n- apiKey: 'API Key',\n- apiKeyPlaceholder: '输入你的 API 密钥',\n- helpTip: '了解 Azure OpenAI Service',\n- },\n- openaiHosted: {\n- openaiHosted: '托管 OpenAI',\n- onTrial: '体验',\n- exhausted: '超出限额',\n- desc: '托管 OpenAI 由 DinTal 提供的托管 OpenAI 服务,你可以使用 GPT-3.5 等模型,在体验额度消耗完毕前你需要设置其它模型供应商。',\n- callTimes: '调用次数',\n- usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n- useYourModel: '当前正在使用你自己的模型供应商。',\n- close: '关闭',\n- },\n- anthropicHosted: {\n- anthropicHosted: 'Anthropic Claude',\n- onTrial: '体验',\n- exhausted: '超出限额',\n- desc: '功能强大的模型,擅长执行从复杂对话和创意内容生成到详细指导的各种任务。',\n- callTimes: '调用次数',\n- usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n- useYourModel: '当前正在使用你自己的模型供应商。',\n- close: '关闭',\n- },\n- anthropic: {\n- using: '嵌入能力正在使用',\n- enableTip: '要启用 Anthropic 模型,您需要先绑定 OpenAI 或 Azure OpenAI 服务。',\n- notEnabled: '未启用',\n- keyFrom: '从 Anthropic 获取您的 API 密钥',\n- },\n- encrypted: {\n- front: '密钥将使用 ',\n- back: ' 技术进行加密和存储。',\n- },\n- },\n- modelProvider: {\n- notConfigured: '系统模型尚未完全配置,部分功能可能无法使用。',\n- systemModelSettings: '系统模型设置',\n- systemModelSettingsLink: '为什么需要设置系统模型?',\n- selectModel: '选择您的模型',\n- setupModelFirst: '请先设置您的模型',\n- systemReasoningModel: {\n- key: '系统推理模型',\n- tip: '设置创建场景使用的默认推理模型,以及对话名称生成、下一步问题建议等功能也会使用该默认推理模型。',\n- },\n- embeddingModel: {\n- key: 'Embedding 模型',\n- tip: '设置知识库文档嵌入处理的默认模型,检索和导入知识库均使用该Embedding模型进行向量化处理,切换后将导致已导入的知识库与问题之间的向量维度不一致,从而导致检索失败。为避免检索失败,请勿随意切换该模型。',\n- required: '请选择 Embedding 模型',\n- },\n- speechToTextModel: {\n- key: '语音转文本模型',\n- tip: '设置对话中语音转文字输入的默认使用模型。',\n- },\n- ttsModel: {\n- key: '文本转语音模型',\n- tip: '设置对话中文字转语音输出的默认使用模型。',\n- },\n- rerankModel: {\n- key: 'Rerank 模型',\n- tip: '重排序模型将根据候选文档列表与用户问题语义匹配度进行重新排序,从而改进语义排序的结果',\n- },\n- quota: '额度',\n- searchModel: '搜索模型',\n- noModelFound: '找不到模型 {{model}}',\n- models: '模型列表',\n- showMoreModelProvider: '显示更多模型提供商',\n- selector: {\n- tip: '该模型已被删除。请添模型或选择其他模型。',\n- emptyTip: '无可用模型',\n- emptySetting: '请前往设置进行配置',\n- rerankTip: '请设置 Rerank 模型',\n- },\n- card: {\n- quota: '额度',\n- onTrial: '试用中',\n- paid: '已购买',\n- quotaExhausted: '配额已用完',\n- callTimes: '调用次数',\n- tokens: 'Tokens',\n- buyQuota: '购买额度',\n- priorityUse: '优先使用',\n- removeKey: '删除 API 密钥',\n- tip: '已付费额度将优先考虑。 试用额度将在付费额度用完后使用。',\n- },\n- item: {\n- deleteDesc: '{{modelName}} 被用作系统推理模型。删除后部分功能将无法使用。请确认。',\n- freeQuota: '免费额度',\n- },\n- addApiKey: '添加您的 API 密钥',\n- invalidApiKey: 'Invalid API key',\n- encrypted: {\n- front: '您的密钥将使用',\n- back: '技术进行加密和存储。',\n- },\n- freeQuota: {\n- howToEarn: '如何获取',\n- },\n- addMoreModelProvider: '添加更多模型提供商',\n- addModel: '添加模型',\n- modelsNum: '{{num}} 个模型',\n- showModels: '显示模型',\n- showModelsNum: '显示 {{num}} 个模型',\n- collapse: '收起',\n- config: '配置',\n- modelAndParameters: '模型及参数',\n- model: '模型',\n- featureSupported: '支持 {{feature}} 功能',\n- callTimes: '调用次数',\n- credits: '消息额度',\n- buyQuota: '购买额度',\n- getFreeTokens: '获得免费 Tokens',\n- priorityUsing: '优先使用',\n- deprecated: '已弃用',\n- confirmDelete: '确认删除?',\n- quotaTip: '剩余免费额度',\n- loadPresets: '加载预设',\n- parameters: '参数',\n- loadBalancing: '负载均衡',\n- loadBalancingDescription: '为了减轻单组凭据的压力,您可以为模型调用配置多组凭据。',\n- loadBalancingHeadline: '负载均衡',\n- configLoadBalancing: '设置负载均衡',\n- modelHasBeenDeprecated: '该模型已废弃',\n- providerManaged: '由模型供应商管理',\n- providerManagedDescription: '使用模型供应商提供的单组凭据',\n- defaultConfig: '默认配置',\n- apiKeyStatusNormal: 'API Key 正常',\n- apiKeyRateLimit: '已达频率上限,{{seconds}}秒后恢复',\n- addConfig: '增加配置',\n- editConfig: '修改配置',\n- loadBalancingLeastKeyWarning: '至少启用 2 个 Key 以使用负载均衡',\n- loadBalancingInfo: '默认情况下,负载平衡使用 Round-robin 策略。如果触发速率限制,将场景 1 分钟的冷却时间',\n- upgradeForLoadBalancing: '升级以解锁负载均衡功能',\n- },\n- dataSource: {\n- add: '添加数据源',\n- connect: '绑定',\n- configure: '配置',\n- notion: {\n- title: 'Notion',\n- description: '使用 Notion 作为知识库的数据源。',\n- connectedWorkspace: '已绑定工作空间',\n- addWorkspace: '添加工作空间',\n- connected: '已绑定',\n- disconnected: '未绑定',\n- changeAuthorizedPages: '更改授权页面',\n- pagesAuthorized: '已授权页面',\n- sync: '同步',\n- remove: '删除',\n- selector: {\n- pageSelected: '已选页面',\n- searchPages: '搜索页面...',\n- noSearchResult: '无搜索结果',\n- addPages: '添加页面',\n- preview: '预览',\n- },\n- },\n- website: {\n- title: '网站',\n- description: '使用网络爬虫从网站导入内容。',\n- with: '使用',\n- configuredCrawlers: '已配置的爬虫',\n- active: '可用',\n- inactive: '不可用',\n- },\n- },\n- plugin: {\n- serpapi: {\n- apiKey: 'API Key',\n- apiKeyPlaceholder: '输入你的 API 密钥',\n- keyFrom: '从 SerpAPI 帐户页面获取您的 SerpAPI 密钥',\n- },\n- },\n- apiBasedExtension: {\n- title: 'API 扩展提供了一个集中式的 API 管理,在此统一添加 API 配置后,方便在 DinTal 上的各类场景中直接使用。',\n- link: '了解如何开发您自己的 API 扩展。',\n- linkUrl: 'https://docs.DinTal.ai/v/zh-hans/advanced/api_based_extension',\n- add: '新增 API 扩展',\n- selector: {\n- title: 'API 扩展',\n- placeholder: '请选择 API 扩展',\n- manage: '管理 API 扩展',\n- },\n- modal: {\n- title: '新增 API 扩展',\n- editTitle: '编辑 API 扩展',\n- name: {\n- title: '名称',\n- placeholder: '请输入名称',\n- },\n- apiEndpoint: {\n- title: 'API Endpoint',\n- placeholder: '请输入 API endpoint',\n- },\n- apiKey: {\n- title: 'API-key',\n- placeholder: '请输入 API-key',\n- lengthError: 'API-key 不能少于 5 位',\n- },\n- },\n- type: '类型',\n- },\n- about: {\n- changeLog: '更新日志',\n- updateNow: '现在更新',\n- nowAvailable: 'DinTal {{version}} 现已可用。',\n- latestAvailable: 'DinTal {{version}} 已是最新版本。',\n- },\n- appMenus: {\n- overview: '监测',\n- promptEng: '编排',\n- apiAccess: '访问 API',\n- logAndAnn: '日志与标注',\n- logs: '日志',\n- },\n- environment: {\n- testing: '测试环境',\n- development: '开发环境',\n- },\n- appModes: {\n- completionApp: '文本生成型场景',\n- chatApp: '对话型场景',\n- },\n- datasetMenus: {\n- documents: '文档',\n- hitTesting: '召回测试',\n- settings: '设置',\n- emptyTip: ' 知识库尚未关联,请前往场景程序或插件完成关联。',\n- viewDoc: '查看文档',\n- relatedApp: '个关联场景',\n- },\n- voiceInput: {\n- speaking: '现在讲...',\n- converting: '正在转换为文本...',\n- notAllow: '麦克风未授权',\n- },\n- modelName: {\n- 'gpt-3.5-turbo': 'GPT-3.5-Turbo',\n- 'gpt-3.5-turbo-16k': 'GPT-3.5-Turbo-16K',\n- 'gpt-4': 'GPT-4',\n- 'gpt-4-32k': 'GPT-4-32K',\n- 'text-davinci-003': 'Text-Davinci-003',\n- 'text-embedding-ada-002': 'Text-Embedding-Ada-002',\n- 'whisper-1': 'Whisper-1',\n- 'claude-instant-1': 'Claude-Instant',\n- 'claude-2': 'Claude-2',\n- },\n- chat: {\n- renameConversation: '重命名会话',\n- conversationName: '会话名称',\n- conversationNamePlaceholder: '请输入会话名称',\n- conversationNameCanNotEmpty: '会话名称必填',\n- citation: {\n- title: '引用',\n- linkToDataset: '跳转至知识库',\n- characters: '字符:',\n- hitCount: '召回次数:',\n- vectorHash: '向量哈希:',\n- hitScore: '召回得分:',\n- },\n- },\n- promptEditor: {\n- placeholder: '在这里写你的提示词,输入\\'{\\' 插入变量、输入\\'/\\' 插入提示内容块',\n- context: {\n- item: {\n- title: '上下文',\n- desc: '插入上下文模板',\n- },\n- modal: {\n- title: '有 {{num}} 个知识库在上下文中',\n- add: '添加上下文',\n- footer: '您可以在下面的“上下文”部分中管理上下文。',\n- },\n- },\n- history: {\n- item: {\n- title: '会话历史',\n- desc: '插入历史消息模板',\n- },\n- modal: {\n- title: '示例',\n- user: '你好',\n- assistant: '你好!今天我能为您提供什么帮助?',\n- edit: '编辑对话角色名称',\n- },\n- },\n- variable: {\n- item: {\n- title: '变量 & 外部工具',\n- desc: '插入变量和外部工具',\n- },\n- outputToolDisabledItem: {\n- title: '变量',\n- desc: '插入变量',\n- },\n- modal: {\n- add: '添加新变量',\n- addTool: '添加工具',\n- },\n- },\n- query: {\n- item: {\n- title: '查询内容',\n- desc: '插入用户查询模板',\n- },\n- },\n- existed: 'Prompt 中已存在',\n- },\n- imageUploader: {\n- uploadFromComputer: '从本地上传',\n- uploadFromComputerReadError: '图片读取失败,请重新选择。',\n- uploadFromComputerUploadError: '图片上传失败,请重新上传。',\n- uploadFromComputerLimit: '上传图片不能超过 {{size}} MB',\n- pasteImageLink: '粘贴图片链接',\n- pasteImageLinkInputPlaceholder: '将图像链接粘贴到此处',\n- pasteImageLinkInvalid: '图片链接无效',\n- imageUpload: '图片上传',\n- },\n- tag: {\n- placeholder: '全部标签',\n- addNew: '创建新标签',\n- noTag: '没有标签',\n- noTagYet: '还没有标签',\n- addTag: '添加标签',\n- editTag: '修改标签',\n- manageTags: '管理标签',\n- selectorPlaceholder: '搜索或者创建',\n- create: '创建',\n- delete: '删除标签',\n- deleteTip: '标签正在使用中,是否删除?',\n- created: '标签创建成功',\n- failed: '标签创建失败',\n- },\n }\n \n export default translation\n" + } + ], + "date": 1727233739163, + "name": "Commit-0", + "content": "const translation = {\n api: {\n success: '成功',\n actionSuccess: '操作成功',\n saved: '已保存',\n create: '已创建',\n remove: '已移除',\n },\n operation: {\n create: '创建',\n confirm: '确认',\n cancel: '取消',\n clear: '清空',\n save: '保存',\n saveAndEnable: '保存并启用',\n edit: '编辑',\n add: '添加',\n added: '已添加',\n refresh: '重新开始',\n reset: '重置',\n search: '搜索',\n change: '更改',\n remove: '移除',\n send: '发送',\n copy: '复制',\n lineBreak: '换行',\n sure: '我确定',\n download: '下载',\n delete: '删除',\n settings: '设置',\n setup: '设置',\n getForFree: '免费获取',\n reload: '刷新',\n ok: '好的',\n log: '日志',\n learnMore: '了解更多',\n params: '参数设置',\n duplicate: '复制',\n rename: '重命名',\n },\n errorMsg: {\n fieldRequired: '{{field}} 为必填项',\n urlError: 'url 应该以 http:// 或 https:// 开头',\n },\n placeholder: {\n input: '请输入',\n select: '请选择',\n },\n\n model: {\n params: {\n temperature: '随机性 temperature',\n temperatureTip:\n '控制回复的随机性。\\n值越大,回复越随机。\\n值越小,回复越确定或一致。',\n top_p: '核采样 top_p',\n top_pTip:\n '控制生成多样性。\\n值越大,输出会包括更多的单词选项。\\n值越小,模型会更集中在高概率的单词上,输出更确定但可能缺乏多样性。\\n核采样和随机性不建议同时修改。',\n presence_penalty: '话题新鲜度 presence_penalty',\n presence_penaltyTip:\n '控制生成时对上文已存在的话题的偏好程度。\\n值越大,越可能使用到新的话题。',\n frequency_penalty: '频率惩罚度 frequency_penalty',\n frequency_penaltyTip:\n '影响常见与罕见词汇使用。\\n值较大时,倾向于生成不常见的词汇和表达方式。\\n值越小,更倾向于使用常见和普遍接受的词汇或短语。',\n max_tokens: '单次回复限制 max_tokens',\n max_tokensTip:\n '用于限制回复的最大长度,以 token 为单位。\\n较大的值可能会限制给提示词、聊天记录和知识库留出的空间。\\n建议将其设置在三分之二以下。\\ngpt-4-1106-preview、gpt-4-vision-preview 最大长度 (输入128k,输出4k)',\n maxTokenSettingTip: '您设置的最大 tokens 数较大,可能会导致 prompt、用户问题、知识库内容没有 token 空间进行处理,建议设置到 2/3 以下。',\n setToCurrentModelMaxTokenTip: '最大令牌数更新为当前模型最大的令牌数 {{maxToken}} 的 80%。',\n stop_sequences: '停止序列 stop_sequences',\n stop_sequencesTip: '最多四个序列,API 将停止生成更多的 token。返回的文本将不包含停止序列。',\n stop_sequencesPlaceholder: '输入序列并按 Tab 键',\n },\n tone: {\n Creative: '创意',\n Balanced: '平衡',\n Precise: '精确',\n Custom: '自定义',\n },\n addMoreModel: '添加更多模型',\n },\n menus: {\n status: 'V1.0',\n explore: '场景广场',\n apps: '工作室',\n plugins: '插件',\n pluginsTips: '集成第三方插件或创建与 ChatGPT 兼容的 AI 插件。',\n datasets: '知识库',\n datasetsTips: '即将到来: 上传自己的长文本数据,或通过 Webhook 集成自己的数据源',\n newApp: '创建场景',\n newDataset: '创建知识库',\n tools: '工具',\n },\n userProfile: {\n settings: '设置',\n emailSupport: '邮件支持',\n workspace: '工作空间',\n createWorkspace: '创建工作空间',\n helpCenter: '帮助文档',\n roadmapAndFeedback: '用户反馈',\n community: '社区',\n about: '关于',\n logout: '登出',\n },\n settings: {\n accountGroup: '账户',\n workplaceGroup: '工作空间',\n account: '我的账户',\n members: '成员',\n billing: '账单',\n integrations: '集成',\n language: '语言',\n provider: '模型供应商',\n dataSource: '数据来源',\n plugin: '插件',\n apiBasedExtension: 'API 扩展',\n },\n account: {\n avatar: '头像',\n name: '用户名',\n email: '邮箱',\n password: '密码',\n passwordTip: '如果您不想使用验证码登录,可以设置永久密码',\n setPassword: '设置密码',\n resetPassword: '重置密码',\n currentPassword: '原密码',\n newPassword: '新密码',\n notEqual: '两个密码不相同',\n confirmPassword: '确认密码',\n langGeniusAccount: 'DinTal 账号',\n langGeniusAccountTip: '您的 DinTal 账号和相关的用户数据。',\n editName: '编辑名字',\n showAppLength: '显示 {{length}} 个场景',\n delete: '删除账户',\n deleteTip: '删除账户后,所有数据将被永久删除且不可恢复。',\n deleteConfirmTip: '请将以下内容通过您的账户邮箱发送到 ',\n },\n members: {\n team: '团队',\n invite: '添加',\n name: '姓名',\n lastActive: '上次活动时间',\n role: '角色',\n pending: '待定...',\n owner: '所有者',\n admin: '管理员',\n adminTip: '能够建立场景程序和管理团队设置',\n normal: '成员',\n normalTip: '只能使用场景程序,不能建立场景程序',\n editor: '编辑',\n editorTip: '能够建立并编辑场景程序,不能管理团队设置',\n datasetOperator: '知识库管理员',\n datasetOperatorTip: '只能管理知识库',\n inviteTeamMember: '添加团队成员',\n inviteTeamMemberTip: '对方在登录后可以访问你的团队数据。',\n email: '邮箱',\n emailInvalid: '邮箱格式无效',\n emailPlaceholder: '输入邮箱',\n sendInvite: '发送邀请',\n invitedAsRole: '邀请为{{role}}用户',\n invitationSent: '邀请已发送',\n invitationSentTip: '邀请已发送,对方登录 DinTal 后即可访问你的团队数据。',\n invitationLink: '邀请链接',\n failedinvitationEmails: '邀请以下邮箱失败',\n ok: '好的',\n removeFromTeam: '移除团队',\n removeFromTeamTip: '将取消团队访问',\n setAdmin: '设为管理员',\n setMember: '设为普通成员',\n setEditor: '设为编辑',\n disinvite: '取消邀请',\n deleteMember: '删除成员',\n you: '(你)',\n },\n integrations: {\n connected: '登录方式',\n google: 'Google',\n googleAccount: 'Google 账号登录',\n github: 'GitHub',\n githubAccount: 'GitHub 账号登录',\n connect: '绑定',\n },\n language: {\n displayLanguage: '界面语言',\n timezone: '时区',\n },\n provider: {\n apiKey: 'API 密钥',\n enterYourKey: '输入你的 API 密钥',\n invalidKey: '无效的 OpenAI API 密钥',\n validatedError: '校验失败:',\n validating: '验证密钥中...',\n saveFailed: 'API 密钥保存失败',\n apiKeyExceedBill: '此 API KEY 已没有可用配额,请阅读',\n addKey: '添加 密钥',\n comingSoon: '即将推出',\n editKey: '编辑',\n invalidApiKey: '无效的 API 密钥',\n azure: {\n apiBase: 'API Base',\n apiBasePlaceholder: '输入您的 Azure OpenAI API Base 地址',\n apiKey: 'API Key',\n apiKeyPlaceholder: '输入你的 API 密钥',\n helpTip: '了解 Azure OpenAI Service',\n },\n openaiHosted: {\n openaiHosted: '托管 OpenAI',\n onTrial: '体验',\n exhausted: '超出限额',\n desc: '托管 OpenAI 由 DinTal 提供的托管 OpenAI 服务,你可以使用 GPT-3.5 等模型,在体验额度消耗完毕前你需要设置其它模型供应商。',\n callTimes: '调用次数',\n usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n useYourModel: '当前正在使用你自己的模型供应商。',\n close: '关闭',\n },\n anthropicHosted: {\n anthropicHosted: 'Anthropic Claude',\n onTrial: '体验',\n exhausted: '超出限额',\n desc: '功能强大的模型,擅长执行从复杂对话和创意内容生成到详细指导的各种任务。',\n callTimes: '调用次数',\n usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n useYourModel: '当前正在使用你自己的模型供应商。',\n close: '关闭',\n },\n anthropic: {\n using: '嵌入能力正在使用',\n enableTip: '要启用 Anthropic 模型,您需要先绑定 OpenAI 或 Azure OpenAI 服务。',\n notEnabled: '未启用',\n keyFrom: '从 Anthropic 获取您的 API 密钥',\n },\n encrypted: {\n front: '密钥将使用 ',\n back: ' 技术进行加密和存储。',\n },\n },\n modelProvider: {\n notConfigured: '系统模型尚未完全配置,部分功能可能无法使用。',\n systemModelSettings: '系统模型设置',\n systemModelSettingsLink: '为什么需要设置系统模型?',\n selectModel: '选择您的模型',\n setupModelFirst: '请先设置您的模型',\n systemReasoningModel: {\n key: '系统推理模型',\n tip: '设置创建场景使用的默认推理模型,以及对话名称生成、下一步问题建议等功能也会使用该默认推理模型。',\n },\n embeddingModel: {\n key: 'Embedding 模型',\n tip: '设置知识库文档嵌入处理的默认模型,检索和导入知识库均使用该Embedding模型进行向量化处理,切换后将导致已导入的知识库与问题之间的向量维度不一致,从而导致检索失败。为避免检索失败,请勿随意切换该模型。',\n required: '请选择 Embedding 模型',\n },\n speechToTextModel: {\n key: '语音转文本模型',\n tip: '设置对话中语音转文字输入的默认使用模型。',\n },\n ttsModel: {\n key: '文本转语音模型',\n tip: '设置对话中文字转语音输出的默认使用模型。',\n },\n rerankModel: {\n key: 'Rerank 模型',\n tip: '重排序模型将根据候选文档列表与用户问题语义匹配度进行重新排序,从而改进语义排序的结果',\n },\n quota: '额度',\n searchModel: '搜索模型',\n noModelFound: '找不到模型 {{model}}',\n models: '模型列表',\n showMoreModelProvider: '显示更多模型提供商',\n selector: {\n tip: '该模型已被删除。请添模型或选择其他模型。',\n emptyTip: '无可用模型',\n emptySetting: '请前往设置进行配置',\n rerankTip: '请设置 Rerank 模型',\n },\n card: {\n quota: '额度',\n onTrial: '试用中',\n paid: '已购买',\n quotaExhausted: '配额已用完',\n callTimes: '调用次数',\n tokens: 'Tokens',\n buyQuota: '购买额度',\n priorityUse: '优先使用',\n removeKey: '删除 API 密钥',\n tip: '已付费额度将优先考虑。 试用额度将在付费额度用完后使用。',\n },\n item: {\n deleteDesc: '{{modelName}} 被用作系统推理模型。删除后部分功能将无法使用。请确认。',\n freeQuota: '免费额度',\n },\n addApiKey: '添加您的 API 密钥',\n invalidApiKey: 'Invalid API key',\n encrypted: {\n front: '您的密钥将使用',\n back: '技术进行加密和存储。',\n },\n freeQuota: {\n howToEarn: '如何获取',\n },\n addMoreModelProvider: '添加更多模型提供商',\n addModel: '添加模型',\n modelsNum: '{{num}} 个模型',\n showModels: '显示模型',\n showModelsNum: '显示 {{num}} 个模型',\n collapse: '收起',\n config: '配置',\n modelAndParameters: '模型及参数',\n model: '模型',\n featureSupported: '支持 {{feature}} 功能',\n callTimes: '调用次数',\n credits: '消息额度',\n buyQuota: '购买额度',\n getFreeTokens: '获得免费 Tokens',\n priorityUsing: '优先使用',\n deprecated: '已弃用',\n confirmDelete: '确认删除?',\n quotaTip: '剩余免费额度',\n loadPresets: '加载预设',\n parameters: '参数',\n loadBalancing: '负载均衡',\n loadBalancingDescription: '为了减轻单组凭据的压力,您可以为模型调用配置多组凭据。',\n loadBalancingHeadline: '负载均衡',\n configLoadBalancing: '设置负载均衡',\n modelHasBeenDeprecated: '该模型已废弃',\n providerManaged: '由模型供应商管理',\n providerManagedDescription: '使用模型供应商提供的单组凭据',\n defaultConfig: '默认配置',\n apiKeyStatusNormal: 'API Key 正常',\n apiKeyRateLimit: '已达频率上限,{{seconds}}秒后恢复',\n addConfig: '增加配置',\n editConfig: '修改配置',\n loadBalancingLeastKeyWarning: '至少启用 2 个 Key 以使用负载均衡',\n loadBalancingInfo: '默认情况下,负载平衡使用 Round-robin 策略。如果触发速率限制,将场景 1 分钟的冷却时间',\n upgradeForLoadBalancing: '升级以解锁负载均衡功能',\n },\n dataSource: {\n add: '添加数据源',\n connect: '绑定',\n configure: '配置',\n notion: {\n title: 'Notion',\n description: '使用 Notion 作为知识库的数据源。',\n connectedWorkspace: '已绑定工作空间',\n addWorkspace: '添加工作空间',\n connected: '已绑定',\n disconnected: '未绑定',\n changeAuthorizedPages: '更改授权页面',\n pagesAuthorized: '已授权页面',\n sync: '同步',\n remove: '删除',\n selector: {\n pageSelected: '已选页面',\n searchPages: '搜索页面...',\n noSearchResult: '无搜索结果',\n addPages: '添加页面',\n preview: '预览',\n },\n },\n website: {\n title: '网站',\n description: '使用网络爬虫从网站导入内容。',\n with: '使用',\n configuredCrawlers: '已配置的爬虫',\n active: '可用',\n inactive: '不可用',\n },\n },\n plugin: {\n serpapi: {\n apiKey: 'API Key',\n apiKeyPlaceholder: '输入你的 API 密钥',\n keyFrom: '从 SerpAPI 帐户页面获取您的 SerpAPI 密钥',\n },\n },\n apiBasedExtension: {\n title: 'API 扩展提供了一个集中式的 API 管理,在此统一添加 API 配置后,方便在 DinTal 上的各类场景中直接使用。',\n link: '了解如何开发您自己的 API 扩展。',\n linkUrl: 'https://docs.DinTal.ai/v/zh-hans/advanced/api_based_extension',\n add: '新增 API 扩展',\n selector: {\n title: 'API 扩展',\n placeholder: '请选择 API 扩展',\n manage: '管理 API 扩展',\n },\n modal: {\n title: '新增 API 扩展',\n editTitle: '编辑 API 扩展',\n name: {\n title: '名称',\n placeholder: '请输入名称',\n },\n apiEndpoint: {\n title: 'API Endpoint',\n placeholder: '请输入 API endpoint',\n },\n apiKey: {\n title: 'API-key',\n placeholder: '请输入 API-key',\n lengthError: 'API-key 不能少于 5 位',\n },\n },\n type: '类型',\n },\n about: {\n changeLog: '更新日志',\n updateNow: '现在更新',\n nowAvailable: 'DinTal {{version}} 现已可用。',\n latestAvailable: 'DinTal {{version}} 已是最新版本。',\n },\n appMenus: {\n overview: '监测',\n promptEng: '编排',\n apiAccess: '访问 API',\n logAndAnn: '日志与标注',\n logs: '日志',\n },\n environment: {\n testing: '测试环境',\n development: '开发环境',\n },\n appModes: {\n completionApp: '文本生成型场景',\n chatApp: '对话型场景',\n },\n datasetMenus: {\n documents: '文档',\n hitTesting: '召回测试',\n settings: '设置',\n emptyTip: ' 知识库尚未关联,请前往场景程序或插件完成关联。',\n viewDoc: '查看文档',\n relatedApp: '个关联场景',\n },\n voiceInput: {\n speaking: '现在讲...',\n converting: '正在转换为文本...',\n notAllow: '麦克风未授权',\n },\n modelName: {\n 'gpt-3.5-turbo': 'GPT-3.5-Turbo',\n 'gpt-3.5-turbo-16k': 'GPT-3.5-Turbo-16K',\n 'gpt-4': 'GPT-4',\n 'gpt-4-32k': 'GPT-4-32K',\n 'text-davinci-003': 'Text-Davinci-003',\n 'text-embedding-ada-002': 'Text-Embedding-Ada-002',\n 'whisper-1': 'Whisper-1',\n 'claude-instant-1': 'Claude-Instant',\n 'claude-2': 'Claude-2',\n },\n chat: {\n renameConversation: '重命名会话',\n conversationName: '会话名称',\n conversationNamePlaceholder: '请输入会话名称',\n conversationNameCanNotEmpty: '会话名称必填',\n citation: {\n title: '引用',\n linkToDataset: '跳转至知识库',\n characters: '字符:',\n hitCount: '召回次数:',\n vectorHash: '向量哈希:',\n hitScore: '召回得分:',\n },\n },\n promptEditor: {\n placeholder: '在这里写你的提示词,输入\\'{\\' 插入变量、输入\\'/\\' 插入提示内容块',\n context: {\n item: {\n title: '上下文',\n desc: '插入上下文模板',\n },\n modal: {\n title: '有 {{num}} 个知识库在上下文中',\n add: '添加上下文',\n footer: '您可以在下面的“上下文”部分中管理上下文。',\n },\n },\n history: {\n item: {\n title: '会话历史',\n desc: '插入历史消息模板',\n },\n modal: {\n title: '示例',\n user: '你好',\n assistant: '你好!今天我能为您提供什么帮助?',\n edit: '编辑对话角色名称',\n },\n },\n variable: {\n item: {\n title: '变量 & 外部工具',\n desc: '插入变量和外部工具',\n },\n outputToolDisabledItem: {\n title: '变量',\n desc: '插入变量',\n },\n modal: {\n add: '添加新变量',\n addTool: '添加工具',\n },\n },\n query: {\n item: {\n title: '查询内容',\n desc: '插入用户查询模板',\n },\n },\n existed: 'Prompt 中已存在',\n },\n imageUploader: {\n uploadFromComputer: '从本地上传',\n uploadFromComputerReadError: '图片读取失败,请重新选择。',\n uploadFromComputerUploadError: '图片上传失败,请重新上传。',\n uploadFromComputerLimit: '上传图片不能超过 {{size}} MB',\n pasteImageLink: '粘贴图片链接',\n pasteImageLinkInputPlaceholder: '将图像链接粘贴到此处',\n pasteImageLinkInvalid: '图片链接无效',\n imageUpload: '图片上传',\n },\n tag: {\n placeholder: '全部标签',\n addNew: '创建新标签',\n noTag: '没有标签',\n noTagYet: '还没有标签',\n addTag: '添加标签',\n editTag: '修改标签',\n manageTags: '管理标签',\n selectorPlaceholder: '搜索或者创建',\n create: '创建',\n delete: '删除标签',\n deleteTip: '标签正在使用中,是否删除?',\n created: '标签创建成功',\n failed: '标签创建失败',\n },\n}\n\nexport default translation\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/dataview.ts.json b/.lh/src/i18n/zh-Hans/dataview.ts.json new file mode 100644 index 0000000..340e253 --- /dev/null +++ b/.lh/src/i18n/zh-Hans/dataview.ts.json @@ -0,0 +1,30 @@ +{ + "sourceFile": "src/i18n/zh-Hans/dataview.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 3, + "patches": [ + { + "date": 1727249936425, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727249952162, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,20 +1,22 @@\n const translation = {\n dataViewer:{\n- \"entities\": \"Entities\",\n- \"relationships\": \"Relationships\",\n- \"documents\": \"Documents\",\n- \"textUnits\": \"TextUnits\",\n- \"communities\": \"Communities\",\n- \"communityReports\": \"Community Reports\",\n- \"covariates\": \"Covariates\",\n- \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n- \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n- \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n- \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n- \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n- \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n- \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n+ \"dataViewer.entities\": \"实体\",\n+ \"dataViewer.relationships\": \"关系\",\n+ \"dataViewer.documents\": \"文档\",\n+ \"dataViewer.textUnits\": \"文本单元\",\n+ \"dataViewer.communities\": \"社区\",\n+ \"dataViewer.communityReports\": \"社区报告\",\n+ \"dataViewer.covariates\": \"协变量\",\n+ \n+ \"dataViewer.entitiesTitle\": \"实体 (create_final_entities.parquet)\",\n+ \"dataViewer.relationshipsTitle\": \"关系 (create_final_relationships.parquet)\",\n+ \"dataViewer.documentsTitle\": \"文档 (create_final_documents.parquet)\",\n+ \"dataViewer.textUnitsTitle\": \"文本单元 (create_final_text_units.parquet)\",\n+ \"dataViewer.communitiesTitle\": \"社区 (create_final_communities.parquet)\",\n+ \"dataViewer.communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n+ \"dataViewer.covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n+ \n }\n }\n \n export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727250868845, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,22 +1,47 @@\n const translation = {\n dataViewer:{\n- \"dataViewer.entities\": \"实体\",\n- \"dataViewer.relationships\": \"关系\",\n- \"dataViewer.documents\": \"文档\",\n- \"dataViewer.textUnits\": \"文本单元\",\n- \"dataViewer.communities\": \"社区\",\n- \"dataViewer.communityReports\": \"社区报告\",\n- \"dataViewer.covariates\": \"协变量\",\n+ \"entities\": \"实体\",\n+ \"relationships\": \"关系\",\n+ \"documents\": \"文档\",\n+ \"textUnits\": \"文本单元\",\n+ \"communities\": \"社区\",\n+ \"communityReports\": \"社区报告\",\n+ \"covariates\": \"协变量\",\n \n- \"dataViewer.entitiesTitle\": \"实体 (create_final_entities.parquet)\",\n- \"dataViewer.relationshipsTitle\": \"关系 (create_final_relationships.parquet)\",\n- \"dataViewer.documentsTitle\": \"文档 (create_final_documents.parquet)\",\n- \"dataViewer.textUnitsTitle\": \"文本单元 (create_final_text_units.parquet)\",\n- \"dataViewer.communitiesTitle\": \"社区 (create_final_communities.parquet)\",\n- \"dataViewer.communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n- \"dataViewer.covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n+ \"entitiesTitle\": \"实体 (create_final_entities.parquet)\",\n+ \"relationshipsTitle\": \"关系 (create_final_relationships.parquet)\",\n+ \"documentsTitle\": \"文档 (create_final_documents.parquet)\",\n+ \"textUnitsTitle\": \"文本单元 (create_final_text_units.parquet)\",\n+ \"communitiesTitle\": \"社区 (create_final_communities.parquet)\",\n+ \"communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n+ \"covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n \n- }\n+ },\n+ const detailDrawer = {\n+ \"detailDrawer.nodeDetails\": \"节点详情:{{name}}\",\n+ \"detailDrawer.relationshipDetails\":\n+ \"(:{{sourceType}} {名称: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {名称: '{{targetName}}'})\",\n+ \"detailDrawer.nodeInformation\": \"节点信息\",\n+ \"detailDrawer.relationshipInformation\": \"关系信息\",\n+ \"detailDrawer.id\": \"ID\",\n+ \"detailDrawer.name\": \"名称\",\n+ \"detailDrawer.covariateType\": \"协变量类型\",\n+ \"detailDrawer.type\": \"类型\",\n+ \"detailDrawer.title\": \"标题\",\n+ \"detailDrawer.summary\": \"摘要\",\n+ \"detailDrawer.numberOfTokens\": \"令牌数量\",\n+ \"detailDrawer.description\": \"描述\",\n+ \"detailDrawer.humanReadableId\": \"可读 ID\",\n+ \"detailDrawer.rawContent\": \"原始内容\",\n+ \"detailDrawer.source\": \"源节点\",\n+ \"detailDrawer.target\": \"目标节点\",\n+ \"detailDrawer.weight\": \"权重\",\n+ \"detailDrawer.sourceDegree\": \"源节点度数\",\n+ \"detailDrawer.targetDegree\": \"目标节点度数\",\n+ \"detailDrawer.rank\": \"排名\",\n+ \"detailDrawer.linkedNodes\": \"关联节点\",\n+ \"detailDrawer.linkedRelationships\": \"关联关系\",\n+ }\n }\n \n export default translation;\n\\ No newline at end of file\n" + }, + { + "date": 1727250876701, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,32 +16,32 @@\n \"communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n \"covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n \n },\n- const detailDrawer = {\n- \"detailDrawer.nodeDetails\": \"节点详情:{{name}}\",\n- \"detailDrawer.relationshipDetails\":\n+ const detailDrawer: {\n+ \"nodeDetails\": \"节点详情:{{name}}\",\n+ \"relationshipDetails\":\n \"(:{{sourceType}} {名称: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {名称: '{{targetName}}'})\",\n- \"detailDrawer.nodeInformation\": \"节点信息\",\n- \"detailDrawer.relationshipInformation\": \"关系信息\",\n- \"detailDrawer.id\": \"ID\",\n- \"detailDrawer.name\": \"名称\",\n- \"detailDrawer.covariateType\": \"协变量类型\",\n- \"detailDrawer.type\": \"类型\",\n- \"detailDrawer.title\": \"标题\",\n- \"detailDrawer.summary\": \"摘要\",\n- \"detailDrawer.numberOfTokens\": \"令牌数量\",\n- \"detailDrawer.description\": \"描述\",\n- \"detailDrawer.humanReadableId\": \"可读 ID\",\n- \"detailDrawer.rawContent\": \"原始内容\",\n- \"detailDrawer.source\": \"源节点\",\n- \"detailDrawer.target\": \"目标节点\",\n- \"detailDrawer.weight\": \"权重\",\n- \"detailDrawer.sourceDegree\": \"源节点度数\",\n- \"detailDrawer.targetDegree\": \"目标节点度数\",\n- \"detailDrawer.rank\": \"排名\",\n- \"detailDrawer.linkedNodes\": \"关联节点\",\n- \"detailDrawer.linkedRelationships\": \"关联关系\",\n+ \"nodeInformation\": \"节点信息\",\n+ \"relationshipInformation\": \"关系信息\",\n+ \"id\": \"ID\",\n+ \"name\": \"名称\",\n+ \"covariateType\": \"协变量类型\",\n+ \"type\": \"类型\",\n+ \"title\": \"标题\",\n+ \"summary\": \"摘要\",\n+ \"numberOfTokens\": \"令牌数量\",\n+ \"description\": \"描述\",\n+ \"humanReadableId\": \"可读 ID\",\n+ \"rawContent\": \"原始内容\",\n+ \"source\": \"源节点\",\n+ \"target\": \"目标节点\",\n+ \"weight\": \"权重\",\n+ \"sourceDegree\": \"源节点度数\",\n+ \"targetDegree\": \"目标节点度数\",\n+ \"rank\": \"排名\",\n+ \"linkedNodes\": \"关联节点\",\n+ \"linkedRelationships\": \"关联关系\",\n }\n }\n \n export default translation;\n\\ No newline at end of file\n" + } + ], + "date": 1727249936425, + "name": "Commit-0", + "content": "const translation = {\n dataViewer:{\n \"entities\": \"Entities\",\n \"relationships\": \"Relationships\",\n \"documents\": \"Documents\",\n \"textUnits\": \"TextUnits\",\n \"communities\": \"Communities\",\n \"communityReports\": \"Community Reports\",\n \"covariates\": \"Covariates\",\n \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n }\n}\n \n export default translation;" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/dintal.ts.json b/.lh/src/i18n/zh-Hans/dintal.ts.json new file mode 100644 index 0000000..897a389 --- /dev/null +++ b/.lh/src/i18n/zh-Hans/dintal.ts.json @@ -0,0 +1,34 @@ +{ + "sourceFile": "src/i18n/zh-Hans/dintal.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 4, + "patches": [ + { + "date": 1727233673480, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727233688303, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,121 +1,7 @@\n const translation = {\n tabs: {\n },\n- stages: {\n- 'text': '文本',\n- 'resources': '资源',\n- 'start-ai-user-interaction': 'AI(扮顾客)说',\n- 'silent-answer': '学员(扮销售)默答',\n- 'thought-answer': '学员(扮销售)想答',\n- 'recited-answer': '学员(扮销售)背答',\n- 'real-time-evaluation': 'AI实时评价',\n- 'random-questioning': '随机提问',\n- 'ai-interaction': 'AI互动',\n- 'test-materials': '试题对',\n- 'golden-phrases': '金牌话术对',\n- 'ability-quadrant': '能力象限',\n- 'step-evaluation': '每步评价',\n- 'question-evaluation': '每题评价',\n- 'process-follow-up': '流程跟随',\n- 'zhipin': '智聘',\n- 'liepin': '猎聘',\n- 'recruit-ledger': '招聘台账',\n- 'search': '搜索列表',\n- 'jd-cv-match': '职位匹配简历',\n- 'hr-recited-answer': '询问术语',\n- 'hr-real-time-evaluation': '简历评估',\n- 'conversation': '邀约',\n- 'jd-build': '职位描述创建',\n- 'publise-evp': '发布EVP',\n- 'build-searchKey': '构建搜索关键词',\n- 'mapping': '候选人映射',\n- 'outreach-email': '外联邮件',\n- 'CV-evaluation': '简历摘要',\n- 'Onboarding-plan': '入职计划',\n- 'Question': '问题',\n- 'QuickReplies': '快速回复',\n- 'Name': '姓名',\n- 'Email': '电子邮件',\n- 'Phone': '电话',\n- 'Carousel': '轮播',\n- 'VoiceInput': '语音输入',\n- 'DynamicChat': '动态聊天',\n- 'Date': '日期',\n- 'StoreComment': '店铺评论',\n- 'Text': '文本',\n- 'Image': '图像',\n- 'Video': '视频',\n- 'File': '文件',\n- 'QuickRepliesMessage': '快速回复消息',\n- 'WhatsAppList': 'WhatsApp 列表',\n- 'WhatsappProductCatalogue': 'WhatsApp 产品目录',\n- 'Variables': '变量',\n- 'Database': '数据库',\n- 'API': 'API调用',\n- 'Function': '功能',\n- 'ExecuteFlow': '执行流程',\n- 'RaiseTicket': '提高票',\n- 'SendOTP': '发送一次性密码',\n- 'VerifyOTP': '验证一次性密码',\n- 'OutboundNotification': '出站通知',\n- 'NotificationStatus': '通知状态',\n- 'DataFormatter': '数据格式化程序',\n- 'SetLanguage': '设置语言',\n- 'VoiceCall': '语音通话',\n- 'Delay': '延迟',\n- 'Modifier': '修饰符',\n- 'SwitchFlow': '切换流量',\n- 'GeneratePDFImage': '生成 PDF/图像',\n- 'Analytics': '分析',\n- 'SendEvent': '发送事件',\n- 'KnowledgeSearch': '知识搜索',\n- 'Payment': '支付',\n- 'ConnectTransXT': '连接 TransXT',\n- 'SyncDatabase': '同步数据库',\n- 'UserEvent': '用户事件',\n- 'PromptExecutor': '提示执行者',\n- 'NameValidator': '名称验证器',\n- 'EmailValidator': '电子邮件验证器',\n- 'PhoneValidator': '电话验证器',\n- 'DateTimeValidator': '日期和时间验证器',\n- 'LocationValidator': '位置验证器',\n- 'FileValidator': '文件验证器',\n- 'PromptAI': '提示 AI',\n- 'Search': '搜索',\n- 'ResponseAI': 'AI响应',\n- 'SetAI': '设置AI',\n- 'Assigned': '已分配',\n- 'Close': '关闭',\n- 'Airpay': '航空支付',\n- 'AtlassianConnect': 'Atlassian 连接',\n- 'AzureActiveDirectory': 'Azure 活动目录',\n- 'BambooHR': '竹人力资源',\n- 'BilldeskEmailpay': 'Billdesk 电子邮件支付',\n- 'Billdesk': '帐单台',\n- 'Camspay': '支付宝',\n- 'CashfreePayments': '无现金支付',\n- 'EPICFHIR': '史诗 FHIR',\n- 'FreshserviceITSM': '新鲜服务 ITSM 解决方案',\n- 'Freshdesk': '新鲜桌面',\n- 'Freshteam': '新鲜团队',\n- 'GoogleCalendar': '谷歌日历',\n- 'GoogleIdentityManagement': '谷歌身份管理',\n- 'GoogleSheets': '谷歌表格',\n- 'CallToAction': '行动号召',\n- 'Message': '消息',\n- 'Card': '卡片',\n- 'Buttons': '按钮',\n- 'Choice': '选择',\n- 'Capture': '捕获',\n- 'Condition': '条件',\n- 'Set': '设置',\n- 'Random': '随机',\n- 'Component': '组件',\n- 'End': '结束',\n- 'Javascript': 'JavaScript',\n- 'CustomAction': '自定义动作',\n- },\n \n stageAbout: {\n 'text': '包括各种文字资源',\n 'resources': '资源管理和展示',\n" + }, + { + "date": 1727233699895, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,122 +1,7 @@\n const translation = {\n tabs: {\n },\n-\n- stageAbout: {\n- 'text': '包括各种文字资源',\n- 'resources': '资源管理和展示',\n- 'start-ai-user-interaction': 'AI 扮演用户并开始互动',\n- 'silent-answer': '学员默答阶段',\n- 'thought-answer': '学员通过思考作答',\n- 'recited-answer': '学员背诵作答',\n- 'real-time-evaluation': 'AI 对学员回答进行实时评价',\n- 'random-questioning': 'AI 随机向学员提问',\n- 'ai-interaction': 'AI 与学员互动',\n- 'test-materials': '提供试题资源',\n- 'golden-phrases': '金牌话术的资源',\n- 'ability-quadrant': '展示能力象限图表',\n- 'step-evaluation': '对每一步进行详细评价',\n- 'question-evaluation': '对每一道题目进行评价',\n- 'process-follow-up': '跟随整个流程的评价',\n- 'zhipin': '智聘平台的招聘前置流程,如登录,进入搜索页',\n- 'liepin': '猎聘平台的招聘前置流程,如登录,进入搜索页',\n- 'recruit-ledger': '记录并管理招聘过程中的台账',\n- 'search': '通过特定关键词搜索候选人列表',\n- 'jd-cv-match': '将职位描述与候选人简历进行匹配',\n- 'hr-recited-answer': '询问技术术语和岗位角色',\n- 'hr-real-time-evaluation': '实时评估候选人的简历',\n- 'conversation': '与候选人通过在线沟通要简历,沟通意向,邀约面试时间',\n- 'jd-build': '创建职位描述并发布招聘信息',\n- 'publise-evp': '发布雇主价值主张 (EVP)',\n- 'build-searchKey': '根据职位要求构建搜索关键词',\n- 'mapping': '将候选人映射到特定的职位需求',\n- 'outreach-email': '发送外联邮件与候选人建立联系',\n- 'CV-evaluation': '对候选人的简历进行评估并生成摘要',\n- 'Onboarding-plan': '制定候选人的入职计划并跟进',\n- 'Question': '提出查询并保存响应或触发意图',\n- 'QuickReplies': '显示问题以及快速回复按钮',\n- 'Name': '询问、验证并存储用户名',\n- 'Email': '询问、验证并存储用户电子邮件',\n- 'Phone': '询问、验证并存储电话号码',\n- 'Carousel': '显示带有按钮的交互式轮播卡',\n- 'VoiceInput': '提出查询并保存响应或触发意图',\n- 'DynamicChat': '编写提示以即时生成对话',\n- 'Date': '要求在日历上选择日期',\n- 'StoreComment': '询问并存储用户消息并存储状态响应',\n- 'Text': '发送简单的文本消息',\n- 'Image': '显示图像',\n- 'Video': '显示视频文件',\n- 'File': '显示文件',\n- 'QuickRepliesMessage': '显示快速回复按钮',\n- 'WhatsAppList': '配置WhatsApp频道上显示的列表',\n- 'WhatsappProductCatalogue': '用于发送单个/多个产品消息',\n- 'Variables': '设置一个或多个变量的值',\n- 'Database': '对数据库表进行插入、更新和搜索操作',\n- 'API': '调用 API,分配动态参数并存储响应',\n- 'Function': '执行为函数编写的自定义代码',\n- 'ExecuteFlow': '进入另一个流程',\n- 'RaiseTicket': '收集信息后将用户连接到代理',\n- 'SendOTP': '将 OTP 发送到电话号码',\n- 'VerifyOTP': '验证输入的 OTP',\n- 'OutboundNotification': '发送出站短信、电子邮件、whatsapp、语音通知',\n- 'NotificationStatus': '检查出站通知状态',\n- 'DataFormatter': '将数据从 CSV 转换为 JSON',\n- 'SetLanguage': '更改机器人的语言',\n- 'VoiceCall': '进行语音通话',\n- 'Delay': '在组件之间添加时间延迟',\n- 'Modifier': '修改输入变量并存储修改后的值',\n- 'SwitchFlow': '退出当前流程并启动另一个流程',\n- 'GeneratePDFImage': '生成具有动态详细信息的 PDF 或图像文件',\n- 'Analytics': '捕获分析数据',\n- 'SendEvent': '发送事件',\n- 'KnowledgeSearch': '从知识库中回答用户查询',\n- 'Payment': '生成支付链接',\n- 'ConnectTransXT': '连接 TransXT 功能',\n- 'SyncDatabase': '从外部源更新数据库',\n- 'UserEvent': '触发用户事件',\n- 'PromptExecutor': '执行 LLM 提示并流式传输响应',\n- 'NameValidator': '验证名称',\n- 'EmailValidator': '验证电子邮件',\n- 'PhoneValidator': '验证电话号码',\n- 'DateTimeValidator': '验证日期和时间',\n- 'LocationValidator': '验证用户位置',\n- 'FileValidator': '验证文件',\n- 'PromptAI': '根据上下文提示 AI 并将其转化为行动',\n- 'Search': '搜索人工智能资源',\n- 'ResponseAI': '使用AI生成响应',\n- 'SetAI': '配置AI相关设置',\n- 'Assigned': '对话首次分配给助理时执行',\n- 'Close': '关闭对话',\n- 'Airpay': '创建付款链接并检查状态',\n- 'AtlassianConnect': '管理来自 Yellow.ai 的 Atlassian 产品',\n- 'AzureActiveDirectory': '使用 Azure AD 启用 SSO、个性化和 IT 控制',\n- 'BambooHR': '通过 Bamboo HR 访问员工信息',\n- 'BilldeskEmailpay': '生成付款链接并检查状态',\n- 'Billdesk': '创建 UPI 意图并检查状态',\n- 'Camspay': '生成支付链接并监控支付状态',\n- 'CashfreePayments': '创建链接并检查状态',\n- 'EPICFHIR': '通过 Epic FHIR 访问医疗记录',\n- 'FreshserviceITSM': '获取有效票证、检查状态并创建新的 IT 票证',\n- 'Freshdesk': '创建/更新票证、获取详细信息、代理信息、添加注释和观察者',\n- 'Freshteam': '访问员工信息、管理休假时间并检索职位发布',\n- 'GoogleCalendar': '创建/读取事件并查找时间段来安排事件',\n- 'GoogleIdentityManagement': '启用 SSO、个性化和 IT 控制',\n- 'GoogleSheets': '读取/写入/更新 Google 表格中的数据',\n- 'CallToAction': '引导用户采取特定行动',\n- 'Message': '发送消息给客户',\n- 'Card': '发送卡片类型的消息',\n- 'Buttons': '显示按钮供用户选择',\n- 'Choice': '提供多个选项供用户选择',\n- 'Capture': '捕获用户输入的数据',\n- 'Condition': '根据条件执行不同操作',\n- 'Set': '设置变量或状态',\n- 'Random': '执行随机操作',\n- 'Component': '使用预定义组件',\n- 'End': '结束当前流程',\n- 'Javascript': '执行自定义JavaScript代码',\n- 'CustomAction': '执行自定义定义的动作',\n- },\n panel: {\n select: '请选择',\n \n },\n" + }, + { + "date": 1727233705622, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,11 +1,7 @@\n const translation = {\n tabs: {\n },\n- panel: {\n- select: '请选择',\n- \n- },\n common: {\n employee: '数智员工',\n career: '数智岗位/职业',\n knowledgegraph: '知识图谱'\n" + }, + { + "date": 1727233713204, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,13 +1,9 @@\n const translation = {\n- tabs: {\n- },\n common: {\n employee: '数智员工',\n career: '数智岗位/职业',\n knowledgegraph: '知识图谱'\n },\n- nodes: {\n- },\n }\n \n export default translation\n" + } + ], + "date": 1727233673480, + "name": "Commit-0", + "content": "const translation = {\n tabs: {\n },\n stages: {\n 'text': '文本',\n 'resources': '资源',\n 'start-ai-user-interaction': 'AI(扮顾客)说',\n 'silent-answer': '学员(扮销售)默答',\n 'thought-answer': '学员(扮销售)想答',\n 'recited-answer': '学员(扮销售)背答',\n 'real-time-evaluation': 'AI实时评价',\n 'random-questioning': '随机提问',\n 'ai-interaction': 'AI互动',\n 'test-materials': '试题对',\n 'golden-phrases': '金牌话术对',\n 'ability-quadrant': '能力象限',\n 'step-evaluation': '每步评价',\n 'question-evaluation': '每题评价',\n 'process-follow-up': '流程跟随',\n 'zhipin': '智聘',\n 'liepin': '猎聘',\n 'recruit-ledger': '招聘台账',\n 'search': '搜索列表',\n 'jd-cv-match': '职位匹配简历',\n 'hr-recited-answer': '询问术语',\n 'hr-real-time-evaluation': '简历评估',\n 'conversation': '邀约',\n 'jd-build': '职位描述创建',\n 'publise-evp': '发布EVP',\n 'build-searchKey': '构建搜索关键词',\n 'mapping': '候选人映射',\n 'outreach-email': '外联邮件',\n 'CV-evaluation': '简历摘要',\n 'Onboarding-plan': '入职计划',\n 'Question': '问题',\n 'QuickReplies': '快速回复',\n 'Name': '姓名',\n 'Email': '电子邮件',\n 'Phone': '电话',\n 'Carousel': '轮播',\n 'VoiceInput': '语音输入',\n 'DynamicChat': '动态聊天',\n 'Date': '日期',\n 'StoreComment': '店铺评论',\n 'Text': '文本',\n 'Image': '图像',\n 'Video': '视频',\n 'File': '文件',\n 'QuickRepliesMessage': '快速回复消息',\n 'WhatsAppList': 'WhatsApp 列表',\n 'WhatsappProductCatalogue': 'WhatsApp 产品目录',\n 'Variables': '变量',\n 'Database': '数据库',\n 'API': 'API调用',\n 'Function': '功能',\n 'ExecuteFlow': '执行流程',\n 'RaiseTicket': '提高票',\n 'SendOTP': '发送一次性密码',\n 'VerifyOTP': '验证一次性密码',\n 'OutboundNotification': '出站通知',\n 'NotificationStatus': '通知状态',\n 'DataFormatter': '数据格式化程序',\n 'SetLanguage': '设置语言',\n 'VoiceCall': '语音通话',\n 'Delay': '延迟',\n 'Modifier': '修饰符',\n 'SwitchFlow': '切换流量',\n 'GeneratePDFImage': '生成 PDF/图像',\n 'Analytics': '分析',\n 'SendEvent': '发送事件',\n 'KnowledgeSearch': '知识搜索',\n 'Payment': '支付',\n 'ConnectTransXT': '连接 TransXT',\n 'SyncDatabase': '同步数据库',\n 'UserEvent': '用户事件',\n 'PromptExecutor': '提示执行者',\n 'NameValidator': '名称验证器',\n 'EmailValidator': '电子邮件验证器',\n 'PhoneValidator': '电话验证器',\n 'DateTimeValidator': '日期和时间验证器',\n 'LocationValidator': '位置验证器',\n 'FileValidator': '文件验证器',\n 'PromptAI': '提示 AI',\n 'Search': '搜索',\n 'ResponseAI': 'AI响应',\n 'SetAI': '设置AI',\n 'Assigned': '已分配',\n 'Close': '关闭',\n 'Airpay': '航空支付',\n 'AtlassianConnect': 'Atlassian 连接',\n 'AzureActiveDirectory': 'Azure 活动目录',\n 'BambooHR': '竹人力资源',\n 'BilldeskEmailpay': 'Billdesk 电子邮件支付',\n 'Billdesk': '帐单台',\n 'Camspay': '支付宝',\n 'CashfreePayments': '无现金支付',\n 'EPICFHIR': '史诗 FHIR',\n 'FreshserviceITSM': '新鲜服务 ITSM 解决方案',\n 'Freshdesk': '新鲜桌面',\n 'Freshteam': '新鲜团队',\n 'GoogleCalendar': '谷歌日历',\n 'GoogleIdentityManagement': '谷歌身份管理',\n 'GoogleSheets': '谷歌表格',\n 'CallToAction': '行动号召',\n 'Message': '消息',\n 'Card': '卡片',\n 'Buttons': '按钮',\n 'Choice': '选择',\n 'Capture': '捕获',\n 'Condition': '条件',\n 'Set': '设置',\n 'Random': '随机',\n 'Component': '组件',\n 'End': '结束',\n 'Javascript': 'JavaScript',\n 'CustomAction': '自定义动作',\n },\n\n stageAbout: {\n 'text': '包括各种文字资源',\n 'resources': '资源管理和展示',\n 'start-ai-user-interaction': 'AI 扮演用户并开始互动',\n 'silent-answer': '学员默答阶段',\n 'thought-answer': '学员通过思考作答',\n 'recited-answer': '学员背诵作答',\n 'real-time-evaluation': 'AI 对学员回答进行实时评价',\n 'random-questioning': 'AI 随机向学员提问',\n 'ai-interaction': 'AI 与学员互动',\n 'test-materials': '提供试题资源',\n 'golden-phrases': '金牌话术的资源',\n 'ability-quadrant': '展示能力象限图表',\n 'step-evaluation': '对每一步进行详细评价',\n 'question-evaluation': '对每一道题目进行评价',\n 'process-follow-up': '跟随整个流程的评价',\n 'zhipin': '智聘平台的招聘前置流程,如登录,进入搜索页',\n 'liepin': '猎聘平台的招聘前置流程,如登录,进入搜索页',\n 'recruit-ledger': '记录并管理招聘过程中的台账',\n 'search': '通过特定关键词搜索候选人列表',\n 'jd-cv-match': '将职位描述与候选人简历进行匹配',\n 'hr-recited-answer': '询问技术术语和岗位角色',\n 'hr-real-time-evaluation': '实时评估候选人的简历',\n 'conversation': '与候选人通过在线沟通要简历,沟通意向,邀约面试时间',\n 'jd-build': '创建职位描述并发布招聘信息',\n 'publise-evp': '发布雇主价值主张 (EVP)',\n 'build-searchKey': '根据职位要求构建搜索关键词',\n 'mapping': '将候选人映射到特定的职位需求',\n 'outreach-email': '发送外联邮件与候选人建立联系',\n 'CV-evaluation': '对候选人的简历进行评估并生成摘要',\n 'Onboarding-plan': '制定候选人的入职计划并跟进',\n 'Question': '提出查询并保存响应或触发意图',\n 'QuickReplies': '显示问题以及快速回复按钮',\n 'Name': '询问、验证并存储用户名',\n 'Email': '询问、验证并存储用户电子邮件',\n 'Phone': '询问、验证并存储电话号码',\n 'Carousel': '显示带有按钮的交互式轮播卡',\n 'VoiceInput': '提出查询并保存响应或触发意图',\n 'DynamicChat': '编写提示以即时生成对话',\n 'Date': '要求在日历上选择日期',\n 'StoreComment': '询问并存储用户消息并存储状态响应',\n 'Text': '发送简单的文本消息',\n 'Image': '显示图像',\n 'Video': '显示视频文件',\n 'File': '显示文件',\n 'QuickRepliesMessage': '显示快速回复按钮',\n 'WhatsAppList': '配置WhatsApp频道上显示的列表',\n 'WhatsappProductCatalogue': '用于发送单个/多个产品消息',\n 'Variables': '设置一个或多个变量的值',\n 'Database': '对数据库表进行插入、更新和搜索操作',\n 'API': '调用 API,分配动态参数并存储响应',\n 'Function': '执行为函数编写的自定义代码',\n 'ExecuteFlow': '进入另一个流程',\n 'RaiseTicket': '收集信息后将用户连接到代理',\n 'SendOTP': '将 OTP 发送到电话号码',\n 'VerifyOTP': '验证输入的 OTP',\n 'OutboundNotification': '发送出站短信、电子邮件、whatsapp、语音通知',\n 'NotificationStatus': '检查出站通知状态',\n 'DataFormatter': '将数据从 CSV 转换为 JSON',\n 'SetLanguage': '更改机器人的语言',\n 'VoiceCall': '进行语音通话',\n 'Delay': '在组件之间添加时间延迟',\n 'Modifier': '修改输入变量并存储修改后的值',\n 'SwitchFlow': '退出当前流程并启动另一个流程',\n 'GeneratePDFImage': '生成具有动态详细信息的 PDF 或图像文件',\n 'Analytics': '捕获分析数据',\n 'SendEvent': '发送事件',\n 'KnowledgeSearch': '从知识库中回答用户查询',\n 'Payment': '生成支付链接',\n 'ConnectTransXT': '连接 TransXT 功能',\n 'SyncDatabase': '从外部源更新数据库',\n 'UserEvent': '触发用户事件',\n 'PromptExecutor': '执行 LLM 提示并流式传输响应',\n 'NameValidator': '验证名称',\n 'EmailValidator': '验证电子邮件',\n 'PhoneValidator': '验证电话号码',\n 'DateTimeValidator': '验证日期和时间',\n 'LocationValidator': '验证用户位置',\n 'FileValidator': '验证文件',\n 'PromptAI': '根据上下文提示 AI 并将其转化为行动',\n 'Search': '搜索人工智能资源',\n 'ResponseAI': '使用AI生成响应',\n 'SetAI': '配置AI相关设置',\n 'Assigned': '对话首次分配给助理时执行',\n 'Close': '关闭对话',\n 'Airpay': '创建付款链接并检查状态',\n 'AtlassianConnect': '管理来自 Yellow.ai 的 Atlassian 产品',\n 'AzureActiveDirectory': '使用 Azure AD 启用 SSO、个性化和 IT 控制',\n 'BambooHR': '通过 Bamboo HR 访问员工信息',\n 'BilldeskEmailpay': '生成付款链接并检查状态',\n 'Billdesk': '创建 UPI 意图并检查状态',\n 'Camspay': '生成支付链接并监控支付状态',\n 'CashfreePayments': '创建链接并检查状态',\n 'EPICFHIR': '通过 Epic FHIR 访问医疗记录',\n 'FreshserviceITSM': '获取有效票证、检查状态并创建新的 IT 票证',\n 'Freshdesk': '创建/更新票证、获取详细信息、代理信息、添加注释和观察者',\n 'Freshteam': '访问员工信息、管理休假时间并检索职位发布',\n 'GoogleCalendar': '创建/读取事件并查找时间段来安排事件',\n 'GoogleIdentityManagement': '启用 SSO、个性化和 IT 控制',\n 'GoogleSheets': '读取/写入/更新 Google 表格中的数据',\n 'CallToAction': '引导用户采取特定行动',\n 'Message': '发送消息给客户',\n 'Card': '发送卡片类型的消息',\n 'Buttons': '显示按钮供用户选择',\n 'Choice': '提供多个选项供用户选择',\n 'Capture': '捕获用户输入的数据',\n 'Condition': '根据条件执行不同操作',\n 'Set': '设置变量或状态',\n 'Random': '执行随机操作',\n 'Component': '使用预定义组件',\n 'End': '结束当前流程',\n 'Javascript': '执行自定义JavaScript代码',\n 'CustomAction': '执行自定义定义的动作',\n },\n panel: {\n select: '请选择',\n \n },\n common: {\n employee: '数智员工',\n career: '数智岗位/职业',\n knowledgegraph: '知识图谱'\n },\n nodes: {\n },\n}\n\nexport default translation\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/graphViewer.ts.json b/.lh/src/i18n/zh-Hans/graphViewer.ts.json new file mode 100644 index 0000000..ad382f8 --- /dev/null +++ b/.lh/src/i18n/zh-Hans/graphViewer.ts.json @@ -0,0 +1,58 @@ +{ + "sourceFile": "src/i18n/zh-Hans/graphViewer.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 10, + "patches": [ + { + "date": 1727241126503, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727244164770, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,4 +1,41 @@\n+const translation = {\n+ graphViewer: {\n+ \"searchNodesLinks\": \"Search Nodes/Links\",\n+ \"view3D\": \"3D View\",\n+ \"showNodeLabels\": \"Show Node Labels\",\n+ \"showLinkLabels\": \"Show Link Labels\",\n+ \"showHighlight\": \"Show Highlight\",\n+ \"includeDocuments\": \"Include Documents\",\n+ \"includeTextUnits\": \"Include Text Units\",\n+ \"includeCommunities\": \"Include Communities\",\n+ \"includeCovariates\": \"Include Covariates\",\n+ \"askQuery\": \"Ask Query (Local/Global Search)\",\n+ \"clearQueryResults\": \"Clear Query Results\",\n+ \"exitFullScreen\": \"Exit Full Screen\",\n+ \"fullScreen\": \"Full Screen\",\n+ \"nodes\": \"Nodes\",\n+ \"relationships\": \"Relationships\",\n+ // 添加其他需要的键值对\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"Enter search query for API\",\n+ \"localSearch\": \"Local Search\",\n+ \"globalSearch\": \"Global Search\",\n+ \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"searchResults\": \"Search Results\",\n+ \"metadata\": \"Metadata\",\n+ \"completionTime\": \"Completion Time:\",\n+ \"llmCalls\": \"LLM Calls:\",\n+ \"promptTokens\": \"Prompt Tokens:\",\n+ \"noDataAvailable\": \"No data available\",\n+ },\n+}\n+ \n+export default translation;\n const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n \"graphViewer.view3D\": \"3D 视图\",\n \"graphViewer.showNodeLabels\": \"显示节点标签\",\n" + }, + { + "date": 1727244173469, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -35,23 +35,8 @@\n }\n \n export default translation;\n const graphViewer = {\n- \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n- \"graphViewer.view3D\": \"3D 视图\",\n- \"graphViewer.showNodeLabels\": \"显示节点标签\",\n- \"graphViewer.showLinkLabels\": \"显示关系标签\",\n- \"graphViewer.showHighlight\": \"显示高亮\",\n- \"graphViewer.includeDocuments\": \"包含文档\",\n- \"graphViewer.includeTextUnits\": \"包含文本单元\",\n- \"graphViewer.includeCommunities\": \"包含社区\",\n- \"graphViewer.includeCovariates\": \"包含协变量\",\n- \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n- \"graphViewer.clearQueryResults\": \"清除查询结果\",\n- \"graphViewer.exitFullScreen\": \"退出全屏\",\n- \"graphViewer.fullScreen\": \"全屏\",\n- \"graphViewer.nodes\": \"节点\",\n- \"graphViewer.relationships\": \"关系\",\n // 添加其他需要的键值对\n };\n \n export default graphViewer;\n" + }, + { + "date": 1727244179645, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,10 +34,5 @@\n },\n }\n \n export default translation;\n-const graphViewer = {\n- // 添加其他需要的键值对\n- };\n- \n- export default graphViewer;\n \n\\ No newline at end of file\n" + }, + { + "date": 1727244187969, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,22 +1,21 @@\n const translation = {\n graphViewer: {\n- \"searchNodesLinks\": \"Search Nodes/Links\",\n- \"view3D\": \"3D View\",\n- \"showNodeLabels\": \"Show Node Labels\",\n- \"showLinkLabels\": \"Show Link Labels\",\n- \"showHighlight\": \"Show Highlight\",\n- \"includeDocuments\": \"Include Documents\",\n- \"includeTextUnits\": \"Include Text Units\",\n- \"includeCommunities\": \"Include Communities\",\n- \"includeCovariates\": \"Include Covariates\",\n- \"askQuery\": \"Ask Query (Local/Global Search)\",\n- \"clearQueryResults\": \"Clear Query Results\",\n- \"exitFullScreen\": \"Exit Full Screen\",\n- \"fullScreen\": \"Full Screen\",\n- \"nodes\": \"Nodes\",\n- \"relationships\": \"Relationships\",\n- // 添加其他需要的键值对\n+ \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n+ \"graphViewer.view3D\": \"3D 视图\",\n+ \"graphViewer.showNodeLabels\": \"显示节点标签\",\n+ \"graphViewer.showLinkLabels\": \"显示关系标签\",\n+ \"graphViewer.showHighlight\": \"显示高亮\",\n+ \"graphViewer.includeDocuments\": \"包含文档\",\n+ \"graphViewer.includeTextUnits\": \"包含文本单元\",\n+ \"graphViewer.includeCommunities\": \"包含社区\",\n+ \"graphViewer.includeCovariates\": \"包含协变量\",\n+ \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n+ \"graphViewer.clearQueryResults\": \"清除查询结果\",\n+ \"graphViewer.exitFullScreen\": \"退出全屏\",\n+ \"graphViewer.fullScreen\": \"全屏\",\n+ \"graphViewer.nodes\": \"节点\",\n+ \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n \"placeholder\": \"Enter search query for API\",\n \"localSearch\": \"Local Search\",\n" + }, + { + "date": 1727244202489, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,22 +16,26 @@\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n- \"placeholder\": \"Enter search query for API\",\n- \"localSearch\": \"Local Search\",\n- \"globalSearch\": \"Global Search\",\n- \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n- \"graphragApi\": \"graphrag-api\",\n- \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n- \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n- \"searchResults\": \"Search Results\",\n- \"metadata\": \"Metadata\",\n- \"completionTime\": \"Completion Time:\",\n- \"llmCalls\": \"LLM Calls:\",\n- \"promptTokens\": \"Prompt Tokens:\",\n- \"noDataAvailable\": \"No data available\",\n- },\n+ const apiSearchDrawer = {\n+ \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n+ \"apiSearchDrawer.localSearch\": \"本地搜索\",\n+ \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n+ \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n+ \"apiSearchDrawer.enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"apiSearchDrawer.enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"apiSearchDrawer.searchResults\": \"搜索结果\",\n+ \"apiSearchDrawer.metadata\": \"元数据\",\n+ \"apiSearchDrawer.completionTime\": \"完成时间:\",\n+ \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n+ \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n+ \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n+ };\n+ \n+ export default apiSearchDrawer;\n+ },\n }\n \n export default translation;\n \n\\ No newline at end of file\n" + }, + { + "date": 1727244208879, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,8 @@\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n- const apiSearchDrawer = {\n \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n \"apiSearchDrawer.localSearch\": \"本地搜索\",\n \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n" + }, + { + "date": 1727244217526, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -29,11 +29,8 @@\n \"apiSearchDrawer.completionTime\": \"完成时间:\",\n \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n- };\n- \n- export default apiSearchDrawer;\n },\n }\n \n export default translation;\n" + }, + { + "date": 1727244226422, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,22 +16,22 @@\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n- \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n- \"apiSearchDrawer.localSearch\": \"本地搜索\",\n- \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n- \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n- \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n- \"apiSearchDrawer.enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n- \"apiSearchDrawer.enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n- \"apiSearchDrawer.searchResults\": \"搜索结果\",\n- \"apiSearchDrawer.metadata\": \"元数据\",\n- \"apiSearchDrawer.completionTime\": \"完成时间:\",\n- \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n- \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n- \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n- },\n+ \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n+ \"apiSearchDrawer.localSearch\": \"本地搜索\",\n+ \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n+ \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n+ \"apiSearchDrawer.enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"apiSearchDrawer.enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"apiSearchDrawer.searchResults\": \"搜索结果\",\n+ \"apiSearchDrawer.metadata\": \"元数据\",\n+ \"apiSearchDrawer.completionTime\": \"完成时间:\",\n+ \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n+ \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n+ \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n+ },\n }\n \n export default translation;\n \n\\ No newline at end of file\n" + }, + { + "date": 1727244233431, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,37 @@\n+const translation = {\n+ graphViewer: {\n+ \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n+ \"graphViewer.view3D\": \"3D 视图\",\n+ \"graphViewer.showNodeLabels\": \"显示节点标签\",\n+ \"graphViewer.showLinkLabels\": \"显示关系标签\",\n+ \"graphViewer.showHighlight\": \"显示高亮\",\n+ \"graphViewer.includeDocuments\": \"包含文档\",\n+ \"graphViewer.includeTextUnits\": \"包含文本单元\",\n+ \"graphViewer.includeCommunities\": \"包含社区\",\n+ \"graphViewer.includeCovariates\": \"包含协变量\",\n+ \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n+ \"graphViewer.clearQueryResults\": \"清除查询结果\",\n+ \"graphViewer.exitFullScreen\": \"退出全屏\",\n+ \"graphViewer.fullScreen\": \"全屏\",\n+ \"graphViewer.nodes\": \"节点\",\n+ \"graphViewer.relationships\": \"关系\",\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"输入 API 搜索查询\",\n+ \"localSearch\": \"本地搜索\",\n+ \"globalSearch\": \"全局搜索\",\n+ \"serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"searchResults\": \"搜索结果\",\n+ \"metadata\": \"元数据\",\n+ \"completionTime\": \"完成时间:\",\n+ \"llmCalls\": \"LLM 调用次数:\",\n+ \"promptTokens\": \"提示令牌数:\",\n+ \"noDataAvailable\": \"无可用数据\",\n+ },\n+}\n+ \n+export default translation;\n+ \n\\ No newline at end of file\n" + }, + { + "date": 1727244240842, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,37 @@\n+const translation = {\n+ graphViewer: {\n+ \"searchNodesLinks\": \"搜索节点/关系\",\n+ \"view3D\": \"3D 视图\",\n+ \"showNodeLabels\": \"显示节点标签\",\n+ \"showLinkLabels\": \"显示关系标签\",\n+ \"showHighlight\": \"显示高亮\",\n+ \"includeDocuments\": \"包含文档\",\n+ \"includeTextUnits\": \"包含文本单元\",\n+ \"includeCommunities\": \"包含社区\",\n+ \"includeCovariates\": \"包含协变量\",\n+ \"askQuery\": \"查询(本地/全局搜索)\",\n+ \"clearQueryResults\": \"清除查询结果\",\n+ \"exitFullScreen\": \"退出全屏\",\n+ \"fullScreen\": \"全屏\",\n+ \"nodes\": \"节点\",\n+ \"relationships\": \"关系\",\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"输入 API 搜索查询\",\n+ \"localSearch\": \"本地搜索\",\n+ \"globalSearch\": \"全局搜索\",\n+ \"serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"searchResults\": \"搜索结果\",\n+ \"metadata\": \"元数据\",\n+ \"completionTime\": \"完成时间:\",\n+ \"llmCalls\": \"LLM 调用次数:\",\n+ \"promptTokens\": \"提示令牌数:\",\n+ \"noDataAvailable\": \"无可用数据\",\n+ },\n+}\n+ \n+export default translation;\n+ \n\\ No newline at end of file\n" + } + ], + "date": 1727241126503, + "name": "Commit-0", + "content": "const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n \"graphViewer.view3D\": \"3D 视图\",\n \"graphViewer.showNodeLabels\": \"显示节点标签\",\n \"graphViewer.showLinkLabels\": \"显示关系标签\",\n \"graphViewer.showHighlight\": \"显示高亮\",\n \"graphViewer.includeDocuments\": \"包含文档\",\n \"graphViewer.includeTextUnits\": \"包含文本单元\",\n \"graphViewer.includeCommunities\": \"包含社区\",\n \"graphViewer.includeCovariates\": \"包含协变量\",\n \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n \"graphViewer.clearQueryResults\": \"清除查询结果\",\n \"graphViewer.exitFullScreen\": \"退出全屏\",\n \"graphViewer.fullScreen\": \"全屏\",\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n // 添加其他需要的键值对\n };\n \n export default graphViewer;\n " + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/introduction.ts.json b/.lh/src/i18n/zh-Hans/introduction.ts.json new file mode 100644 index 0000000..1cb7902 --- /dev/null +++ b/.lh/src/i18n/zh-Hans/introduction.ts.json @@ -0,0 +1,34 @@ +{ + "sourceFile": "src/i18n/zh-Hans/introduction.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 4, + "patches": [ + { + "date": 1727240676388, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727240751697, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-{\n+const translation = {\n+ {\n \"introduction.welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n \"introduction.overview\": \"概述\",\n \"introduction.overviewDescription\": \"该应用程序可视化微软\",\n \"introduction.overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n" + }, + { + "date": 1727240756717, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,39 +1,38 @@\n const translation = {\n- {\n- \"introduction.welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n- \"introduction.overview\": \"概述\",\n- \"introduction.overviewDescription\": \"该应用程序可视化微软\",\n- \"introduction.overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n- \"introduction.demoImageAlt\": \"演示\",\n- \"introduction.features\": \"功能\",\n- \"introduction.feature1Title\": \"图形可视化:\",\n- \"introduction.feature1Description\": \"在“图形可视化”选项卡中以 2D 或 3D 查看图形。\",\n- \"introduction.feature2Title\": \"数据表:\",\n- \"introduction.feature2Description\": \"在“数据表”选项卡中显示 parquet 文件中的数据。\",\n- \"introduction.feature3Title\": \"搜索功能:\",\n- \"introduction.feature3Description\": \"完全支持搜索,允许用户专注于特定的节点或关系。\",\n- \"introduction.feature4Title\": \"本地处理:\",\n- \"introduction.feature4Description\": \"您的文件将在本地机器上处理,不会上传到任何地方,确保您的数据安全和私密。\",\n- \"introduction.usingSearchFunctionality\": \"使用搜索功能\",\n- \"introduction.searchDescription1\": \"一旦\",\n- \"introduction.searchDescription2\": \"服务器启动并运行,您可以直接通过 GraphRAG 可视化工具执行搜索。这使您可以轻松搜索和探索托管在本地服务器上的数据。\",\n- \"introduction.searchImageAlt\": \"搜索\",\n- \"introduction.graphDataModel\": \"图形数据模型\",\n- \"introduction.graphDataModelDescription\": \"创建文本单元、文档、社区和协变量的关系逻辑来自\",\n- \"introduction.graphDataModelLinkText\": \"GraphRAG 导入 Neo4j Cypher 笔记本\",\n- \"introduction.nodes\": \"节点\",\n- \"introduction.node\": \"节点\",\n- \"introduction.type\": \"类型\",\n- \"introduction.document\": \"文档\",\n- \"introduction.textUnit\": \"文本单元\",\n- \"introduction.community\": \"社区\",\n- \"introduction.finding\": \"发现\",\n- \"introduction.covariate\": \"协变量\",\n- \"introduction.entity\": \"实体\",\n- \"introduction.varies\": \"多种\",\n- \"introduction.relationships\": \"关系\",\n- \"introduction.sourceNode\": \"源节点\",\n- \"introduction.relationship\": \"关系\",\n- \"introduction.targetNode\": \"目标节点\"\n+ \"welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n+ \"overview\": \"概述\",\n+ \"overviewDescription\": \"该应用程序可视化微软\",\n+ \"overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n+ \"demoImageAlt\": \"演示\",\n+ \"features\": \"功能\",\n+ \"feature1Title\": \"图形可视化:\",\n+ \"feature1Description\": \"在“图形可视化”选项卡中以 2D 或 3D 查看图形。\",\n+ \"feature2Title\": \"数据表:\",\n+ \"feature2Description\": \"在“数据表”选项卡中显示 parquet 文件中的数据。\",\n+ \"feature3Title\": \"搜索功能:\",\n+ \"feature3Description\": \"完全支持搜索,允许用户专注于特定的节点或关系。\",\n+ \"feature4Title\": \"本地处理:\",\n+ \"feature4Description\": \"您的文件将在本地机器上处理,不会上传到任何地方,确保您的数据安全和私密。\",\n+ \"usingSearchFunctionality\": \"使用搜索功能\",\n+ \"searchDescription1\": \"一旦\",\n+ \"searchDescription2\": \"服务器启动并运行,您可以直接通过 GraphRAG 可视化工具执行搜索。这使您可以轻松搜索和探索托管在本地服务器上的数据。\",\n+ \"searchImageAlt\": \"搜索\",\n+ \"graphDataModel\": \"图形数据模型\",\n+ \"graphDataModelDescription\": \"创建文本单元、文档、社区和协变量的关系逻辑来自\",\n+ \"graphDataModelLinkText\": \"GraphRAG 导入 Neo4j Cypher 笔记本\",\n+ \"nodes\": \"节点\",\n+ \"node\": \"节点\",\n+ \"type\": \"类型\",\n+ \"document\": \"文档\",\n+ \"textUnit\": \"文本单元\",\n+ \"community\": \"社区\",\n+ \"finding\": \"发现\",\n+ \"covariate\": \"协变量\",\n+ \"entity\": \"实体\",\n+ \"varies\": \"多种\",\n+ \"relationships\": \"关系\",\n+ \"sourceNode\": \"源节点\",\n+ \"relationship\": \"关系\",\n+ \"targetNode\": \"目标节点\"\n }\n \n\\ No newline at end of file\n" + }, + { + "date": 1727240782603, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,5 +34,6 @@\n \"sourceNode\": \"源节点\",\n \"relationship\": \"关系\",\n \"targetNode\": \"目标节点\"\n }\n+ \n \n\\ No newline at end of file\n" + }, + { + "date": 1727240787768, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -33,7 +33,7 @@\n \"relationships\": \"关系\",\n \"sourceNode\": \"源节点\",\n \"relationship\": \"关系\",\n \"targetNode\": \"目标节点\"\n- }\n+}\n \n\\ No newline at end of file\n- \n+export default translation\n" + } + ], + "date": 1727240676388, + "name": "Commit-0", + "content": "{\n \"introduction.welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n \"introduction.overview\": \"概述\",\n \"introduction.overviewDescription\": \"该应用程序可视化微软\",\n \"introduction.overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n \"introduction.demoImageAlt\": \"演示\",\n \"introduction.features\": \"功能\",\n \"introduction.feature1Title\": \"图形可视化:\",\n \"introduction.feature1Description\": \"在“图形可视化”选项卡中以 2D 或 3D 查看图形。\",\n \"introduction.feature2Title\": \"数据表:\",\n \"introduction.feature2Description\": \"在“数据表”选项卡中显示 parquet 文件中的数据。\",\n \"introduction.feature3Title\": \"搜索功能:\",\n \"introduction.feature3Description\": \"完全支持搜索,允许用户专注于特定的节点或关系。\",\n \"introduction.feature4Title\": \"本地处理:\",\n \"introduction.feature4Description\": \"您的文件将在本地机器上处理,不会上传到任何地方,确保您的数据安全和私密。\",\n \"introduction.usingSearchFunctionality\": \"使用搜索功能\",\n \"introduction.searchDescription1\": \"一旦\",\n \"introduction.searchDescription2\": \"服务器启动并运行,您可以直接通过 GraphRAG 可视化工具执行搜索。这使您可以轻松搜索和探索托管在本地服务器上的数据。\",\n \"introduction.searchImageAlt\": \"搜索\",\n \"introduction.graphDataModel\": \"图形数据模型\",\n \"introduction.graphDataModelDescription\": \"创建文本单元、文档、社区和协变量的关系逻辑来自\",\n \"introduction.graphDataModelLinkText\": \"GraphRAG 导入 Neo4j Cypher 笔记本\",\n \"introduction.nodes\": \"节点\",\n \"introduction.node\": \"节点\",\n \"introduction.type\": \"类型\",\n \"introduction.document\": \"文档\",\n \"introduction.textUnit\": \"文本单元\",\n \"introduction.community\": \"社区\",\n \"introduction.finding\": \"发现\",\n \"introduction.covariate\": \"协变量\",\n \"introduction.entity\": \"实体\",\n \"introduction.varies\": \"多种\",\n \"introduction.relationships\": \"关系\",\n \"introduction.sourceNode\": \"源节点\",\n \"introduction.relationship\": \"关系\",\n \"introduction.targetNode\": \"目标节点\"\n }\n " + } + ] +} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/layout.ts.json b/.lh/src/i18n/zh-Hans/layout.ts.json new file mode 100644 index 0000000..1d9d484 --- /dev/null +++ b/.lh/src/i18n/zh-Hans/layout.ts.json @@ -0,0 +1,90 @@ +{ + "sourceFile": "src/i18n/zh-Hans/layout.ts", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 18, + "patches": [ + { + "date": 1727233774313, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727234902576, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,10 @@\n const translation = {\n tabs: {\n },\n- }\n+ \"tooltip\": {\n+ \"turnOnLight\": \"Turn on the light\",\n+ \"turnOffLight\": \"Turn off the light\"\n+ }\n+ }\n \n export default translation\n" + }, + { + "date": 1727234908267, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -4,7 +4,7 @@\n \"tooltip\": {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n- }\n+ }\n \n export default translation\n" + }, + { + "date": 1727234915664, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,10 +1,10 @@\n const translation = {\n tabs: {\n },\n- \"tooltip\": {\n+ tooltip\": {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n- }\n+}\n \n export default translation\n" + }, + { + "date": 1727234938200, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,12 @@\n const translation = {\n tabs: {\n },\n- tooltip\": {\n+ \"tooltip\": {\n+ \"turnOnLight\": \"打开灯光\",\n+ \"turnOffLight\": \"关闭灯光\"\n+ }\n+ tooltip: {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n }\n" + }, + { + "date": 1727234943564, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,12 +1,12 @@\n const translation = {\n tabs: {\n },\n- \"tooltip\": {\n+ tooltip\": {\n \"turnOnLight\": \"打开灯光\",\n \"turnOffLight\": \"关闭灯光\"\n }\n- tooltip: {\n+ tooltip: {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n }\n" + }, + { + "date": 1727234950573, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,14 +1,10 @@\n const translation = {\n tabs: {\n },\n- tooltip\": {\n+ tooltip: {\n \"turnOnLight\": \"打开灯光\",\n \"turnOffLight\": \"关闭灯光\"\n }\n- tooltip: {\n- \"turnOnLight\": \"Turn on the light\",\n- \"turnOffLight\": \"Turn off the light\"\n- }\n }\n \n export default translation\n" + }, + { + "date": 1727235039755, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n const translation = {\n tabs: {\n },\n tooltip: {\n- \"turnOnLight\": \"打开灯光\",\n+ \"turnOnLight\": \"打开光\",\n \"turnOffLight\": \"关闭灯光\"\n }\n }\n \n" + }, + { + "date": 1727235045188, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n const translation = {\n tabs: {\n },\n tooltip: {\n- \"turnOnLight\": \"打开光\",\n+ \"turnOnLight\": \"亮\",\n \"turnOffLight\": \"关闭灯光\"\n }\n }\n \n" + }, + { + "date": 1727235051700, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -2,9 +2,9 @@\n tabs: {\n },\n tooltip: {\n \"turnOnLight\": \"亮\",\n- \"turnOffLight\": \"关闭灯光\"\n+ \"turnOffLight\": \"\"\n }\n }\n \n export default translation\n" + }, + { + "date": 1727235249312, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,13 @@\n+const translation = {\n+ tabs: {\n+ \"uploadArtifacts\": \"上传文件\",\n+ \"graphVisualization\": \"图形可视化\",\n+ \"dataTables\": \"数据表\"\n+ },\n+ tooltip: {\n+ \"turnOnLight\": \"亮\",\n+ \"turnOffLight\": \"暗\"\n+ }\n+}\n+\n+export default translation\n" + }, + { + "date": 1727236026055, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,8 @@\n const translation = {\n tabs: {\n \"uploadArtifacts\": \"上传文件\",\n- \"graphVisualization\": \"图形可视化\",\n+ \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n \"turnOnLight\": \"亮\",\n@@ -10,14 +10,4 @@\n }\n }\n \n export default translation\n-const translation = {\n- tabs: {\n- },\n- tooltip: {\n- \"turnOnLight\": \"亮\",\n- \"turnOffLight\": \"\"\n- }\n-}\n-\n-export default translation\n" + }, + { + "date": 1727236035758, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n tabs: {\n- \"uploadArtifacts\": \"上传文件\",\n+ \"uploadArtifacts\": \"文件\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" + }, + { + "date": 1727236042924, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n tabs: {\n- \"uploadArtifacts\": \"文件\",\n+ \"uploadArtifacts\": \"导入GAP\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" + }, + { + "date": 1727236049027, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n tabs: {\n- \"uploadArtifacts\": \"导入GAP\",\n+ \"uploadArtifacts\": \"导入GRAP\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" + }, + { + "date": 1727236096521, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n- tabs: {\n- \"uploadArtifacts\": \"导入GRAP\",\n+ “tabs: {\n+ \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" + }, + { + "date": 1727236102723, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- “tabs: {\n+ “tabs\": {\n \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n" + }, + { + "date": 1727236108311, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,11 +1,11 @@\n const translation = {\n- “tabs\": {\n+ \"tabs\": {\n \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n- tooltip: {\n+ \"tooltip: {\n \"turnOnLight\": \"亮\",\n \"turnOffLight\": \"暗\"\n }\n }\n" + }, + { + "date": 1727240125195, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -3,11 +3,11 @@\n \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n- \"tooltip: {\n+ \"tooltip\": {\n \"turnOnLight\": \"亮\",\n \"turnOffLight\": \"暗\"\n- }\n+ },\n }\n \n export default translation\n" + } + ], + "date": 1727233774313, + "name": "Commit-0", + "content": "const translation = {\n tabs: {\n },\n }\n\nexport default translation\n" + } + ] +} \ No newline at end of file diff --git a/.lh/src/index.tsx.json b/.lh/src/index.tsx.json new file mode 100644 index 0000000..046be8c --- /dev/null +++ b/.lh/src/index.tsx.json @@ -0,0 +1,38 @@ +{ + "sourceFile": "src/index.tsx", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 5, + "patches": [ + { + "date": 1727239352234, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727239358233, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-i\n+import \"\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" + }, + { + "date": 1727239363392, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"\"\n+import \"@/i18n\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" + }, + { + "date": 1727239391099, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"@/i18n\"\n+import \"@/i18n/\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" + }, + { + "date": 1727239553790, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"@/i18n/\"\n+import \"@/i18n\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" + }, + { + "date": 1727239681610, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"@/i18n\"\n+import \"./i18n\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" + } + ], + "date": 1727239352234, + "name": "Commit-0", + "content": "import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport App from \"./app/layout/App\";\nimport reportWebVitals from \"./reportWebVitals\";\ni\n\nconst root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n);\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n" + } + ] +} \ No newline at end of file diff --git a/.lh/tsconfig.json.json b/.lh/tsconfig.json.json new file mode 100644 index 0000000..d513380 --- /dev/null +++ b/.lh/tsconfig.json.json @@ -0,0 +1,30 @@ +{ + "sourceFile": "tsconfig.json", + "activeCommit": 0, + "commits": [ + { + "activePatchIndex": 3, + "patches": [ + { + "date": 1727234485688, + "content": "Index: \n===================================================================\n--- \n+++ \n" + }, + { + "date": 1727234494492, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n- \"jsx\": \"react-jsx\"\n+ \"jsx\": \"react-jsx\",\n \"baseUrl\": \".\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n" + }, + { + "date": 1727234503482, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n- \"jsx\": \"react-jsx\",\n+ \"jsx\": \"react-jsx\",\n \"baseUrl\": \".\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n" + }, + { + "date": 1727239251096, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\",\n- \"baseUrl\": \".\",\n+ \"baseUrl\": \"src\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n },\n" + } + ], + "date": 1727234485688, + "name": "Commit-0", + "content": "{\n \"compilerOptions\": {\n \"target\": \"es2015\",\n \"lib\": [\n \"dom\",\n \"dom.iterable\",\n \"esnext\"\n ],\n \"allowJs\": true,\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"allowSyntheticDefaultImports\": true,\n \"strict\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"module\": \"esnext\",\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\"\n \"baseUrl\": \".\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n },\n \"include\": [\n \"src\"\n ]\n}\n" + } + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..726bfeb --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Chrome", + "type": "chrome", + "request": "launch", + "url": "http://localhost:3000", + "webRoot": "${workspaceRoot}/src", + "userDataDir": "${workspaceRoot}/.vscode/chrome", + "sourceMapPathOverrides": { + "webpack:///src/*": "${webRoot}/*" + } + } + ] + } \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9ba9192 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# 使用 Node.js 作为基础镜像 +FROM node:20.11-alpine3.19 AS base +LABEL maintainer="zederer@aquaintelling.com" + +# 设置工作目录 +WORKDIR /app/graphrag-visualizer + +# 复制依赖文件 +COPY package.json package-lock.json ./ + +# 安装依赖 +RUN npm install + +# 复制其余源代码 +COPY . . + +# 暴露应用运行的端口 +EXPOSE 3004 + +# 启动应用 +CMD ["npm", "start"] diff --git a/dataset/create_base_documents.parquet b/dataset/create_base_documents.parquet new file mode 100644 index 0000000000000000000000000000000000000000..849270827ee162b88c09805c3d8b9a137bf5738a GIT binary patch literal 77753 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

LZ^ji{@qs0tY{kRhYC^?596cjx;5ZWI^Nra7 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 De}`zx literal 0 HcmV?d00001 diff --git a/dataset/create_base_entity_graph.parquet b/dataset/create_base_entity_graph.parquet new file mode 100644 index 0000000000000000000000000000000000000000..e8e672b4ee8618b26bad60bee3ddfeacc09dcf01 GIT binary patch literal 166577 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 +pS2Bmp9T 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


48WFZ-k zg=B4e?x8^}+LW4yM@g2Z3Tf1ncQQk6uPB-j;&cQFJ6&c7%r2OBuek>%f@;^!jE z$;*GHBtIy`v~JoPCsLI}YBW8eLekKpc!VrSXG%X4Su@8u4W8)r4Z|zXNl8CVM zkq6Cqc;6X~r{BR?!~&m53R(YzUO)oR`xEzZ#l z(J-R7rLbMHzu<$KPXmib)H3!1SP(+IRE>){^L|n$gOpC5%C0h%DD*WkQF@RfjqF5x z);pB4O#OSXChGM9{fx*yL~58_DSZninl%TidV#7?Q#BRr5E`Ocx9J8ADM=mKK!!)> zA5O?!N&M=xSK|vm&y*tC+tx}=hbvQEwpH$q{c-jYD;$; z(fE-^)AD9Upw{$~9kIp)={g+_Q?X2Nq_|FzCj{v_10J*2gJ7vbDY}j)kxfHLf10>C zeNBajVblt1heSxm(u;jh(_(;g$M`J!h*8h`hluH)i!k_XSi-&}U7@!t*GyjgI(dLf z&uPDqxGVJ!q|iBO;*sxbY8S4(tOyN{T{|3D_zZ7u=xFlwx4xsv!qMc>|7T7`B9k87 zkj(hnhR23BB(K_#94b+Cl_)0s)5|Q zZgt74TEpGA9jXf-5bjWGV^#(lgd4m5_-zGHAM7Ov8ZHrfB|b zxu$3)ATQQQj5CrIeL(qTkrKlaT1I=n)4R0#4O*HJMYM8M%xi{`uQ~V4W-?pO8u@3n zHkIz=L&Ap~c^%dtjx@=H3uZ~Z!M4_vybz>Zn#lbG(P9^7e!tl%+&U5l~gwMcENck6qu#U_;k6n zRCb1`qtfJ<7DG7cLTcv&Nsese6x=PsSWd4*z&G_K**@kZU|rc|q$dOW+gXFm1z*^- z(^Dt&bWrb~MTht4Vac(I-aQhZ%M?(U9#<%FKL<&r!g!bStS;|)nWom;5+?PF)AT2< z`y|^1aj8?;006j`eTgl0mT>&nGA5Aros8Ilx2Hyq+D)c-IsH2aUG5KdtR?E$a<+_d z6E+T+D8d~vm%cBp)oYZQEV39$MI2KfdTZdaKL|ar^>wEU-RWJNq3vK~n@a0{H$vPw zR_U3J@-*bP7}Vif{Mj_|K@U4>w%;a(LxZ*Iz&s6T7I4^b>WNS?uh04@v*{yAmf@F4 z5fkTpE|D09m957|n-jyVnvrPT$2gtRz7dfpNBHM5;Sb-!RN%uSD%>xobBM6XEO6$L z*9F;IZYEivQ^Mup6HER1EPrz7oMLwE(?g4&97?{@pV%_=*!QHA9JBDxrjRYrkq&0O zO>e1oOHOXSI|Wbpq!j0-H2y$B^1aEzT|>~SS@gGCpoQvQJ#~=-i7Y|z<7tGZ{eTi< zkaG4YuE`nbxJ{3%^;z+S_mkdII#2zR6nQu4x!F`SwEH_!No=qbGhpdMf#O3clKPb1V4&wyg=Z1_D}3u9Nd^f@ zw&%3stVcgKm)?zK3LU2JEj#@*`!ZV#o^)-s^u6yQ-g;O+oI7pMe+>OIzd24^ynZE+ z_36TQ*}YT9Vuvb*uG8vpkhxLS_X-i9rNxTROq)Q`)AXt|Iwh5Fg@s5v6xHJzO1~K_ zmT-aI9SEyFn1ZQSfYYH@MWB*?CP&VRSR`Rif@!~%0~w#B4ZRLumnEiP5VpvI=NJ}G z(jQO07lRRk$cB>b;IE{rvea- zoKM5?=4$7MnF`+kO?qqUXKNI?19{AbIUCpGgHveX35Dt$PH z!;*OSeu>v&jTt3QRrn88Cm$hACNeT6b-Q5A(C#-k)A!A^U>MC!5+a8IX*Swud?+4^ z;Bf9jx`W+B4rN&1=J2S6W#x9Pg zKqzH}Pv{*bf!(z=T-BrKOXfA zDJLWRUVE5y;Q-1UV31t1i};3V5Lle+TP0Hka|dzbiYEDgV94`1^iYB8dku61b?N+G zt;7HlbQ1J{1(#f*bP!M!L=jO*(V1aJ8F3&ONJ&Sf#6x+=)XpZErIx0Z?$WHV)U2%R zWJe2kT6VCqw6gZ}-V1H-e!qAB-u=Jc_kUenY~5Gj%$l{H=lguW_x-uw7=?sI^IfUx ze*VNWgEdeF;IdUYU8k4^`wEfsH8zn|T5R4%3hD|Dz3n6-mt-dMW3%|G81ukn|K2z{ z2imfwI_ztLgOa~xFf~i7<4@uCCNJfuL&t%;#|8C;dz+ftlWB(@y^}9ST8^u+iPh%! zz$n&x|I(QnN&Mg=7qqTEsVlL~NYY~XfR6KcEy7uvdKKw{ZlaexiH^d+LI}7UO(&yi zuaKrNEug(q1ee)(Z{bZPNj@eRa|VwS*+I$X4C9<-&zsjLOETV(Q1Nvb9caaq4Jlx; zkm7w+ zk3JQXwu-c;vj>Hv(d-tyS@9)S|8AVVFvG;z$WqRfkPK^6byEhK&a<1@hnW`peFNX6 zAAAw+QC{d#ZtLl~kbB|%X#V}^?g@e-*VFk}?w`=fo)?<_?fmVUq{%mYB;yW6=3XA0 zvOfPSjOwV601Nf?U&IAvvZLZlxd=uqojx>DO7{p z8M}=o5z$mO8cVb3`lud}Y3Cn~n)i}EU90zJkw>EG^y}l76&L4N88A$e?vLD7|@2_2GKQe@$0IQuhP$GfsXQ!F_gKOcw|Fs$JTMa%>| zhe*aiOc??>py;yYc-&GA`<@J#gvoVv+SvMt1g4109M@ZBO6H7*g$IWAl?c;F$J*4Ppq|4Mte&v^rb$*UqR#H{YTb=*-SYjeV z#|K^OeiQ$M$i8Pf5X+w{Pg8T~{P#V@xGrh=nH;S}U)tcoRUzsTQUD0MLKVwon+$_+ zboD4V@oQqTN6wqWeuTw+elRVL9Ov*tedLZI{Ob6=SLj|RJTxyB@ijX3B%7peY-(y( zeyc$lit=J0YD`y9h#1L^rMKlVjqJxvgYcP--lh@kMMwe9OC^B{y1i0?vzIf5b0I4G zLM|mm$}GB7cV&_M!lpQWQ(V_a>dWYV`_*XzFTGS~e)cuw z?Q*Ri=(ZRwtxEm{ftq5@{*D0)mdF-zW&E;1iY70)uUOZwZEE0|DhTzbq_19xoA;BF zv0ue;7&?%XT>p^aC?PXA#@mxe9#0|8GGR4GzDdDyaitpUnbspimTsjB;|MQ&`>ASX zPY5+%7V%6xbO7|B$0zEO;uWopOWzXql=458;$%p6<@E;GW+te=ZYaB+OcOY7gGIPE z32iXT9}Ftl1w>Y=e}ki=QRlM9kMGJn6Qg{FY1s8Rlg)D(7bm{ESuJVJ$ea1% zoQYC*)IM>?qj*JiN!g8HdA^saJxzmg>W*gYZTm9l(pVCoum7;bSk$u?kNM+S{Ctz@ z2fV(YP5gHQlt;aS(pD`8O!L3nKle4L#p8xxNsaj2jMzlU$M1j;euc3l0O| zi9wP_yf_+wSY5s1cvAblQYXdLlvmY<4Yh_ye~GDUE5|f+{xIJ69Yee(KViH5tpDNw zqu>8d|s{V#IlTUD?CFhnruV4Hw99iTx-c&)w$7t|b}QCdZrtadC*xAPjrU`;Bm z8^_**BCMF!O{K5J6Qgmgx11j3_*eNJvF9esb3@F3kHblKbUCdx(3BW5eGqw3SN0RX z!%H8Vg1a+*6zPap&fw5MgU#sC^;2P6 z^q2E!(m1Knb#Wk^`{>UFhR2ebTK)YzdWGZxj>eDY<$1>CX|s$YG>Cu-G?EDkXzHrm z=d#nk^EqybvAv|^hB`O!P;@N z$>fgML=2(=5FnBiyP~OqAEKgTlj6TtxEjE(WuNBS173Y-Bmt+ZolLDHYZ9n&JZnTd z>ccqx#6%+wa&aTQ7Q=*AOc3x}urDB5R6kkd@M|rTqY#5QJlb2!{z6ZPrnn^GF|n+Q zB}26AILVLMn8J3Lf2*cnBx7@~K7%T^&HPrB{&XDECalR~%TNl@$r@^ys6U=SKGK>x z2U2|!c__(QV2V`HyhP)CaynmWE!xZ~2bp^8x~Qn?cI0Y3G`KWBF@Q=P>PxbDI(m8Y z8s9IzE!!Dwx-E-rjUtwj3eSR~5|(il?oC1&*HT%mnws=kc{d8`_tJP~z_J(k;Wm1* zgdWUG(+JBP$}9Rdy(YW05ok)QZAOqEs3r@w1)H{sP6zQu(_k8`>P^eW5iHP&>a-Gl zWPaHt7V0Cx6W%usUmg3V`QqfLXZ*8NT@letu75Z~o>lqR_D>^`wCshh z3K2UX{dnQ`!6Wa^L4JkZ22_h^vpmhzJ*(mnB+B2AeW6>B5=$1>SRUY3ULZGRo8HI* zW`e%0J+g_cg*>8#k_4EKnlklXccChC<7EEhYI6KKHPXwPgru=>it05UWxK-TJuagB zZ6Zg9qV0LIX@|e4HkbrV4;{Y2LA+kSY`T61CRG>1|}$8oNW2A zmadr`bBiiWUPL2`d@+_;pnpHE_->nV0RGj}W9hg=eNQyKPeo$}>qS-H@8-{k^*&*0 zGct{ZyQcBCYNc_#wg^+8P00XgEI^(@Iy;XYN~ahgNO@L8%A#<(=fiQC`?4(2a)rTA z*y-+4W_7VcyT;=D9maHxm2nTQr{#=mi~S zKL@bDfl&mg0AL`4s|pH=ht0__Tr1QvpT~62&j6dB64qH z6Hr19DRcxYFxE#nWbL5BAR80Qx~qE}doAU}{ZwLY4$zrsV@bcLD^eBqv*)mck7N6u z6~BwK2NmQFZW_P=fe(Unbd{ei-N#I-3u?o2*y1@Xf@4R8IR^&U9ZcH>YtPxe2|QJo0L`DXB`o zUn?vYNMw>ea~O_r-;V;ET+EIYZq|T;gYESfjnqLHXZn2}5mhwE@wtM=)zPsai+#;# zHg!!l{a%)iKDP%FWGK`P`qpZq0=TQ2YKz~WXGTg?W)CkAo_--rBw4kw0=xBOs z0!7%v;Nq`U=6hptcC)`KI5EG4JKX3Z?`dg*mh@s+OdBVWHN%amOoNfdnb!2S4Ksrs zHomjeG*KgA)bmwjkmL>;k<349%6L?`Aqtaw{V^lk3Po|V>88o_yIF-#%(ZaW(WzS1 zcxR=lQcK^oYUZKE*GQ&MBC@#B`zGF~eZ%x?8XZ5TJe6FD=3mp{H?C39^YBXu&qPym zfY#NpyT~glh(TIRM~83-%^;8Av2>KF#E#cgU6(9fYi(V#G+p1Sx=IEN`|si8eNE|q z(He^F2~f4|j_R4`ACT1TS9J!I9fD~-QeuGH_Iey1P>i9vb>|`;0h#RiKm$0C#L;1@ z^{bfb@N0GE)~WW?0`vRv(BESyb@y;I^dNa(_TfgW&>ZJ`CqlZVLq}NOaK`x1g#iOP z-b@Nyu#@KpE9?cNb<*?#5C#em*5pEbZXO;G5Oa~}4teE9u68Ti&x@&lHRQ`x4f<-v3ODbA1Z{{cb7ZS0ahP*#ig-q=x7_Z?LN=xDSxatv<@!3C2t&OGntpfQ{OKJt0&8gui zG5LOw_g~1RT3pC0yGr~65Zv2+Mx&c)t=5G*UW zJhIwCxx)$U^7wzDtipF>nC{59IDz#S#)elZ#9O%H3GA#~H)P-7l0hyB8#lm>4$NO| zxFE#T${|zA5+SRdz%s?*Z%W61Q`)su*Y&rw&|0=@*JuuM&W?j z=+BZ#>uGKSyiPfGfZ>2|LO_*UijFFf;*cOd1!)i+{@Rl)|Gdc*IpxC3CjMoU>HH1k zq=_gAnUhIQ8>B&DrW$&vCjNU;xLg7rT5|PS28{={7tsCy6VTH*3|aL**o7vCeoYD) z9-|M&@>6oz0y1SJ6=V5j*gVteb0*=jd{e%jzjv~*Hdb(G=oAwLSg@1qDgs5dm407F z?i!?%I!egr^p$WvgU4LnBz$TtR>iWL(bXB1XZX$Ut+4M$Kj|5GIq%gDrRyM82HttAJ&jY@uGoO3bLZqgd*Gz&6w z5YCRqO1quKtZWeD6jx^@EoEATc}`548@G`I=KCQ;FWnKCXHz#Lqp0o>=Yj_VSI$kqjJ*?Z>S|x5sgnqu}()1VaqM|ndpcC z-27l$=RujmZSOea3f(=T;~trRV|*9Bqiup-Q?CDdX505IR*>#J4#W|{dJP)_Bmj^K z11NyblLJ<|jM{r-!$zUcB*A#41U-qRP9Le(Op;jY;c*H2aS4~NXT^6^_B#-(#&-M! zje$RfS%SL~A$V3B_IbAr8vR&F_e@~ssRF0ileF?=N4iQKPC&;vG{V=vHp#u#~YNa_PGT< z5m5>d@!Jc$Ry%Ns0C2+K;mH%TVr%PI+XUUD^3mg+72!JN-n!7-ksUi_{ukt7e7~L< zhPTy#@HT*$5WNUm4EbeX9t`u~9^f~LZYVTX?Tbh(u5gYTS2a1j%WB$X4VSa{a+kCI zft;~i4Z(UY`C%XkcnB|m$sS>#$P^$`Z&3pX=oP!!+Ph`C3Ds3&OGkyb7&5mQF6PHx zyhG-HN#48Ge^}Ksd=40FA_Uw>oX-J%5NT?Vc!P?GMr1DeY>s8D9EZMOrBIJr6_y4f;^%chRqlGyjG;+!O4R-H!^Qzss~{gh^Yis zLmU@b`;szwigVH!;2>(;t%Y4rD-}~*RJR5_8IsgRmY8_&dLdJ5561D&m5}@6dR`G6 zT78?1e14sf(6;R-EXd;PN-`A3qgLfas@1a5yuXyhf*{>Fq@?R7W2k$A?-AB1^B-lq z-cb6ZBk;!yN}^Gv+kuinv@c2&k>sodBF*D~lK`hR5jxm{RWeyB0`0M@Pc0u+Rrijv zOC|%@E#l^$KJ#)Tsj<;9HdC}k*M^w`qL;*c@~EBc8lrGDlCQg^74ZpPSdnJBi=UX` z{xOmnoY`hKxopns|Cz0HaIF4hx3t~#`{|i|RUKkv z*Hn4enekoew$S*I9rwunBjjE9K33(r$FEaJo4yO}R{(1-^s- z!nd>jZe?G#L4+FyUHCjZ`OuOM8kmSh%5Asjkrjg#=viTwdOMpeL7+y}l#dF(qbYnx z6I#!PC$PQ=toRdSf0T9h`DYRGO>q$LMWhLWg#s}GqOdR%L3%5)qd}RJG7lEWrTWK7 z?=gVnWu&5!UbZNZe%f`v%s-4VR$^}ap$a3 z)K;=ssU}qdm|1+UEW`}#xK}2IIQvXlcsz?GSB)#^Bj4QEfWS7i+|bU(c`Y{|m1Pc6 z>M%C;Hi+-bP?d5e)t0cPfa2>=HQdjb!`w!OG;~}gRcw!5^UfOFp#}o8+coA zlLJRTE4}t9cGmwE|64x3rc{dmCEY^ZCsBt_CWPzRbJ!c53S+%ENMT>Zk~dSPgENGC z0q|p-Dd3iOLDwgR6BLl!IR!2?M1A#aVg;V_$>o!J|4>&{jT(o~311l#{7V&GZiRn4 zXPnUSvL=Y+P(aKPhXeHpLdKANf=5-tfWc0bBR)~d^+QO*h9r|ADRfBH`VYAnA+wK? zq44k6ECb9MrTl_!zTY2Q0rD|a9UF4%S9WsZI)F@tL zvD2nkR)OVRRXxeztl^KP1dM|ZS1H4_EWYY%v0EynA_A8OhZ)>?SZhc`iNuQrQw!op zaPW{VB7Q5Yt!3#jX(i{7QDdBy#o;ev%wNQSW&fL}^>Nw78*@7M$ow}W)QNn! zqy@>A*fK#%Ysdqr31MZ35<(s*rW+Df$)~_e)AWPJ!=1I6owZ%ML=IpDvOHdcGo;O3 z-P9AJn>%i0#UB~_AM&n^O7T;X*GSxk#8;TrZ_4eJ*a#u`6#R`nz1Ai~>R@3M@{5J&i=1WLNU5Q{9o ze;w0oo>YjlSAJnFAjN$$X-mKSo6BFL?m{q@LTP+OdS=HA%*w}y1tX;m)lnX)eh?%< zymAm4a-clTv+qx+)yw}yfh2#AQ&d%kzm6OGbzJy*_T2TXKSFN2-oGCV#ke52Pz@L! z;T(;k9eWt^&n3jOD+lOfT=XB}QCbRWZQ`gZl#|sp^&cc2-NkjzD)oJd+AX%TUE%*y zN$R63YnWejBTJE!w(1YJnCv6_+vJ*u2wwH)oz!$ zyH^JKl!t-L5kpT_g}N#`-k13o$-0)XewBhWc8XZCmay~P1>mzc`u$r2xDW%n9OP0FWSzKCwOYEwxOPCtkGb6Eep21Ypd?Ww+HeE63 zSxu(C$r`xoK@1(e7e&tJ)A_xVNaB3V;`3|hr8v_UPV&hR1j5erU?Yop$nH#`Nh!Qg z43QfB?oO0KO7z=JJ1X>jAwC^l6VaF>EU(b6qtz+q)mBq%vhaBYpE-(|PgQB67H1xM zbUJbO;H*-xmqg~hx_hpqB5yJ#6E0ru zZge*pF_aw0EFhYAmbcGhg#&q5d3%bvV0#1J9?Hp@73|AoR4H9wpHsu`W=CU^=c1Vv zIOMCo5;|+4Kk8*HzKi|$W7iMS96GN_M4~s{-t5|G5W#ifK{W5&Hv8g>PBfY#L zKaY%QBkj?SJTwkn0A~R&ie14*reL-%W=3Em;seQHUE+9MVwbgy13I(ynGGF>W&V}w zuq(1drqLm5&F=A#_XdKsjbTv%vV(H4%K~mS7Xh($Ec`(>{P95h#{=`m-1vbhPlW5!6vrYQiu|ntM;@=}l zx+YQL9sp|LKd2&wn!`NE4-O_W=Un5^SFNlIf1Un2>KEevHd!QtQ87g0j zdj@k+{3fCH308W-Ya|@qZ>7W)m3BCsH$a~^Ae_Vol34Lvq`jCU55%|N1cdGpjKVIU zTEQ>$ViUr)h?5_RYJ0T0Hi|B*To`vmR-2YFPe@rrm6NIS>! zh;R>(qOo#;G83<;jbV@9p_wGbHH1INHGPm9dh0%4Qv@pckcREh#0K$cB7_y0O~^dO z%-n}H3hSU7QopRoy(Cx49U@Dk1#Q8kSpP4*XrD;2j_hF-_fOb!Q| ze-vk&)G=3$BnJ%o5%`iPBDB$g1rFUS6zl-wN@-N~FOxbNW&ey!2v213bzvf#G0}e} z(m2u2DM#X>+H%oXw@H-_y5e~-1t4-2doDI36kvG;;x4vsBFmKW-jSMqT3whOn#m3g z&Gd9UDD(F!yT++IC$gx5U6&NrT=K3FUTP1hu-Hpn)?C_}!vVm_CW;+g?L_upkh^t; z@Po3658?%#!%siPIv*6hvf@=LgBMvqC~&<6zxF2ZqktJGROEzcO9;jl3Z zAEz|X?a`g`_{h@dIUsRSaktj6{5VbcXL>lPAMDyHg}@1Subfq%1Xy@mW< z#c$A&9RqmZMq-;uo|~or^da9$+0vvlQ)Wo)C;#U%<2~ZX^5QQef*>5{`8?=ZBMBRA zd0=&c8pe_Uva!Q0+P~5TZ-?Ch&{S)C$TfAtB^*w^Pk7}+^Cq~s_S`4uoeoj zdj08%Lh3C0xq;ygY~2Qy)WnKL&fdXx`6D~$$~)w6-MYz7$EFuZVR1NQt;Q(ju{k7NwbCEa)NoXmer<~-+bVWl%B^bB?ppcODNktcy( zHKH)l^=R%f?i`Z?It5+@YMKU#Ph6FP2sF2XW}$9<>Mz$ zuHQQQu)v1CyUk~oEnVy9WZ|`njxjL?uN1ffq)3Btmcf?;@Kz4447qEd8sU-+_LY3? z6jnECaz)ML>hSy|)BL2%5k>x{$gVN0|G0eV;SOl0P;rupnbU2^heVN&Zo3=aR;(OS zptBEU=v|CBhNZo4^G~NT!|BDl^(8Y6hM=o;wigsb{?TQ=(tyr^JtoH@x^b}-iUJd_ zzDHP4OB5r233D-BZ}9^xMD?PbMcfr%`qJ6 zq`Yz9d6BydX&zTLV=pgQ=o4v*rpChk?<)6-Nt`}$8C5-^Hq3!LzU3CnN44}=vEs%? zvgx?;7}B8h=2rfTIqY1v56ZI1hsatzON0w`{P8K4;wW~Yefhikom-Tfb!}3{`T`;D z?u^+~@S`7H)@|xIhAxqEFFklOH7|pBx2>5RImOKbM&MRBMEOrwLF*=AA_YE$?^;AM z2dhDEa?`iQlCqnWw~OuX!JnkReXOPprClRY4kjn3K(|QbPcpOVvQc!_YiSAQt#^~; z2O(o9MyosKY2};Lwwf$U!RWKNyq#{j4dcvXr<~Xsyf&_+e?n08s{S(v%| z3FTwPy%K7{5`HdY(9-YpStj8G44A^rA3|f}X(qScTRzzMym`S^SkrQFivH*>wa4Ra zQ=McXCv`4Y4KoiM?f*vxqBFwV-lyB%53S2)@-B>8#E)7OI`wQQSkk>{VaPvhmEx7o zs+{hrn=r$fF|%vcb-?hA#jG}DSdMSyDVlzcN~`w0khA8ihY#p-;95d!;PZ*I04ql| zi@jHbyb$7lFN9Rk9OStCAbcPlV5d(LjsMj~TT&PawwIH$6LpZ06VUI3$o;suaYz4nI`wp8n)^7$4}m{ z?G66s$H^@!-l?LKwZg)8x5+YJxoPE<6O)A_w+Ys6^5Wan)X1*?RYp=(NB(A7IGCkm zimJDd^u5fqn)pRzaVrck-X3CT5GuI7PMpW~aDZWW>AkZKY4G^3QtcRqbJW*sP2WBu z^p)_>tF%WmtovGw3AKU)L$GcS*?J#=SpjYAfbjFIWcW+^17(HU9pns0PDF9dJ}<&Q z(WMf5A0k86LLjSsg^XGa^AmZWBcYd}dkm1npV3Fx!NtXMZN03pQDt;k(zy@liD5XU zZQ_InCKwMeh7%u>%d3g7jxB*iwTaJPD=Ca2o|wZ|^wHJFXx3+apVQ}5&JFArF^#?@ zaqI$ec`tU>c2GwlN1YxeT-aV|hNHZ(CHo%e4-+<%lJS}BWYdU6`Xk+Rdj_pqj@N1G zev3U?H2pnO{m!&6n5^=krBEhbTn8D|)?>nE4+0_QENCIsXUMk2>D|lw(tmlBw^BjFT?K@~X{aXzddV zyB(^YLB(=wPb_3?AKbL>)7d7_J zU$>-33bE7sjP&Ox%&(37;09#{|F#yI4sx*x9@gSoW?s*oB=ZY&8X~o1%oadq&u+!M zHb#3SMgOVF^z1`1t;*^8n%Le;u<`c}CEq%Xv6)@m4^NXQj@-k(!xDgUAhD$cC$;kJ4AF*MYU1-QXSK* zk32N-F?ON2rG-RBg1*sllkzmpu^%DTNJ)$@(dO^@Q=+MsDgC~ttg zn$(*peEhJkpLN+p$%DJj2ENgd?o)-@<&1^gyq|wCvFzJ@bl)Q<<=dXeNPl1t?>57T z9U#J;xbN>Z7oM3}X{!4?8Rw|qo`O@ta-w$}sT4Y@;*`Jgg1~MRHf#AmKIco8Wkk_l z4kAy>>k%Y1$maFFrY~Nu@8QVn-TEVsux|*@M)h@>M@D~ZE?PCUCzIt z;uok??QFTR2K_cN^_216^XG_gmoS{>j1rQf*#zBH)G3X*i(aCVC%;r+$BW6TjP2Ru zp$(I^k$EYF*E4$89y~D({P^>%v0wwQN=d8n70AHC0g<$g4e;R}Xt%F$~$kdKP5%)c0lImI|SKdr+)E~{U42iN(ylga9OiVKZ#tUA}&SyHwp(l4d?1*YD4 z;ebF72p!r;h#m$Nk-Hbw;BLVIyTR>3!&=fxdtEl*3&i-rW!lKV+uW6UZNRg&_m7=* z+9Tl}6?rRx-rQv3zPWuVITTBdC6G(Mk(ci!TRM3XL$ogni~o+hi;OfWf^A|-ohC<$)Ui+OE}MbD z=-}`SnfbVtG4ZN__7Fq<5yj*_=aQLcs)WZMMdk5aGMSbpIV)X9mi4|*Ug}Fb$@j#O z{6i4mlTQY)Dg5!#Pr|%FIB{in7ks#_``lzAoI$G1^@ZO9q*Fs9oBMr5GtjLd zsTy$DXamU&^2ITzb^Zdi#ozt}#R1Sz(%uA4uY_&I3%yFH#sB=tBnBtz8Z%4f$EL)N z)b%4rT9prSfOfHGl#h-CxkX~G^-=?gmrcs8$%Et&N<-wbz+@$jb*-KT z>~U(0+3c9CsUMrl$?V=E?P0h z>5@r32&7C{rZaW}!xfl{7L~X*!MHomJI@Uk*I*Y0eY0IvOIP^H80VKElay#|oR0Yv zQVG$=&WG(EAGHfvu98=!07_4E+Vk-rNex1&4xP^G`Uw-Jy6agccmMS)Xo*+3-76na zOMq@xjf~A;<80Tqoju(!_j@3=Sa!Q{abiCqDA;CPvuxjvmA%m#P`w(xy#ub&oK$hZ zzbwFG1Bhc!-jNK@Sejt%od(N~2;_UwNHt_=fiQ@Rgwfhm&E zt~{gS7P0FES512+yqw^%dGze-w<9dt6W|>+?i=vDYIUMTekHZ zbiHSraGFwOmd`f6jtiCc=2f_!)71~xo1CV`^4aV(<706Jm4hLF1Kbge9armuv!`?x zkk=dAlnxD$(XAcMNlaVc{8Uh&B^o%;W>XkHgib+>gTj5Lbc296CMTwnnhO=YU&{ zdC?s2R_95PWx@M;6W%^{B-$TwD(JJ_^hGXN+9D(@qVj;Zn`xs@s|*sg8?B%~z&JW% z3Jz`dg)FdV;DZ4&*)@yn8Y=(3=zruaK}M1XTJ1k+|Now#8ko`lDPimnQ81AHZXc$7 zq6>yC4?3(+R=Mri;S2o9a_MO;kUprP@@)sKhRX7a@)~FLG|9*nep$KqW%{Y=Y}^l7 z;*T<>a^jCf6YVl^z{(3hMpfS=*Y)%4JDpLLi+a5H^hhuoB0CKxP%S~$!vR%zGSj&{ z5ma@IPy^0SP88_8tsqVYjwGbQ`U^%qxZ+;%pd5T1Z&v9hH7ri;r6<{WyWT=^=BgoI zN10DYfe?5|%R;TFAIaK8$Uwfz>MM8s+#!RrpTXHOpuHt4c=PS5jp%ifQc;a8&s z;`tbMIIkwo%yitYFgyf;0MQ(e*?Vr=F7fu5%2ElmDM9c-NBAeAe}VE4XjDvF&opwH zQ@uhC5*pxKu{!wSVWM^}P)iKZ9luCvA9M-%U|msxQqj=vV$<=cpxKC9xHStP{sq%6 zp_EjW)`8bD+ zd*sg{F$t(+C=H~%EX0E4T9K;T02PxXV3#|85xb#`7ssl@zsN@Zso({$t7^QY;H{U- z5A0DREY?*%o$-h*n!YZuaEwov);o_{6dL1^Ol>rJT>dHrhf3n|Ms~gpW)7sOLz4=D zQ2{D&OzhBS17`#CC4|VYRsh6tA9E!&a{B+Ep)GZ9Q5--tP)lzi2i&Q#8H~QUq&-U0 z?-O_ZV7vnyy&!;&CsYosCqdkm*ZNnj#%G}?n4sn)gZ0~#zh5PsQ_%*h!LvU<=oi=v z``NVph@^AnxqNP)LozD($U2fG7C>u)@u#FnZmm|k#z72>*SMdxJ@%(8w_HB2+(Oig z1`wj7PF?nv6A?hX?D)-pj*;Ga=x;ID(WEsQGgNpG03%0uEVA9;0I*}o0`|5qFAp{rO(A@;W}b1T!1^=y#Nw*^u_!z@_Tit29QSoM`lcjG9 zFJNVnIH{x?gb#lNtH!(cU0e`@_)`eQG2pbL#>#`@4!rTa0^D;@iz6w}7pjd2;5|Rc z_JgI)exWEd&}A`Uvm9K9b(ZTi@E8PRCBQ6B4fF}x>juQjTZT{|Fo3fY>0uR9rQe>w z6t2mW&;JkjqrhbuDWgHmvLIdXK{JibI5)3AviKE9!*+ZMK6^kXcjX1{S6x}prv52y ztr~y&HvG*6Q+Qx@usQI<@hn^lDJuaZ3N*wcb>wv|?I4zkJU6esjb`W+ZH+{(hPK2& z7@E_=WM}V9#*d(&XoIpjR&F@&y-r+z-WN$P?Ifndy8M(Pl{5;U~UakU(uZT70N zKL`zszI+!OL^5{+blM`a`Y;&91PZMa$k^;QtE6QJ-4xH{1fFKE*yMjv&7R)O4&R7o z=kV60yZ%fP;$J6AU&lz}X$>$0ke$v-MguS$m2UVKOIKe`dpokXCSp;9hqED^FK^A4 zPtW(Ekpck)Qp%wswLvEi-xAmqL>8^ig@E0ECPG@s#c;XSU#=w+NwOqAl`I6|y=s21 zS}ozT`Dl*6Bc4to#>XW6^=7D`aeY&MxI(fuW`oAKNkZ`wLmYa5gQD?VXW<_FXAS^a z7eD6TgRWHf_@OzgaI9yG1Fro>5juz(LR-J|Ne=*?E+u-vRn z*Yz_%ePp#RwLiY4f8gVC`S;5dR#R7D+_iU>2Uw$+j|v-YUdYNkkQTvlj+q8P|IjSj zrFXVD{CceabxEWT>8n*qo5G~WOn`Yg_`P;4q3~V73IojvjPfoA;(+ba0mOJ~_*AU_RBY4#C{%@) zBYad%kE(G|H>k}UROXoE%o~zW3?7*e*qQM*{<);IeZ@hZ#GCa$rup+&*HGyF|4&&B zfqNCMp)GdEn{X3i&g#vB&q8u=i23jc;F5^8P(>0W27XpExtD)6IZ9ya{R?N_Egyuz zPHj@&e`U(+?*ZOTn$;mvoI^uH&%{B|cy<8Ut+TYr{qvGE{jo-@Q^L?_qc~95`L7e1 zfG{|T!k=!CKIG#A$gucrwT+LFQ;GD^M9$ybNY0w+WQ;pqjq~Vvv*~&Bjt88EMC^G8 zQfX9C{8U+~OtdFRzRP01RKOa9wFoTsHj)IOH_rYz?g!CGPEtz=GW=WdY|_|wOiZxn zBDfYfjx^|Z!bwi2tJqU&iEK_HdE}98PI7*icomV>RC-P~PhtZDp=W|bS*b1jl^NcR zx8a(=xRfU0^&}v}RGU@9P$4UCG(NWUGXIa{qSsUK*E9uG{bVn+NbGgO_u9_alD?n( zA45t0uaYwC_Q6oN{58CycQ<4?NKuutE685c!vB=W5J*y}u{R@2JGur^NmM21G$SrG z$J>B)61quy&s~9<$evpR1&S*l$xUOTu8Noc&Xd3MOqOe#@ncdEMfl{siwk<^w@8^q7o$TlGXIN84*z0Lpb4DooP4+&@kAo=07TgW z57ZJ?5hr4w^qlMrPpAIrwAdDTP2(&^{zJ?x9VDzywCv<^9xqOb+~veF$UmVs?(dJe zRpw*`yf^;I-t_Rd>2W^lM{#w%#CGhFBgh@c)Pe$>2(c7F`;Xw#9N0YVh)Bd%l#fWV zhJZ|Mdq<^T?vY2xBh$@76bl=6wd2y6TbuQ4Tt2}{NK4` z3BrI1p{?f$dM5E~J-MPGE7FBc2?~Qpu$c7`TJmIqe?WhEP;l{YY&z07pv1)!3HwrO z`Y@lvhxjAx5^!lkMeYr(i!%N#{2=u|NR#_z(B(DL>bKC{TQc>ogsU{gOe?vAdh-za z9IZ6oi}Hl*;A6#krA*qB_IpSc*=7o4hYL)c<`HNX(5szme`r3eO|@W%+;!~V{J-75ZeqNfiAOPrdcRWNv z+H`U;J#B!X8KnI>8Rb2=+ZgIBw3=+O`HebTelK29bDxecJRQGui`W@q9%WV-CX)xvirKBpy0}rO_AkXt`1TDHnUhb% z7>}>a#nho}KfCnkQf>G-Ht-ya%z98OZE!7l(R~3S2$eYQeTf(3A}pqFyS{n0f-Wr2u zOy(|KV^j45k$nwhiw0!XZy)Wcd1kaQG_E*NO{QvjQ)b@>s>kW1OubB{KgdbnJqGsl zuA`>=hp>;6bSupg025r}VAmzR$uyMS8~R&hSE}P0D5LLm#lK6tX*H#j8z7O*1#1Q- z8VB;891^w@y-~y^!WRRzYHLrF^O3-Wh%1lCtbdU~!(8Bwr*81HjGyAN8W%W_Gf|Cv zjbPAan1u40J{$)WKRP+=AgOK9pu$C-r@t*7n~P~(9DZbCbvin4fRIC7*V#yZiqjz) z)$5w8e?qDmmJTGEp^Bi3+HL-<{sU;JQ-u$P{1F@UU|GqrLHUK#2fWWPJW7TDWRjyD z=W-+E+xTMmmU#ay@z#EYJS?T?wG@}ScW8IkDM(i~dC|_#i|*TI+0UW}VtP=m01oO? zoko(Qx4C{M6~h$JF}-QveF6s={mK>Aeic2s^!=f18Lv2#b?Aj*fuw5V(h7c0G*)nL zFKd{Vf%Zz`KWk_XA(s_QADk-M|Z5 z6f3ucA5e%7DD>HOeiU)4$PRN~h5jx?d>Y6RbMGseszOYojw_%lYoHLd1+;NX?+V|k^WUlCFX`9x z4%m60!nl)sZlog$Rz6H)dHRYd4R+I(4qbGR#By}eK%B*Br%wD;j=rJ~Lt1ivBtJAo zQ63;)bI=wXaoQDe{Le#4kI8^uXCovpfFHh~S+-ukL~~-fvW>qtg+4%b#X3`nRfP~0 zR5yxT`XSh)ZFL3}vmitj90nP!Z6kq``po9vD3i|nE}swBft&_-=`lIzSNVBhRRdcz z&y{cUNe2q&lyGLeKQkVdwYDLqHn@g_@d5#QO6(CYRa6W z$}9Z8=$?C3OWt#kjmZ{yPUiX)@pM7IF8{Lvi5>*Tk`$hZ`tUYXv2&xA$`tJ__H%L$ zSMB^9@`aXvlOu0K{m0OTK}HL-$NKHi8E_pP=l#qP*fhQ$$9xeNn7o> zjq(DTDCxkL7kEH^Wm4on1^Fk7NPbk>TlKyC?&EC6UjD1$uEANO(500E46703;+jbB zhWf$wuw^6Lvu)e!#^(zjv>#)`d)U@J>{JM1Z72X;80Wz5m=u~r z;XrW}!&8%DAioqVzhm9bPsn{E*dfU+5Nml6aimP*F#bf2b0YZZ=p_U4otG$q&%t0< z9aNc%z8gng)X*ceqcnnuRMQ_`SU+^^%l{pL^1tP+!H;gU!?b`Y$+axBCvwY!C};A0 zRtH)oxS?R+!zj*y*aSRnaC&YlWvp*IxS(XuMsz_$C$HQc$X2}n#&Z2R6WTht? z7(*~bMBHdl`!|SK4-t%K^+Adv761#7ga6F9J#5nXO*)}A(NHr67=STV6(!+^S>waP zF1_ov-Z}arUM$jEo@9mUM9jfaA3|Z zhBRs$3SiO{A>p#xtT2dx{095D8{RHl?Uz-?X982X3og0Wm3|eyaMcI#@G#-wVc=mj zH=8yTkc~Oye6a>cJ4BgRq*TAa_S^@o&c!?hNMGCHNOY7ihI6vTbxN@(*8hu4>f_~g z9;lKw&?(oofD{543?czRBmtup$m~}8$SVg~b!~a+6cQY(=TpN$ zxhp6ImbJ7XBZ0}Jmor>9sgXc(qp`d1-LhW?i9f2?A-b#4=A^NLh}A{9$TeqGm!HG~ z1th)O2emeAzSsw#$n>Iz?85s7>(u27d?j}U!WXFj0wqctZoT}JYkmuNeCqBuBZT*< zn4d!L1SCo57;oGJsWaWHVWUZ2ifaQYNl9!oI9n02Yrj+OkCXR6VC>03ftG8_uRSvn zZ#W&FwhfOiU^^~yK4(lG)Z;GLrzHfKXp;mazCa~s+#FcVU7099aU=^4js6}v9Ptyv zHF9r_^q9;=D3_aLJII7w*Eoq=_euJRC+T&S*qqFuW3Lehy$fIILkRorhI259AggUL`O!Mya08wOLqQ=2QQC z%KNP0eXMa`Kh66qH8YmZv=VJ9Icz`PW9rHxqMD{>pn5oF(0c(kNp{3og9qp(eMiV zmMyL8w!l~HmGSTsOuo2^HO{mor<0#zOcw?aWu+SBUK?4d(cx6whK@o3ZA{?5PM{|< zy?&^m9vTHb@UxXln|bj7%c^w$C8?ctv%E{2$(CjeFB5di|r#iQVcCBkDv;~uwQ zXRe&Fg$t;^fUds8=OlznI9kG)S7fBE()SJ_P7UzXL#oj^pG~F>7cwn8mxNA=kZgh= zuvx>8Oz4~t6Z}8NineY@mKJ~&Y1o$Zj!CVwH8(4ky-!f^Y9;et;Ka?7egN2Y6VP1@b$>FH_-(##*wx<-@N zqH)&R-55dg^ylaxG>jz!mlu;1EPYn1$AJTTffXUEFnEGP6ZkpJxFs--3vXf5wuGZH zI-)ZA`ZDhx$N!Od{&z^s)8hi#4DyNQhFQ?GZmAbWp$jMLpHVbX>ERv{6BNN8%XLY1 zF}T+9Vd;ar0u~w(`)V->`c4mP;z>=3$ogYa}Na+@L zpdk(Ti3=Yt+5!9s9MRy~_F8eXp`L2!Y)-UmTrzdMLd!$GGf?;gdN77QnTDTVAfScoJcLOw7eVk9OAR3&2$4 z|L7-`g@O6iFQDpRcacvM$rDD?-UR*8c+NMHRxiMBo-|jBQ6}=!7qxq7i;OH7N!KKBC-mfl zY&pVhM)3NX>=CYWd_RZqlt9bP?b8Bi2?vB0t;pgA~iT>k$E{hRcnSNlg)Fj-P8LQyPtNFco; z^TsK$jPd5J+TaY%%7Cu&crlYT_@bA-=0Ez3lhjFA+8hj7T_=rq@hyqprXk;zKN8t_@mW^s2BZ zW+%%X1#VAEe+5aEh8A$#0&ZHW)HRq>bBi4I`0q?+zz?2{-t#N>spU+j#yHZERp(df z1&fufs$U(0B#`IDeW^=_LTj6cg3&cCQ)Kd$nrRj?Xo0p-N zbOQ*Ixipm?laRwQ`VXo25^~y+KT~&UCoY0=snih%kCiwV{tb3Ee{&q!RXos62S*_6 zF0zQc5KF&FL9;n9lDwuUNKp>Of074Exksbutx|H93U~7+ixOaEoSsU9$fGs+q?)HC z121X5vnT)bSYOqBk`>BwMcFIhnj`)G)lKvP5G$|0MtcH>EXhT=cA(9@|*okqKW zJ|!{TVZ?%PlfvA)n>--Xq-jY}F+wkyEa^$WCk<&B(4MoAWBKGqAAJMKOMI-n{Art9 zNUARzt2k=-&Tw1FG7Nbt7O`^nhHMYs-5IUUWx!`Q_>P5xNikPCSSaNRrNKMkY6&jm zR~5o_6TD;tL^QJrPKeb-4gW1UJU9opQSiWo(9CgU=D046S(H@}Ts$t=l=f8Ce~M7D z<4ObV!G_z>`9EW(Nlg?Uz<-LFzO^(e_=GW-#`Wl;I+T)5fXk3!2@fiYWh|XxzCiDv z4=e+aqp+q2!V-y65_%|!dnjp|QbI4rxqgm(V3>-SkSxiS;{DxtGtX+7*46b~dS>^0 z0qK3rhS=8yZ1mADzJK6_kr(&a5>1k9$N`Ql#P#K>c1(-ha|1s|)&DZnZqzi9y>&eP z`ATNt?uGhks<&Qaw;Y&2Tw@p)**}WZDZAblAqN6;_1E?4ZVHmhAcsv46fhVK|OMNU!$cHyVl099|I0C+~Ya%(F)zZ-!6TBkB z^0KIf8w-ZI@u1&S6UC%gj_ZGjOq7Bj?;#;6#AA(3^d5t#t%a1%!(&QIbn}Fe%lu4Y zmu?A52|mtt>|i^=#egFVv~3H-mmXMN1)?J6$ynzC!e$A)$&#;I1B+s>?O;PpPSJAb zdYG=vOisO-Y2Z#ak?JYR25)DUmV06f-XjX{_7bla6NRQ`O{o-QUNSyKQtNegottrW zE1L%41g7R#Pg{vSS^|g~nUtL-*jMomp!f`&QRudY<|T9Ul6{NCbY61JQZZvau}sW3 ztLudvW@lkiym6hG-rtGy#(O-RtjHqMIKyj3uVT+sV?gHkIY##@1G7^q61bh!kYrU&vKAET1Ofu>x%lf`BmMc)h z54V@BG=66#egzKFJ2~=R6n9TiG4$z?2J(xHAf>`9o-Q8GpOfT_J#r(n?rw+ zO{A6^XpqO88)=BtSj;kDHo7b9|#qQLr zCtw~?jw^V2qr4F-5&nc62JZz6*@sDk9S8DH6XeJcttT@T6>W@H({hvQZM+DkfzS0O zd{>b3(}Vg-Sgx$a(-D9x#J#q9E3TkXuZ=K&$uJFOMSv#g*;_;|Cq228->Lw9a*om_ zW(|8vS{dy!+ssf{|05*>K@b@|q12`Lx;1s_s$8yXc@iG0Gq|1^@}Sll)-Ta-hw zv`$bYsV@C(U9xjlAUT;nq$IycHQk*YTCRz7T91gCPO6eAm#7~z8xxqCvpBm zkhe4)opWZY{^n7%O4k=A%)vh`BQH(Bq((6oBPvBFXHQ;xsJOvwjPKT*OBB^P#U0%9 ziDdg&Qk0>89%F?5r=+a{_v9bzl^$nvoAY8MU8CY4p+x)=@z@NDNO+7=(Db!&|D@u3 zO;0ECNy#Lq43?7x-F+1Nl=L|W9&6Jmx(6s)=ZkqdU9midc7QJ4LQHCuQp@KdS)wGG zHUBGVSC@HIE5sB6)445?xV7i^VoF0yo4txn^3lVm>|CmZ@X+yT-9b zp2R(#6xtztksV3FBU!iJj5w%Z+uY#0lyMF2pmYcAc|0lTs~Vd%gg5i#K?8SFRF+5>G*(+t7bD za4F*2*@)kQ0xp!KH@-yb<=wNL%S?~*+&32Qabk)GV!OCl#CJsbN3%oS*#L`6O&65= ztN`#Goy+8qTPsHcVU3xS#pQ!`SRmtiyHe6y#s#hgS^BN&!h_j`%UJ#J;yz>dJD4Yu zDuQC1=E}LdCa`h1Ue84P^8nd$bv>#T%B)k#VfIdLP*PJ|_hGU~Rq%Jlt=~10nSAI% z3uZ@cn2cf7laC$_BZC5)8}MI94iW7I1+_gdxUGV5gu-?HaNVYR^i0mV(s0e^+C{~> zy*75GW|FEH5QzOsHk;#2g_7Pgef6t}lrrAlUp4YL3~Yf?(EVWYW?agguuM$pm=%DL0_bx=D9B0zP zKL6o7?lBV?wyN(9rkVR5@q=ua5^+sUEromIbgcdX8Hvl}PN#RBk768MvqhpTXXv$+ z9j~qIbU-){{X_voe)vC_FE$~`F)s&)F zc`sf+XV^f$P-|>>0(sMmpCQ#1roJq$ycd(idvDexBf*%P8*Tg`MtaitT`HB0=U(TS zdY9vt!nP#h7(u(@L_Q~{+rY&U(?u?OI#H>*ehuq+UeWVZN>Cf#u{}}**4xX~^Ds!q z35=~1*b~SB$7}Ne+X}_nTN)-Wa6Izb_DKHPI;MDh!$u~5)#vN@IXT_O%)f+@@1tp> zimXT_tCXyc#!2@)v+pUcU>v_uN&k{xa)9e@M^^OOnOHr|X2}P|T{DN_Vx_6;n=#rI zm?1)JkVVK<2Rj7Q2QZGX@yO|N$eFy*`XvAQq`<}z54A?>I_b6%_D$wy*4VA(-no%p zjt9$cdkpzTp7OOatQJn-sKrI$2t(W#Dp=w*`X=!RE zrxo2>!D{b*o}Sr)s-}Uul|#t(2@S#Qxg^1PhhdIz@>SxEe{ z6l4Di%}yiHdqhaA=&1B&GOkcn??Y9+v+V^~yg9INDnKH%K(5JkVlHkYzpj&GI-1+n zUW}i0bL_R0aApdAOVMrgX-8%ae;=VCGk>zNU=t6QbX70Bc8a`dS4l@wIOF?fOfQp5 z?%S}yVMieVj3V-3U=qNImV>ds#cQzzk5=KQRjd7KHKx0-chp>pVsg8lQ}S2xVN5sg zVEao+MxT#A&RV&u9Z`SFqdVyN%9C5aL&2}!R7W>&k)IsBH$9vt{sC{1*6 z1Ls}JB*R?j^cSQeohXz`UQQybN%9)9+)7Vwfk)x@Tt;>-w^ze{ZQHBS9VF|bxqZ<| zn941I_eZPQIGx=fXL?l^3FIpsDVE6_vuq|FlTq#A*ICf z1uJTp7~r!B+Na_J-mAE_T1=j-6qQU0zSeW9EJFkC;hV}O$GO_5!q37bt#w}7tm341 zP`j${B${ozR%4kZgmQXlb&>ZoQl<0SjW3QiHK$;Fn6{WpkRtDPoR{CWgnwT_vWrCE z*J&I~TiGePGsSrV+K>4PTS_=hmMI=h(q0d(3y>8V!L4CkEi10g2vfo#WVcfHjZ>_6 zgahXfz@R-3_Mrk7`na6H$5L`g9!i83D^7hK!8+((PTkAR<0Hsn9o=19R!LsfXFth! z4_u~8a`bLecW|7|{qxkN z&vh{sgTHk1zjPPwV(Fk!vrEDqpEmzreAt0mu zi24qUU`cVxH=>?47kE7QbFFCmpq9m44ToTk9o!(C7zN&zcSj04j{MLvwSSqK8M{N& z6U>#Bf7gwzY-zEK%t{9lgWF$YzA)La32>FsYY`P*E2C35^M-K!${2PQ?v)f7X~sj5 zwsG{I$@R;NjYgj+YNk=fDawhyuA-SP$TXiFDQ$%K#Y1M-nIdH5eVOC4C`N1grxfn~ z@1t}X+{-zxAEU_pSl5*(^Z7_VVT5K(=0J$9lW~37P@lKc@Y!U$%y_RHG>~U4gqLgH zoFh0j@<^Cu@O3r!x_Yq4NQ;cYH%k5U#3ZUw3qvLOG^T-f8~QN}4cWGtMff)8h2Uik(wL zjrIC5_v>$zkYkFja}mKow&Ovz8SX^E`G(OW+It8j;7oAm;DPUSV#CqHuWwnDcI`p7 z^jyT?rf#~ayXcs1t!6|r{dn}G8i_`&r|u}boOabbqM^wWp~O3l%3e-BF@;=Xy~ zFKx)pL;xZLj*c9l`w(Y=?GgSK_=r$2`&v$Kb2fw$V*LrRn$8$lB;jOk$jM1{grW_nL(me{JG7cgKXd+CItm~AfJP*S3p(= zMc^7=%Ts$GSMgfOfvrJ*Gp@;EfCV7%_+)y}d>7k&RI3btpkcxlp&#Z}9sOgp)#*v$4#$CC}A;1d%eg>I3 zg4CB6Rd2t?w6VN!hCyd{92u9{N>bw}XQv-1$!>!LQ&Dc}c44-$mm-T8yZAQobNU~Z zWKc(q$6vRl2T1zH0a6U`2T_%;x_hoSf#S!)XipD^^q3$J*TmxWoWR^pam{ z(WH0w;uGwv2{o$yjp{u$E#Bo1J!_`hGBly|60&CsJ;N6cOylS9#ycfWjys%c9v6-V zc#gaxmF&(VYAGRc#+j-9lIuNS{uKOax|8aB9C=;``5K|PxquKgCc#<&qGPU;OekdB zfyHv&$a^MSf~-FDNACB193Oh^=6X?X*-_4b9|?N169IUl>B@X`a<0I(XvRkVy2ft} zyEZ6sB~EGC9e&Ei-+d`Ue|3eh-UBeW!AbYpTpJ?$-oCu1{zZ^nOL)GDl#eYfRmci& zE97Pxj9ar5GszQ$awN&s8)sW94xVwLP5s_k)+h|oKx5ZGv50zxmu!_j)U}%L`D#?~ z*m%D=Ojybz4Fz3Xo|~+?16l|;2<-)VFi|3>*+C}nV+5Z;$(q0p*|jxcm_goh*ScA8 zCzglJP{066EwZ;FddJeIC);*O9YI<7R4SdSIiv-^2qWfJbA_V2NwYq#>noPAcg56W zRQzJL{}GnF*V}A^@zy8AGeL}in?An)J{owetZu{#cw1uBx~~G2Vb|~*t3vPc`geIg zA&ra*U}kYQb|H>WyqSH3N@&DNTx$HTaU^M*0B@;MV1C{ZRH(bulRH+i;5Fxv`(tO@ z?J(#GS%X+I!x@cYBOl9VcgrHFZdKsB$ZM-uZlg408((Z2UwB2#LE=!(TgL6t>eiXM zu?-`Z>5g*kqWds8TscB>w3d5EZpPknP{yFfVNqcYUq*J6Ztts)YMx1#dvd87}coAunMwr zzKN<>rE|aOxW{xXfo&(Ascb)M!rZ5-ks3~sUo9P)upVdh)ooo_Rtr?dNG5`I!%hq> zKwWzCz{>@@S_r#oIjAWa6}nsPzgr#J)@9t*W$tGS3mbLoCf(9y9w}qfimUTjHNBME zagq%_S0S9vDbXT}n|yuuJnRO*AB9K)7Aq9#(Eg%L0UR{&E79E*TCMi4R`W+v<$@0A zn>Agi&1+ai@s}q>P$G6u)mw+@Zgn0LA&_&OTC=sw{1khorVzc*QkG0hocN#60;ZME z3V;8jH_I{ED1Z<<1Kfb^&DT_mEyNXUwh0c5@ z6}5TG@0beO(tSHL3mdrybI8nWlDe1+31VB#)5EURVfmu}CZV)X&3zW-?_~!!chSvV zZRkDFDZw}Zo-QtbSZQ#LqF;1Fkl@YTdym*PjyaAt( z;GpOBtPWl1{N_TZ91WA5$Zv~>3C#%zw{wpg?p_a|=9Nz{mX=X>;&6HWslXX|=&vjn z+8X+(lYG=!^jETXj*#ZLriyc_aDo5uA{ljtKcFK2l!$7*wBbI@;^Dk!w8+;^2II&D z4S6C8>+~_)@=DP(FSqUtE{YF^+hUa+v%|aJ41BW&Z((0zyhVs^v02GRlN!opG@4}i zJgtD3^Z^j#3j9-KI1$>S@^4XPpWq&f4*h%s{rLv&10!#Vk_6hFbpAP#5>q@y^1|uW zZ*=v=GLCOHwvUD8&nTWXmYM3 zw5fgOruJo%`CZNYmQ-gcxg*td-Tp6a0ljIekyN z1cp2E*$D~o)#PNE9CSM$`H3bW3&CSU#A!=(zttPXOu zb2JJWmkcm4Smw z<#i0_;YsxHq?gxgK8ox9$gv|qGa%KS<Ob<6i-?D-)Ql@+N11=naaU|qp(Wp@ z^kAjmUFDx3CMy%0EvSF+D8y49S1ZOR;J#xQg(o4byzZWnf5TgPM#Gml4+RN+`>Mg@^XRVrxTEKmu$o>5ocXPZsy!yb?Yg5S;EB&wp&kma}jDIQ% zxsLG$nry__e#!>A%F3?Ne>jmOwG8ls5v$qq)_}8RAL4 zL9cm{U9Q(p+BeC3m&EjOw$0Ak|5BEtE2N*AG+GsMmDyiQsz`>4{1VWW>R5hjmj1)x znX5G(&e~kk#qT*vCfvX$-YIFW4-D)Uxt0)`#BD#~s21@x0Y`&z=G}9R9a6?@I(@?u zS!1OBUL$?lru%`Oyp>#?u3u8eE{5;-jFc(lPDy9X(Z6<7836RB(U3#-OlDg9chvB- zP#UG#kl57_7vdJ*$}JAft;QFbTitWdg3#fPKfX2{?r4Jt$_`x}+B@)NJzfvurEz!J zQDg%T?Fl|}2v=(0bLD+I6*J$CD6W_lI@-Y-b3HL729l#)m12+dA7=UqIIR(MkWZ{pUn-IE-b=_jD`FL#4 z!!Fx4mb|FZml^vf?kk2%bCYR#s9beQjrv|XqZ1)9h@kY)p=>%s>XkYyPVIOuOm zWIyH~GkZT|^9CMKZIw3#YMV-8_(S7tDJ0W4a2W!4ZWm`e#gMHM?t730OX;a{%9n6k zL4>8-r4>oKJnR9S2ymQPZr@8jsT8%ev%_$s9ENmSA;OSow%>&qw-IqhzohuV2fS%i zEGvoB`2D4ec*K%o%;eY{eCmUqF_NC|GJ=8J(0lFp;@@lUh+QMf$|pax!-D_*8$q8D zg-iLr)G zy~Ce+XQoHOg>mGeIM?xrL&ed3tIr%TcFp1b7RxP~$zLREEtt#+a?oM*sL=1oHLjC; zUm*)M#PSaJD3bHET!n(%tLFZeRC+Poc1R>0*B3)a&Otq!H{NvXgX&JmC)={N-_6^j zu}HXS*jpw1VXbPS_#S#7y1Qxh_XAUC*wftk!@(VlXHLgl{S#Ywx`Aob+?v-PMV>Xo!idGTQk=Ejd1I9IWXY#Y!2 zES1ivc-=6EwP-d*YqC%{ImNfgAt7?pXC&e@j8W)qlP;a%K0nM)u`Lr5Mv{by%TQ>u z?cglkGi)+<=27+&b_R;@W+|&Mog6P7#7PDC+!puGjq$yH#_Bin=vwCh*zt;-@qyPB_mkzLK#=0!pf21OPu z%@%U?@pzlv?SiY5R6eTChdkHf4$2=DS*@YfT5h#==DbLz^6Jm^r7BW7Aa|~RtIv5G zPp8t`Vp!!`dB=UxS3~ukNKXJ=1%+9j3oS<;A^@NVfe6Nm*#-tFfq%x47ZX}8KNiBb zGyc+Uw$Nw^U8>)5sh(I&N^tQ}m+bb9#<;G)ZG|@03*|P9;g*&sh8Y$>oc{|uxPUb* zkbp5&laIOesrCe}rv@MLr7**d*gKo!B;3+y)OfkA#>6i zn3EG{otI7bmD4j4N=}H6OADZ~qH88(&Vw}wA9LW7>+oFN3|ooO_%|tjVE00r{|WSD z;W?t(c6M#|vY8u`zW;%~FrTS2z8{V4xAY|Ko|##QGa#jnyd^0eE;BtkfD*jRF6n8G z?%5D|?L}8J7SQlZU~dUp8ai@Z54oUw<-yQt^|@Bv7akg}=Z5QN-V(umtOyl;NejQM z{9gZps{D=!uabMe9e3SbQ7G@}@hILKRpKn!U;kRot+kpmGdVGKioomN!)mu<75rHL!*~z3U}CcGsu`F zmrA%P?IcP;9#D{9v)FstpZV`%^modnznbn+WR_w&wc~5DCzj5i%sAO~bboBuCt;!S zwfLHi*c@2#^8r~dsG7Hp}zEu9|~{vz@^sIQeR7A>zrPyn5er< z0`X_k$j7TCLaO#!J^4gO#;Bo^qAQw34NbIM>b#$E_HC!}JUh~SOsNF1u-1v)CJY^P z*f`QMylf1kHL5e)-{^W+Oe_-_cj(g}e4qXhZ-;pRJUi-L4Xr{>F3I{dBL~UTfJ=Ij z=oqN1F0;c4t`ddpVcfJ;z`aFjhyFLx;2 zL3nF}pT&QbiML|5kJHx|$11J=j>(fgCt&iP`U8{qCqzWmzc_jS3zwvqj)cQJ$ey~J zT`oYifsTR1S|BfY;U{hqK$!mmO6qoNwV;z_36wdp(t>Xk_>CB7Hnp@FUPeX5=1O2g z&VJDRDdYGnGk7nXdGAte9|256j+k3$&Y@I;a|44Zi1VBRc*uhbU3V||7SFJt)_VTG z2usuSq5Z6Gzo1-z7tY$ZcL=D2vfl&e*}oB${zbwAQwiV^Z)^5WRByWTX*fghp$gJi zr?6cg&JIor_fG1xBZ>r!gM0vQFpd}I2#Cn>3DZn3R+o@P0rogDnnhEkI8J#{%-A6Gsf}Q^Ew%{}T&Iht02JLd*WdVCrD4 z9clFeT)6^lu+6YkFf2pn-c~n6z1-hy&kyDky(}lVqY%! zhFIXjFpC~Q7#gB!_0I*U3C}{^b!1c4w2HEFr0Z#?O@`sUo3(bwH)9ZuM_cdQ?pg_W zo@dp9$+_O^(``{gx!9QHjFP+CTU%LG{%=T9p}cJZEi|wr@)q0?{|AIF&u<%IM#8BN zGz^9lE-dYk?1Ql#Sd975qvOX%Y!BunhK(qS@tz>8@i$o1nRVN^sG5 zuxUe@up17HKv+1IW_JHhCbWsQT#v`To>*EIN)2C>iXv->i|TPEC}&}@#J>j~Gen%^Ih|e?@Hhe-(FUjH zpESRL_VE6(ZRq)-c=x)T(1p4olW@2(BL~^a0(6%(ucto}5}Q4&e-BHdW&a`Tx zXpvGFgZl>lxd5hUh|>`BgF4X-u@eMN@I@8m76jgl^5!88YCZ!7llJ$RO>L-3>ZpoIPKC?>kY3RZXn{x6Iju1dj)1sE$Lwjk&L?gAeSoN>5@ zP_Vjzu>&2`hHvwhhCYh!_$XQgveD@9^3mZSmNd5%hx7QMq!RFRhdfD>Wc;VmztxQa z5SaEBJyzdk%5nos+Yvj^c1GThhPHxKjm+ z$s+EvXupyjiJ$1-ydt_FByK_+qVG4WNZ`Rp;k`kPgT(>-f)GmMkszeZz{ZH<$O`EX zgwsOpvnF&ty5)Q{24!Q)(n*8La@`bNc71~w;v|ze34JVj?9krux*gi9#qO}t30FV8WtZ;5LiV}69v6U_zn$32L_`5#c?T;F*y&E zK#uR#cdyqx9-TV`Sq8cjN^r;(2+ySnb|Qg*jL3=kGUsT)a{-FdnGKoSR)5CMqUkZX zh`id4dbTiE04)Cwa7k}1ToNvjph1xk?zXiuwcxUKwsEUv7!jlMMoF%ZA`!^62(;2M zQMqt0{|PwFI@r{4zw@TA+3V4NCj*TOqJ^Sp_Gcl0C3Ytw z-oX!`a?P$-Zd#mrh%@W0Udm)$hnr{NM}o*XLM^UR*EfP)s-?%`hVU}aL<^I-Q_;9N z5&~2qW9oG(fh7$E1yRUIhdLhBd2PGb-0^YPSUXl=Lsn`ypb@~HXML|Ni! z%FBY`T!?Q**I;+`XV7HzUJoK(oi-cdS-nH?CqODdOeEy10z>KrCq}>q4{>Cyfu0C* zExHXku7J}4eUD=gn`me*a={fuodIB0uB*ow9#~C6Vtbpsj0DN0mFCkjMHGRezz=5|9>#>BI7et3hV)yNQN+PBO zK4WtNCW8}+D*^UnPkZmPq=sONwZhKBqa6c8jY-Lj=}Q*1 zWbIoEO-5~Bky-%u)nkmHdgPE6mG2N!rZt2?{)22MDAg4eD{8JR5QK4z!3#R-*j?w-BhP}>@i5B>$d6Iq6j!1Fc6rfq5B5g!@UHKc6S386{ z)lT1&*!v5Xp7r!2h!nYz5_Fy3WBYV~qylZ!;?Rk^#F5)<&<=qV2v%sG+vm=+S}d4% z!3&au_$=^rtYB;bw{IQD0tmIhn`g0;MKNih+PYy&%`dP9_Dh9N4!jTxY;1tfVpE3D zVk}1-J|DVTV79@@$n$%{yqiO@G!RSw9la8&O{BGnOgdFYkxWHjJolQE`V-NR(|s`# zpj^pc64_*d!m>G@%u}M#oh{`zCAz^eG%bqF`;DAel0oHCjKpV{?fc;|nIqBsNDV)8`{{J2OGKoBHyA@TG@>42z7$R)k`h>AlBXYh44 zR7C?-Gz;vT-x5H9zR|}~eH=o=XHZBVTeH1|Z?Wp;`VP>Isgp8|_7}2Ojl@vw&paHj z?E$UsrGkF)k!)n6(~n~gb(R3TMmZQd!?v6OUKQmp_$UHg(TdfkqW}^_LFb6#ANekM zf#^u@ouL2?1Sl7;&iFkN8l*kfIrem?m~lG`U@Ev2$(@nN0m`i-YvC1%Cy`Rq4u$Py zCDMFo6eeDQN>SfpO};{ZQ9?z8D_4-m;$R+`pFo<@B=Gog3)PKZ^H&s_)oF}JIv?|b zSLM*d?pAOsQVX9`vnAw!8h;A8nN!Rx+@`|T<1KLgynHy}Rw=~p)qSJ@QuQTW=@DO# z#`x*K!{Prgh_F9KMBYnNTX0VL^2k8iL?DW=zybPDhzBfiK&WOf2u_ZHYkqP}%jB5Q zDxGtoPEtQ}fBc)1=3eSPXy6G+T)mzz4 z%=6*S#+=M4WPO4pnuj!0L3L*r0POjJJlf6S@2QOGsRXR(I*z4Zb?7^}vyW+Yp6FZ4 z-A0B`EZq>bSDR#HvKEshcU^CWEm@?`RY_1lj`ygz&y;>iI61Cq`z`#`1B^OKQ*7EH zL~vR#AOdQtz!s2%3tT%NIid96eiMXG0tOPUCV0^VCW;sBh$rxmNTtx~f)*nU&6NGY zV0lM}K^b)_Lyr;q7|DEE*G37=#e@G(7?y#_nEV)bvM(@If_p_**T<);TKVjsn6Tu)nK zZ6Xoxj0JMa4f)ptJe>>BWi1h9VgxA8Ec2F4z5JL2Jag8B^RetU_8`-uc}{@>y14;3 z8aJ1mYO7;{2P1>;s5}2Rvjos%0X7RVhy#*UcFC@&by9P6;)7KCZhg3~3}gY0Z82`Q2QSH$Dc>ufn_G@J}1$U}Y+ z*l9k^pGYTV$V1UfXFcHn+M>?~030f%$7>FNVM-lR^(<@egDT{GGg# z!n7H7kq^?SLnRl;Cgyvx4(#{d(Kj7ad8tjP@dn-;ILS}W(0x%pSwZ9U9gnkZ|2@E> z<^Cbq1K`X8!4+r~2Yv*q2y`>~7#P6o zjcE=@tzJi95=(l>SnShiZa^eLH4CD(fb5jimLa)-mtMmXT0gi+^ zbL2xbk_2&I0z`g>gXEw(yUST|rW=r_N7bl^zGs}qw0JodC2jp*kiV!|lXDh6&m{YP@-nYd@4E4$e~gzhRxuHb@*{gM;A8i!xBaN*4e|16g`Lj%>RluuW_@!W0O7 z=edX%&T&P`&2u04=1(XEFSeUJ^UXR+~|s4Xq2D*GQ4 zjy=$Zk*$fL1H=3WhDikaMnE@2-*C?5HYE1HBfvMz;a6`<=oA8m(Mt*LA%sG~#*2(y z3-BA5;{bZ+4BR2Z6!~q{s<%}kWAZ6uGWVS#kd@4pN}Tmzq%Wp<25wjEKEtNz;Zy!2 z^+?yO%!9$j*|I1{$e==!HnbkF^*AuXa=_&URD~UvAkvbdIBiLl7>)+cD!`XvD#-h0 zrV7X=fr8PfxSm`Zx+z1yG}?GjCGZ3Fk;>nE>YPN`zdU<|NZZoiP3FXMZw}j|*4z+H zRw$54Bycer!tp}?%*DWL_}{Zm0*dhd9oVmh7s`>S>LWiSjl>!P(oiUOfi?$5w4kNT zZg?#8qKbP_l~z?!shw6avus+4asP-Ryf-bEU}L`ml-y9eownQ4hD?%znbXN_l5xgp za+W94?4;8u0#x^cgUpQ){$)Wd>59Q&GFj8BUA5;5x|>-*;p9 zr2AOcN^Q-LQi0^LTwAn@t~GG8Gstks?-qhx8?wRp}Q!%4| z56fsnT3nzBeHvY?XP28gqUAys54oge+VtuKRMyVM^j6cpXl{0*^Hpx9s%#z_%IS{$ z>)5#^ND0DF4-H?Uv}As-jHF2EaL^dKOX+8cpbIS9Gr+%-yzd{$>&5U%dp3I6Pspi} zY!jI6WJW&uLPd@xvvrU<9nh8DmC25R_WTC`7U)Ov(whl=MM}#lV{R6Db~r zZx^4!wG(LS;HGG8zcBGYIJDI@dFUHO62#&0lSk<*k~CikM$t3}ErV^;i$FzhiIZf> zmuK*boQcE%k{i#wGopeT22pj7(kp%d=^(iP7_8Wgv)zGkW7@ z9ST~qFFENtUvryy1^d&~aU@JD;0H)3QI7dx zt*%^+5rvSx@K^RyJYp+_q*dKU^T;rMKUbn;yOA!K+3%cX8=a;UHYJTE)#72gY1qFx zqu3~|2dSFPkiDS9NEEfUXK$7O+0JfsREHHl94_5Xib>{_k`HvJoj`JV%VH2s*xIl} z`aC-1%$vE3aljaDPY{6k0Myaie0ES5XB)xB19Ae!Ok+h4e>K67?*)#btcUHQ!xS`? zzOd0$EGgZ|W`Aq`Bpki@A(QiCTS}PpQ~uL@u1M`z7eXy7->MAmkTo7|KgskdNKPccs5|!aDa*gn3X$M zaJ#wibb?bCwK+Q2EFoXzx*tw3(B|3@#f8biA9lE`;OOYIEF8PnapEM~@bwG}AdWdc zj6oczPf(sAfII8|7qI%@a;1X5rreSRi}0WM)dG_p1NrL!YaziWtDtLsJftWmM%?m0 z*%LswIRA}3k>&3Ciy&KZD0;SLT)S)d6pY@y2)fI~&;;;_T%681_Iy$rtps8jQsP&# zX}=7E_G3|36Qk%kr7JS(P()NQm*D-b+sb<-dyeyaVqv+OE$v$m?by#&E@#nVOgwU3N_;SO>-2j^uACWvgm zRmZflUQuH+;jk$$zTaSbKpc!0e?1xidqg#&(SnxOnhQS`Y9g>o-55d&wmfTAz7<$9 z#JD3n9g+%+8(esPwpEMx<&A{zCW_k3vu*@F|>!TQ_hK(v2ZMZ_~;s-vU`{i)Jz;CU;Q3<|! zyN8U5n)9wW565oVE0v2$;&3t$MdIVQUq{2AhWB@aoCtvES{xZH4x66!AEU!aqFRktW3_m?uEeTQ;=?`( zu~!;iH3~-bzxDx@62*)=zvYvZJ%+&T34;dl0R#Oiw#EdOMeq%NXAZ0oWEFKB9zI00 zsG>7&gubC#j4U}pg^kUltdF3ZMs3$F-=s)bnm4=Ft>S)?+|{1jB6w? z26Ag!wT4cFs9>%J@Bn&#h|YljgTV<4 zRLnl1vvCIAjoY&zbccq!Lo?~g$f4X2SGBlnWt3Wo4$0C|GHjrnBZwSw+MUTK#&}1f*IqkXiD1M)oBm5x$tRby{ZvYv!`dJQ!gv{?BrI;NI9w2z z0e=v)}~^`?#5gUJwEQNy!@Vlsko6AX}Cq2NgG-9 zP@t92j5&1c#|3LR#{0kNc1$<1MhXTuyPCv2pv0 zhWm?V(oW0^CYH@C`MkW+c$*|X>$-^LY+lLt{Rw2|Fp0OhwSUIhALQN!Z^wXl;8{tl z+k5ssEYcO4#td?M407ZKv%|gFby$`_V}nyS2UdE#v;rR%H+Y@-`Bnt#2F{xe8v^dc ztC}cpHdFQfQ=)=(^8k+H4hIxSz5m)E2nR*Vb2A+v0RyHn(9@xEq1FTmA}HyPrC>=lEYVDjf-{I*QLr<} zOSOArQ-04m&j{YvTY1ZTrVYSg2^Sv>GonSg(!w` zeT4i|E=O9LyJDqr$&HS>a_+C1l3$#!$&o|nCgs%*pGx(<^P{f5u;AqhJx}KMoDTE1 zh>5jG;{A)#_KDYEQr9CaIY#4jAwwF(P_D_(lML!n4O6j^FEkV__+p1 zLvmLxUs8P5P26f^oYgmTH&qf1#`9j%uM}_PeW_e+9CtpEx8~~aPAp6@U@|A(OWGH~N1O zOUa4cj3HvFK#k4MUDeM28^eWkj?G73jZ~~Z7%l;|l(tG6V4p$qk`U7aN;NPjz?&k5 z30*!uuAcejIBqEKqr7r@$()IkFWftana;oNqBm988ly>Oji|{@Pfnyir9k?E47~=3 zxJahk_Ac9>p9bBC)74N94|w2-D6(W~*LU&$FNOwzHb;)f0%Hy8R2R^j01d%z3%kF7 z(#JAi5MS&WA9^+3|7yIXY}%Ml-kf}Vl+e7PlUtT3OitcZ<1(ei0!03H{Rk)W7hOxb zvoP8DTqgqgxofzv1FiHT)3XJcT!THVp{LFVXs8_+QN(aUE98PP1Em5A1C$BGI5%)Z zxS=O7Eb{942mlKX&MW9uYnxmUDv?BA-@W9J4D~<*|FPxFSH)3s{@Hm2TlsAh;VN6h zUi~SmQ%E*KjvRn1c{bQ4kbnf;J3yPrqkstB9e7n~SOZO2X4us=EO&a$wSDu7HaM0S zkQxcS7Ju;|MBc3e(*1DJ5&CX| ze$-5UHnDvw1>>aMs5@LbO2RwkeoWdTeO(Lnc>l@OA<{B7`^dKNz%E3qQ!`-m0^G&z zaawX(=BMb^fB@hOzdAacY|j%20Ap+3&Pbt$l@Mb(GY8J=9@pF(#q)&Tkj{@)QYA@i zYHq8CnhiU^?ynfPGDhYC;#J z%^+f1F-C@O2bT=Y%$Q5L><(KVqKq85ElKfZioglURYjNtYLC#9HRQ>fWp|Q|6Uoh# z@fasqMa@mtJ~CUv7b*+;SS>VX?G3nMyu4Bl*{-&v!tV|roUwq;SkMNE3t+zRL;&lH zl|G(dRtO2u`T%E-sY${(yktgn^$wQbT)++Fz3&h^HnDpMty4QId6#5g1e0~oj}S9lO|IvPyV+kJbosAdHmr5DEr^O)eQd0(J16qt%!$ z=6P&AD(KGiMeFsq(?Cv}jNNIth}XG;hu1<~!)S%6J@IUT1APIqIVyXFvz% z&>L|mR#Vob+gAQOCE+UblTq$6eLRa_It{;zfU2lr z)0noxLS}p>MZ3km4&?8R7Jda~ySvxK58<`FEe?-N|BRL2D6^d$PEH~TqEmlD=6b~3 zrIYj+%uGSg{On+Iwi2pHoY=Ac=?=HkhP^NL64?Ahn(NF#?_>>tX;*MVTLA*(;E08_ z6TWA-RdJ}G-9{1!wgz5Tpit$#DO5&%WmNB$48)}a{j|qOxcBG1vupPiu+~*(@D>HI! zKw_gRM4v~h)8savJEvza8|V>-{t;35kBIBJNdbM;qpw7mzn1ah+&yErucsGfh0P;M zFNpLLGSGTlnkhhtPmEzKv`fL{*Sscxe#s5DDA*sUeSJ1d zU|qC#dSFrX)d$%>rzB|_0VJ++F-Z^XW%c8m2*$F%fT^CyT}+e<0pj!}<;;_8={{EX zqJIH9csFafyAvWS6p9`c{T6hvSW-gPjYAV{D%x6KexREg?#5p1>fLNe>M?mGcyp%fq?_C$5xJZ6k65TCiaSop-(~dlFg!YsP9kmmz-Mf=CLkeC zg0v@2rw2^M>-4UQNV3^XW{uFl9IcNkQ2Uxt5w?h5q#NCETGn4C8#(fRneE6#SkxBs zjzbJ6#D%YEnfl@%M`$(_(z6iJ6sCFQ&F!sq{TWHn-#}I8(VD9y^4cbB<|jzVuNti8 zT(Y8S^0HPr6i!Y?b+SgbkQ7Vfn~+~7@Bj-k1opf;gL|-;_~VFA%7xE2%;i9$kBTD0 zq!?IzGMpyn8JCXMJ?7Y*#5QC`Y6c`IK77(P-2i`ZB&h-J&U}O+so8Sm=hc>3=$2V> zVD1`vE=htPPVQMS?CRs5rBJy*8Uw2-Ko-dO1FYL7Bo$$P0KO2`q<)x2UJpH^_C2HK z7U@LO%RV{oS@tFwCZpT4m38f{^-lT|<^HajdgHz}B9oK1=aR2w+@@%fBe&hdiBphOb}%umwCrGNWo2Po&HALWHl@3!|GluizrDY2fB)?@*R{3FEi-G@ zdf)eXp8NjYdblg>1^^<=CbUX_@}=dsct~54q32*ptQ}Py61z#> zprL$@Ddta{4Kqx;9keXOy#&M|!Cw^aUlhzI@xhVN#UrC{tf0RKltaOIO1PJAPvTA~ z`$d!ODlt^7T^8ecp(mCi=fee-?%kEmS(pezuZLkH3=S^flnlmf_^OPMiDWyn?cR^V zT-(uq?in8{8eh_#vgoxTg!78)8*AuSS`qu|tgh1{hcbtZ94e?o?AISy4-HTM7|ztt z!9|pJ5fGwK-f~7qaaNY6Bv`q|qs7Ptl7X%|yUu;<^hK+txWje?(S;&mH7>s5&xuLW|Qf1P^ z7zXDH(ly;}7Gdxw+Wiw9+*oPcSebj0lt{^6Y2-N+PF!7S-VHOpd1hWtH>I=;A$wH? zrzz#=sZA}yo;N7?|Ff{(7#%h~rH!*vVJWD)@twO3cYw1-4@Z>_W)#k6`@ zI(>QM;YTag$7y*Q$93*ZYbZ^dlZF%g2=zz2$l@t6Iuo8oWO0+-04_Q*;|I|*$UWJ) zpy3^*IGaA<8+jmcNSInn=&Y zN^;&-1?@HX3r3u&9e~h5bPaBr6ZTwaW83~J4xWp4pNke0vX4!dA?a%TXmTE%v@A9^ zi&=-ABMq_{ZB2=yo)@X1SdMX> zAu~e!1R(VW8~Ly`8L}b}YyoHEyd~tuW5KRycUN>Ue3mYJ*5hgHvVP=|491zM-dFnT zOd0B)+B#Pk*t)WKojuz42TYT7Ejy^5J2UaU;q(nRG3*{r*8|DS4Vg3tgaDN`IxSmqeWc(oVa#{oKOnEA3Bm4}xz93(RLtA`wEhh@W}e+k){U=x ziVBno@7|iJ;)9-GG19|u<{bt#G1zMcJnIf@OBT!`y;iw)H+G}@yD0|##&@HFv&3YU zSjOYhXOn9hrJ!Ej$hu#6dEn4Y8Z$0QQw0N&j1av;415oG9Z;pq;1Nq}xBmb;7P>J6ic)KR( zOR|uRiRuWdZWMk<&T(*#KqKRO&vaie{?jdAnoLTQd-GWk*3yf5t7=NSZD2MP@Oj%z zEnu|9&@s&1Vwv4F8_2;mYH~AG_e_6)$$iYk!JZ8wl9hP(@j)1jIuOf)yUAt2yd?{o zWz4Wma8+AeBt6z^5$++uRvFVOv#S!_3%JT_=>bWBxT4DCj!zV%k8}^gf;Kf${i^bA zd2F3;HgXwT0FNsG2+@J)VLGjmJkJ&E;52h%$zqzY>E!7rcvWCSlBS^_jX~XaBq#3> zH}_5DD9pH%bFKyGGt>CmIU;R+4y{OPHPVg(A}Leq?Jb8D0)0z@ed+sC1lGInt(}Y} zpc{7=_6XdiI1B^q0nh+PUKuC_hnj2K5)xb>XBNm;ZV92IN>FY8ZV{+@&J1P>N7La} zX4&A5>w7Qvn~;ZZs$gD7Q@#jP@^_bsK_yo|Hv(Et2p(PFQK7K_^`pV%@IE_$jL$1G zpkoir7OF}cMAXQ{gqSOfd@YqB6&k_R3kAGd%cu`R2j-No+(!XC*3SS+&5MPCVR^LqG*CetO z-nIs%Ga~ao)%vt@@g&q6GnH~{+J_9;R>FR?gBp$+wOE`susH8^QR03k#fb^C$)NeA zByqknWF%RYsCj;Z@^&h-vv~bey4twbpF%&&{9Y_MrDFg{Wp_E$nS#0GdOPz+Bw63A ztDm{)X4|H?K-|ogFII}Ov%Go2ZnJ@bdiSJ|tjnr*xSd#Spb>3RhEbX*9DmdS#Q) z_m_Tw@4}F1CP+8T!JwU~)iEPvpLz3!jBd6#20}rXS81#~^q0;% zqWWs)!&#(qAo)J4b1eB`1v?=yE{1Ixrrcx^`?=XnKPAJC{FF`jdm*^38Y}&C^%%=)!Svhe&!7^GXH~ zxT)dfbzR)n$k)XF`RSpJM+K#?b&;BS1|o4zGgIzR&;r?^DM2DTd0cOq2)8GuaJg^hN2LC#7i$Y3t&GBIRle z$*mLAX)OAda8cmUkhT-0o-i?qjIB2yHOq^gt- zp1&}U^l!Xb5EY`l6sf#gK~q^|-IxnjQllqpjdX`4v<9=;WplB7Wk)O1CxgH~L36=F zXNob`H|okYJ4sgod?(({JD`NVph*MK^*I8(2{}>3vIFx^!?jdze%>PaDDS)g_KrZu z&iiLVWEicQ4D_opQWwTRM6iwQtWqI)9t10-+Iyc0DLNCp-=DePf90z1gh~03rj-t_ zaKBs?_#;v@iKD*&FOHme2$Gdo$C6K%(=$ud&yhEhSxLUwTjytW92Lg|*D|yE8kZtS zGQR|$;JFy+AFKIiojmhMqL>5EVdkVWqKH9soypG-jR?DZV!TU zo#uBi%ukyaDX1dr0Dht8bi`s#IJ*%~aEG{-o1=c;{6-T_e0SEezeJLuG302jAk#P! zNuStGqHtC+*3{>h9t4L%iR{0k;i@~ENKh)qJ@Y%_o`9x^wlB-RO zFoug3G-_m%bCcB~<=`Q_+@z-3tF3052|aMYjje{6p*^G`kDN%w^ExNSoJpmnRb#u; zJw7pX1=J#+HyNijkqdP!vY4JD2nB+&ws@O%9C?}W?AL&*Pr$}U&D>tH^mTumU`jwO z>Xuit^6J24EB>=``2CF}8S67_oCs2MlQ%mCBWDYfM>L_#Sfc>~^#yY}hl91TKW^9l zIIPehif*y^-V))nqz~W(D^`2Wmk{iFBB`cbNx%_fj1IXvE&EkMqy2g4m>URXI? zZAU5ZArd@FnU7MU38URH+XDq^=9?Jv>=;sPM_&p^rq7}}Q#zjw6`LJl_WTIqs8eoN z@$JGA@IARe!faO^a$f7JkTxIZ5X_@ZiInR0*OI}?BcMzWfmDp41Nq|_AiZaMtBHwI z(!h<9?;i~va`t&meGJKy(l@iwJTxy7I0K9$@YaBp&$jgFz`27^4%b}|H40SYF7&)? zPN&IbM32vwt9p=6$tOsQhxiDt%3az>oLMKfH&EDFyr zF31(-Cnya=JUv1_)#s_+pfRRS1kLLE3&hCbC4t#0_(af&HCt@tr>Del(+A4RMMgs~ zmD!cbSVv=hm{2ml0u-vzV+%*wIcdufb=wJwo>mUjV~*RS{Ipbkn7AGmG%};7h-;9Z z<35u62}9GNDZwk$^()k5J`@#pK;UQ*Bm`}s4IC#NuqQp_jp-i1Qf6G1(*OV5zY z#-(Y~)?B6_e_iFH-!`Io^;)uezcQ=;<%E4LRJ=VR%zPn~halZx1^%To_Vv70CbFBz zTUk;LR4y_ge<=0{#1uhk2)igw7%qc%qD1?$_j_UROdsQ!K7!%OkEh=Cm$$7IBJBd{ zSoKx1I{4n5WaYLS*HSmhR1MYsM*1s~`7HVCxL|d8TXlIXJX+xQ+DO$&vV1L;AwA^3 z7C0XhU%^cdcb7nYP_Tw2WsVub>#IJWA;!Cp_In$#wCKBKn~76nV$`zoMb}3 zqBnI5bj4|5%7OBhC)u{o`?kF*YqRTmY=#sdib1f*f@#6YDM1y0^$E>5QXBU+}t7I1`uBv4PeIEI8avb;cu#%i zNG-6m(Vt|;LUM*KqTM@8(se>$3_haR^@xH_mHYOLT@xR{7-8L!ITQ#~{9ygwj zYMLs+H{7}pn+_cx%X}?seb{q3gvdd2?3TPJg)BXb?5ImXlLq)?2cD0&$dm8J!bFB& zCa+1N-R4!p`?)La!N(Rr^NBg>AF6djqCW(3s;92zn;tR@!ZbD#-GuI@^Q-iAX{IUC`VZtn}iJ@Q~j^sbI*F??p-uO4GwJ$CvHu8^(Uh8I^(Hhs0h*(|6a#16cCGkp%KFr}b)+D{n8J~ZQXHGYk^*bxZC-iL zo0C(pqeIKXL1gYG&JBa%47H(iW`h~RW`g6(`&;-~sW&eoxH-hQIfTrUh%k^Sp_H_&p$=Ec9U}>)mtV$O))h(GDapswurHxsGehv@4vlD;5IJW zvD(?xCoC{^D}N}d%u6;QJJt=tj@v;_OdSlAy$MDvxLe^8bDK>qzZBtX2ny(30$NsF zQa-+dtR~`${KDX63eUY}xG8fLVMZOxzC>?}Q+IW}Xg)&i*;cSAG@sf0t+MA`wAuA; zFe4ycfSv%&CMzOr>{azoW+%pR$WU5UUOOqGkxDNVODo8@%UiyWYd&6-Lw`>*mygU&S zAU+@r5OEWRISwlkmZc!B$A|!1jOe+xO$Y`WPen1kX*>otxb zOw%-cISq|Idd%B%HzB^W%p0!l>1xkCt4~Zrufyg^SLkg}1w7lIWGiW7v z^lfGr20Pjd-lctltA#nMg~4AZGQUo2x* zD1vdAG8^Gk*}gz~31P##n(5k(Aa{&#$C^H-jQ2@LedF_D@LK4f^~P=jyxpCLjkAu? zA_;RdeE&VD<(fLrHl3#w@KQt8M^-#H8s8IWH3%Ka(%WqCv7*1~@auBPv+lS^Im zpn7SpcGP)lDf;oE?xn{DLwpStG$zz=nqhvGOj|F5G_pybZpyFj1sD4mRxE+X;C!5NB%V%mY2lpiJ z+LNqlOpPrntthD|DGIg--7P};R3=#|Mr1wA!n3Q%xvRP_B1v)#EJ?LY6r<^ip$6hc zfsjCbOZP~sa(+z9SxR8*_8ym7Q5lgd{sbcjeLRwdNWbr-5b&7D(TgIdIWT1kw$teM z+35G}^Mtxl6^90^{!9bTukeg|x~DkKyi8xLh&f~?WzP$0lw}oYSmpSm*`~ftF9V)j z$}dIdR+QP`M8#8!!-xe53z!+1T}BhBxFX~8#k0K|Lb->7`R}p$@2z|p6;df#e_Sx$ zeQogFzp?~Y@PsthrXsCk9OuZE<7Cq{EdT5^j>A=rjS+BMHThMIN-&0Sdl*ej#z*G; z!p*5MEsvBny+M&%zE~J8?Z`GJ^&^#T6?(F0CGlqIo-pkj!L{;TYmvhk9~?MM zH*i{$LFzr3#BP_1A@pFj$eC4BiiFs+h4FNlhc!;~ETC|X7MQy4yc}ysgTZZb63O`y zFx~=JfW_5fgiwJqnr(KU$)P>r{ZYL4m8iT=Up|q+G$_3uW#I7va5sHy5#+Gv6y*I( z;!h(X@6uOw%&Z{-Cpl+hW<+sSGuvU>yK z(ZLJ^10)Mm7{E^;BEn;B$u{eKgZFBe2Q%eNrrbST80M zY$|qnc9SFXY1Cnv8u_y>f9B^Ko1Uiv(}cKXc;1c6P1ybljMFh4Rv*p6_2eK*f*a2S z!F1b#QNfWH*pV09&r{^%Jf?I^_q9CcS{^%jjP6F>$gix>+75kav}LeI#~%y7L} zA%w0-3MExG+5WlJZh-X93O7HzWSH@gad)KH${k)4a@>QFawbyl*@e`!ydcpsM4LB> z>fEhfPwT{Ji7~Gf3+m~ctJvDKbFD_1wsy+d*U*}pwVN01oVH#Ku0cXoM zPqmZ@u^}3*aJiyv{{)i__*XF5 z*fO~8DoVzd=BS48aF_pvlNJ0kY3c!(Y_>r0fZ~=}B`~W5v%qb`80G$%} z4jCa3QQIl?cG39!>l>&l-b;ug1?qe_C~D?|pZ0(gh2Io7DCoj_y>;qWQvlq6SJCBd zaH+K0daWwj*V1|W`U6fA`dn`!u|#{+6Vl87$uhu;3FoDYL+=nmLjajzg@$?rdL3ZC zc*u}?XLB~7)=)#idt}UlDjym!NFyM%#3bB^XA6HxyA!5ZG>msr>YcF<$Z?vhS;F*x zX5?uPa92Qx;lW6FEI6-!;sFXkVplyr&jXT-6L2h5yF!6^Yt8%y_0Ld&8g@t_(e$W0 zQ5iLOq*V7lO1p0%<{NN8y3ut);t5zz0O~-Ng^P_H)@pUSArn#WgZ*cQ2(%RKzFxCH z<t%az1n;JVh|%k81g@?ZlUMiQ zOTkAe-=ow*G!M;YJXJ7`n6prM@=-P@4*^oK^JomSM;7Ap^s?UeMu)Dxrx_+@#*3$l zLm|fJgohxGXjuPQ=DmJ*6?{rpo$rQZcK3x^}3Uf(J zoZEsy{JWAn&>ws4EHJmN zQs}Osyf?8S19$n~eUPdA$I);SUdl~H>5=h=hZbt&20SP?UP|d5Ak<)p;BSaLiuOn7 zO(`0SHD`U)FTF4jYH>1>vH)qsz}FGltnW2u;*WJc#I~rJ{QnZTLsQLp%Ij{_oIXK7?4Gl@34xY+Q(J!@>;eJ$i)DYC)L+y^h_EBivwjW&}T==TnF= zGPGInfMWT!@tHg}M6f~6Z9^By=s78H4e2HA-5es6=JU|mJR#uhc|uMYn-A!i3Vzm+%nP-F{|wVLgwTzTYV{EKJEhWaqQ|l0;mnpis6Y={`|{!t5DVpq@y$tRu-9u z!OVfnR*h$;7LN-2G!6NiWiFVWs;I33E`Nu(w%T8G1(hcKw+JzCF8R|`AO=-&ykoel zNaS|WGs4m9?{K1_ep-xvRulf{Z|yJTnRb+&Et6*9>qp(vRNchYAVnwtYyxftzTMlx zoC(Kh0c=JUm|qGIU0lBY++~Fq@5kQAofkEvyFwEF^x)2)uWmQrzBRW&oyi^3dK6I6 zIvZ47-C}@ssfD77Dr!|HE8`)Is?~1^8bWW7ucVksYFG98ayKok9ohP(pz-ky0>9eW zz6=zNdjA7@B~ra-tGGQng$mXiR}GbCdqJI~E>_hx`Wtaod@k1^S{=?D?PaSHK|{-K zp}-heEc~I>_-`yDyoc`}mXZHyEu`cNgUB zD8hhs>6NpCw1=KJTH~mWjJ)RD>^UoR-R#99etT1xJRC=G)rkBlMdK^)2m`CaFVw4V zit=Z7#xc24Zt9+sV;blik;wiMNdY5j&*921k^ye4=utGaIOolJ~(_Q(05%^stW8S{4#w^&|KD$=0z-dC|s=1LUZQv7o{SmDn zwE|3p+bfFlM1p(MK04SFqIh7U%>SnB-+Cy$f06Q+3bH8(>nt49iGZ0PKO78PoN)k8 zz%6LAnmoRcqK(*a)PkEELlSx!I3*QRD%XVshDMaE`@3(e-LucJCzQ96*V1N zawr!(5@n@0e`VTOnHV~n&c_Aw&8uXwkV+ue*dEFjJ!x(9_BsPqO?+6Oy(aK63A`)v zOzdS`BBR8GLj=loWPo7|Z_md5j6D&Ob6^#Wy&9fl-Zc?7kD>GLxj;4_p`!w)7kFDeQl5m`K0@FPwV*@sHnMOV zNo}}C^?fd}^r);0(>F%iu|#vB53Al>qo%e33Qtm5W&>Q94dFq%G8 zbLfCZ7?~4@SpA70{n%%R1`WpYQSJ6WVB~`AHHTD5j``I`_jKbdYQY7t&;Rfv(5jTlMF$nmPkUQ1?loPxVJG{MiU<9!#QaQMBuOOEZ@?H z-V!d!i9F4UNivo~=X@`)+zu9`J>)ahW%rjH>+0l%&L2gP-y-Ob!o@I#f+)o!m3KvC z{t$lqjAlZF+C)B-8XGBqNCCEF&WY(9ab`Q!@=Kqk>!Ge{x)bg>5aP#OYe7Q*YB#`R zaZA`BJ;hN8l?=k}vd{9Rsw+Hrnqf{e1>kAG4Ioi8tql*9hVlA;b|65jL#*aRaE)qoV-`;xThvP3Khl3t8uoP<83a5PDIh2oHR5SfG>g*eN2DH3MYg zHd^4}fJxiLSBPjyppfGo=oY877aRGc!0eqJc5}ZdxG|pI7_ZzeX)lz4oau754#+!7 zK`z<&VU_t*JQ)>XXmd4P*dzs14svBooDE-&JV|+M)XF}+v$w}2euyMY9FN%sh!-Cn zGXX>y;HCle9b_mkw((;i=;2ZL$9Vo`u#XrVyUb7-NyIlfiNhV}o$V)H3HtveQ4Y1n zo}$z*adOD{Ev|DKVjUW)X;TC_rJ#zLKcbWdv1bO=ZHlE$u?im7i3;a>bQ$_SPW()i za4?dZY&Me#xy9Zg(U=X44ZXRI>Q0SiQe#uSt8bqBUf|M@L_ukqCe~Pz2wVa;f7sbg z^Rw8K5A%a z>i@+}!sC_x35r%!c|a0)EG*-Y81)2M9!;1C`ifG96FFi$OC)DEDgYnG&B*kRpyUOe z3i6E@u0SxmzmPUEIv>PvLziZQOP(ij8MC}gDecq2)AEU@<#bEDln3W@ zX9{aGnWyEPe(M<)|AlL4i5H42wx(}mJYR$e0EJ4fH)kU<35F2JwIDXM!%qgWuFZh* z$ZECl$V9)lMR+q_sORC>`K7~Dh1e>K?BmFrdquw=VD&KqmGVkL=AYh<1mQx?0!G~|@-`9^xLS!+6t8@wTL{nR#PW|T%-o8i;?=u6a;keZ zrCr?&vmP!X#u+g6qThkm94bT$(p6FMAcDbrKSaB_w?y3=FQi{i(DYFS$1?P!ctx+7 zu1W2rBV^F@Dn~NvN7d7H=?sDg-8Dp+fRk0%Unsy*YBN8LWg^7HB_WAg=0d!zVGi;y zT2h5QR>qGmAgDkF=*%rV;Q_zp94L`7-h<4=w)A43U{4g&6J_2`?f5w=Adc4VCf`Km zjU@C^mb^y?Ta-&%l(2JzF4f#hSZ-MqQgI>i!{?c{`SVB>m3#)&VJh+TM9s4EbF_+A*$$ z@x5eX{^u(eKnvkW6f`IUG3qO0lXT9JWS)NPzYQVZ;u}f-Ae@62wlJ zpmmE4!Cd%wc744Taa6YbZa5)Ib*)m#9DSc41)05eZ^L%q!fe zOMTDEv};g^4hXp>6DoS0>=o|wv4Q#F(7YT?%)i?D98W3syXw2#s1-t?tioxU+|%O3 z#E*epOj|!ewOm;n+3{=3x8fdJ*o?6hdh{ripe}@I3#pV);i7$l01v$_+wINhqg{e* z*lSCurqS%0HcI!6m>J8$5@~0ieh+Uj z^4eCaTOP&8qY!_SOEW(z$((^*Ur13uJ30reXQVzs-q%*A5OF%qq@}(}JL7RY1-myo zb)_z9D73`bGxQEL{gCGemNC6JRs{`44|+8D zUfG*G`-cwe3VglfO9rbQmBK~Qt7K3~fbLX!kZRc`^ZyIs8f!O1x&MT?_Wh(FKPsgV z6FA5=Ss70!@3*yjz>KOPinR`jSa*=Q=y%qb6 zk7narM?t=MbO1k^0VRuL{vsv=qBLtVNB+h$qIpmwD!E308h;jRrGcrLfmcG>Y?+>y zMERdrpdAW81#rATy&9m-f{g%;Wb*U?DcbM$fLH=c&}%a0HQB!F8bwUEIg03`)O#`? z3&B}FL(?x_eb;=D(*AN|O2%=z(m15Oe1WTbkzW`-KG5fxD-u{K&gle=_I zMx)qY{vq(*1t;SOT=Gi>NO_?S^Km*;uZWyQ7b#rh%-1NgT)`|zk)j>dNXjzks{^S8 zRCzLww*vMX1+exGZDNbUBwL`yTBDGmF^U+k%TnB1bh()X5~%_VVuk_FI=8XJs_~@s zrUdEEOIx-p0#@1KMbm<- zF!zz?ObgjDsc&FP1UUi#LoD+WlV7L&OoF$=>`SGSHQI}pw=k*%@|jlFi-1<2FV6`H z-j{5+FF~zpLJ?}VV6DPv-_>JIv90m|VeL*{pr*V)!+_VEGL0eG0m1+y5TA?-HqsC~28b0cgKwyys_ zqsn(9j2F+Kk72cvXR<5cq2fhrAX5O1#7ktMX>ghX(J;k&+xlF8iW>b-(wXrk!%KUm zGvEG^q&}$KN}kdy>jtTx70gq9Yuz_c2U@OE#ii{`|GS3fcotbDk)mdCkOPvI$0$t6 zdcjxZlw563_&fHB+!`P9G{CXfPv*+; z{wBKq7}ag=&)~H}Og0qQ*56^d5Dc|RGREv~V}5_;OH)^+?s+k>$w*s-dW)zQk#`Zv zKo@~Y&JT=RR>#SDp_3#;HW>le@MQsn>Vkg{x*nv&077c_T%pL+XlPwOEEw#7Xc%yA zG?-9Pm@zy0GEoKzF^U&Oh<1zj1a*B2)!udYr=;vH>ZP%Nsx+BrEX7vg(yx>LBV+NR zgambd6hkgI46E5D2yw8K&ybwNZwJx<%GJFU8LqjMk^M{DAh8?psenz07@JP|l9Jj_Yx)22`(``G~U z^AJ3~&6pnW$=_Ea#89D=smkeAFyg_ygkK956evfKc!53|DibzLyD#{Ooc%C7SxzcCF(Wok8I9{I1*Pvo|3daE9Jpe^n^U^-W>~>9*G4!B$66C z3q!A7>mYoM=+HxCibD|wV)y}zMYx!D;of{9eT!tT59SEzdxWt`bh9&37qhPo9rGjR zh0O7hJpHy#0(vjVjLf!3W?ZDCklql@C9luo#h`22LpTj5Sb ziI1%t#Xg_X7~mu@T`iF@OJwFXRL>toyGotMEF>U6t%zf1B?!11PcY+vA=8wr1yv)@ z<%L8Txm!P?2rHmW-zTL)(%Nxb4NE3uS>(^qmSsd&C>9(kic zwxAVL@_dQoA#%K`nq{=ZaC-DS}S>4CQ`Y`^RmF2{(&Qu=R+ZF zm5oOG6EkSwbupeoGYqCpO!Siqq)sS;+WIBpvs-11Rc78OR27YzP*OGq_1U!uR=Yvu ztfqJBI}f74fldl*Wz-vG4-k=+OwQr3b6+$f@HdiMh5DtYn%t0*fegM9`r!zw_`+Rs zkY*<4dpuP4#a#MgE^Yy|J7A=PwivRnEFf+XWPq|0l_+4GPVa4r%NiUaV}{7g&rrcH z<;pMR>SswfD^hWtFO!Hu@{?qr<(PSOCt!mGk+k}$;G?>4AJrkF)q+kJCI>v-8x01C zWU;)!K!uRT?4@6h#WhR_zjjd+4AW+8(48pA|A7n#+YW!kYhsu-3t0-7EkencjoTfg z;v@(X;LpIi1MjWT+%`oVOp-B4GP6?XIT0WDLBS_?6kSm-yZt)-l{#~37(@EHQrW5` zsS_R;;v0YsmuopSwE4fs^8Y*24;^Ih`Vca7L_Lghpo>8H05_1sWyE{H4~LM+4Hli% z*Kb7oO0PfS+7BU$2Rzlg1H;Hi!x4T-e^sa`@8zeeCrjsGPMH52#Jb0dM2;%5WMpg& zVv4FAbI7e^k#qi8DW80COAl0XOG{{2&jP+Of$G5k5)3?6Jdzv2EwoRZNDINJMelo2 zuU+8Pg3=CHlES@0Bf;EHbpUXS0kG3}WQ55r0l(|AAnAANymmZ#*X3E7|o+~$dhN@e2 zpDU#`b&yACB+T>4U5}~{kcqiDpH5(_tqBqfOVQbDFIpsykpMVaVOb` z)}1LEHBXkeU#xah@Pnw*52Csw7$$C*e3yXyH7)HM7TlbBr8ugo z-!y6&-TA&5>($?q-=e%qs{4yP`ine2o~6O-@%ZbH>5k zGT8uy|MO8zsO3M2Yz8SFy*SLdP`g6e?M5~oTIp7V?VyKi=Df!vwQGY_QA|}--dc+3 zP_$pV=1iq63}--WYib8OPcE?2wW|9M$=NEY`lHbq|-a!=5$BbDG2V!+W~4&9H)lXlFp^0G#enOM|_G0k_qOFh&g1?cV45XrBzu zi(=+Q?xQ^xJQBqmi7GfoiAR?dkshOTcxnFVo-$$k2LQ(?r&?ry-lLlTW2P%z zj6pHERD#l$UXuq_@L`%9j?wJuUt5Ee+4-}O;?y{zX)V?KAJUjwp4X5oh2SnDqQnU* zxEa}*+t>zC4e%yj6@Lr&KKY_CB}|_QnmtnVW#}Jb$z`qPQf%va<%vv^maKl* zyr3UDZ9v9Dn)jq)fRLF@St1vwL*X2jN7qHPY@zN7ri$I!Rw{qGo;Pg*$BiyF&g^^= zI4|Uan|6vsyCrxf3XfvJ7OK0a&+Q&&bTZK;t2e7xYI4&xW0K2Z&>CP)z{I`RHtl^Z zq#5Vsf6LP3Y2RRJl0=2)1chGbd?dD#W&LG1u|6@=avxMnR)4QqM~C zG>K52NYkG2jHJj{DB8)fj9LFDA=3M1uUrN@AIz)R?4S$>qaF(vI=sB-mhXUP`GN!R zxC+F3e+@6i6DuL0Ig;iaHhl=GHj(3#$R}gz<(2HKvB22bGw5U7jnnhZf^?-66mGwI zAD53o7f1T(Q%~ZftC-+pl=m@82Kl?$L{C?Y05<_sEf7;tjRKxvL1OLFE40Aiz22wi zG0GE50xuZI^+@tPP^Tny7ITQ^`Wq_Eekr-)Ao&_WRr?#6i&-;1_JtyP7@?mu@Fu4b zw3A`A(I}xMiF6ss;+fj>|DFuxy?n$x-$34BX<;O_jht4H_Xf-A<~g{Ad_ta|Li#7s z&&*a<>*&;YGe+%SqRHoIBtH&O_MhGonzZOYMvL^^Afzxh8BJBB!l8@gAVcFtZY$|K z6wV}ajzLNEoxyd-EAP`YF{Gy?p0UM~zf@{WGNx=Ka~3V!If}Z7&`Y|%2 zXNXH*O%`x_HA8#WplJlrFj``I=zB3v1{o8(E?V$uNnO?PFqr^nAB@yybcx6tm*q}Vt=0^0~)cb(nCvywc2kCG&*ig8kp%Cy>JalNQSukV<&Dd&3BpuqDMkCT|z^L#_ zX_O5=i+VOtq;G|kkBKmT8Vy_E)o6Z&Yci9=b!4eob4m%d_lQP2!WlTtOfkI4nYTow zIFa0`$9X{8k(M+r<4bU9843=9 z=xj5I&5@z&kK~mrLhakZBQoZQtaMvgFds6!BK13bx&ZxZ7O>igD3=$VeGZz=`~_;{ zwlc5QvZrLggxA(Jkk_U%I|gO07Lrxr`%g#qj4KiY%tzjxF&X7JSO7ff2hVZp7hr5j_iG6aXM63te^4nxV?ZEy;`8F;a2Bl!OpQ?*|g?!eE5l9U&ch zkNFGUNN@iNXQ#kW92aZqGyf(fA>nLmRO_!|47q5fm;9QC#f<*cgW7A8wxiD;4Lz=} zu}{>w7sW`4B#nNuB?{YK0u+nAw0+$N*{~V;E$H0HH}aZnGB*ux`T2VDvhbXb{brv4 zt=~c^Gs>@%l}=47meuf9T@u|GdSUC26Nq{857_$uKe%#e{~S2Vp#^RLcpDl7P=fx2 z0N#sP;{!1NJ!Z|tOFyU1YU6zeW(z=#m_Jy^TP48JVrJ+>I2#1*7;bh11N}w8ezdzE z?fgG8!BoK)rGm1`%y}YJ1+m346Y(@RFoW%%+Qz*_|2$lGt6tkZ#llRED5fTp^>s@_ zo&NuS@Ru(*VHVyP413se^%x`q*MNyDv{@z~ZgUq)G1JxiMh|LlMhZtyc7*IfrqBNP zwptNMS%UZ|LHfOyRZyuFLG4(TPOr}=>taa25c?nvtA@U+B!k$q!dTusj5xB~J>-0J zs}GZZ`cgdI9&-+ir#!icDp2-!LfBS9KfxLWV&(-cF^ZYPh2)B)q>#QpfLfaQjEpMl z+!UI4?y>goC?NT35H7&ZSww!aYI-7&!sXZeYR!2|K(8t1Z>QY_oq}=mTh@vb{+_W% z0@WWp$k>DPgAc_-r3fA71+mrp?v$ z?P1mTm^Z|%FPyz(Gb$9FkV(XAXOcle*K10Us%@w{Rt{*&f8E!R!wJe^rEUd`W_DHj~`fH#E4LO5L3>0!74#v7?7oJ|qb&Q_WZA z-&5WalLHEkKqGKv=1&XNWL!z8g5t2MuExo389>tHE3UiN1Dh}}^N~pUR1*o4kVBEA z-y@O5beGtZ7)G*3O^340`R^j2$lf6$i{0x|Oy|d~7Kjq8PTrt_NdS;<$o_GWq6`I3 zPH|YO}KKiWl)t7X$!^v1M2*YhZ1HM$D zC1=B>JUEIzU#$BtsrD`UOn5<4IJZS;9;g`KXo~X8fWr7v8y>y%&k`Idh#Rbu`ap;arLPPxXaXn2$#!k3=T_ znU9E7o18W%9^@nXRwZ%LS&)i@whAOES`Emu1a1p$7(P0hyyElaSY1-@e}(m|4nyA0 z$U4Dz^0x-${m@+!X-VmX33pqRXPMT6o%OA?X?LZu&}{N)K4erB3cBUKWDdH%c~EX~ z>FV7Ae`d%UCqy<&23Rg6NUQ$21X;#JR&a*5V_sng_QP*;C4A& zFM{%%_=V;}DZx+8?5AdWk6ysd?MJqeU_>EaJ0c2)LHLKvVK=@IAg$2Iz-gh(2z{c< z4edVX^lCy7nz>ZQE|uB$Qo(mp@?Pp2Os&G}aB7tw!M!$2oiMvY#{s}~bP>=A#gl?& z2#g)_9DD_K8Eco>w^Q`@15ie!xBy&wQO#&_@?>=0D^w>(FQ|mGbvB7uLr5Gq2i(hd zy+jkk9F^gqd^1_OS693{iJV#uB>(xiNoXJOL49g(FJGjvhPw z`pSrcw|kL6X$877ENyGWgq?Yg)jkH{Sk64Q^Vc0;Qo-Yt_c(=f9hjqhIz6cV$n78{ zktt9M@Y(5EpbGf9CEDZOuOjw0itWd#4YjRpc`A`F)A;(dvt7!}NM=no`&$CJFHxQ! zQ0x|>Av?Q~S+)+DH9+vrT1Ur^Rf_V}m*jF>z}Zg-GId|HE08g+0+uvpECizMku=r7 z+(}@I$I+Xc5T!HDj=a@mHGhE|Mo_Hrgd7A~m^_8*o zUnBF^A#QG1A=zq%fG2r;@hL%5OGsOJWly=tk3%FNPKaJYOBDcgth?yfLL_BFQL ztzMD4hQ0ZSqR|g!yNljf$meMjPprtHA|WZF8Wl;Z#{&t{UnS`|J>8E(wH<^>D=slE zG~5Md>;?#3LH~d=x_u8Z?PG(hlP*(;dI1N z3AhMfK^97otl%0syGCw5`7azMh5Q%j~}{;WP6UvW#rJO zgm1(f8QQ+yn??3gLgO+jc&aq>R4KiGyHT-<>{jwa{aXHGo-0P>s2K~#c=?H^$-{B% zJvA#H(zJoFAd)1{akc) z7e#N0gNk`_QE+DiyR)J7ee$`5hDXt*sT`krFk>Nh(z;rrlGDg3mk7M(Zm9Ruepi=% z+Tcm)l}!b{tLG1$`{HJSoX+R2;>ZkGE&5TIIRLu`{1WLLA#ixlNVU6zS#qQs7(Wp) z*J$!goM80*ovYPP@M%+BI?}R1^(QX9R>h1e6T^3QArHyF^`vl6`ziLFf#MS6lw>K% zwlZDpL-Y?imWibIn1LpKkAkT1wOr%e2+vZA>_}=!%Ef!C!h`7orW)FGJzypfI^Yxt z{4$@nM}FTehM=!4Jk+~Fc(qE%K9Hi%eT{ljiPp&&oovM!%{~+T{D$lU7am97=eaQ@zX--CH6Bht z2E>rVgrG?JR7XB211)KeIh0|RrjYUAwbxJsnBV}mEgJjQnb^)3>BZ53cLr1$;6j82 z$qY1u8Oh&B;lx4FfWZu|@t%iTGQ=XIjcl$TsyD*mhQkk(uNEH8Vy+Vk$O>3Yq&`E=3z3F z{?GZwt*h|Jn&AD$HN|rT3rkBo)$Dc}ARl%hqJk&AV#H%dp8y^=gtMX_YYBXlim;th z8B;1_<5i6b#%FY}wZFZXeS0x8+-UqSMdmEGAYIp2jP+N$Mss+^1>?SGC>i2#GJi1D9X}_vIIWmZzkke zhe5$s#o4Rw2vkdIZkY{W|IN2xT6g#Wi|*0UB2)7xCVQv zkiB0>b9Pahj_9Byqtm6Si~fJDU3+X(*BQS~oM1?DFt_%tV+F^#B%x#>u^l_XG%)N0 zKSBb<4Sw~J+SiXbu^r<_9ET+uv}y-cSNafLpDWc`psU)BKE_H#n{})(6*^5T>o%3G zY-Jrxv>g?yCe7OKT&F3a^p8nBQSReBKc92Yx#xb5--kECd3>Ji+x~KRHC@X8JuWS@ zvUhkI-a0-)I%Fef${1Zyy%IVaP>Im%@s`Ct0!&-rYCzToP)SU3gFgL1UDI^&8aa23 zeD$;hxKCj%h2JGR{b!G@YPxOv!<=KG9A;VAs+`Aar7`SA9-S6wIH$OPnoDT!`6qAR z#4Y=7!N?Bs(nx?^_B{I(ug2$3OV{|@l4|Pej+}f1z}%v%JM!c~*ff3R>TdF=<~lQY z%P_Ttc2SsoKGE1=hBO8az|gm6ry0YJzjNvGooCjUbFVKfHp*>ajSR*#k&BBPK4<^H zafdfx)yc1!`4!u7ZF6%Yg{w+(!IZk9zM_%(9yy|gKMDTRQO?A6mX(daC%JT!TnAli zy&g<#xYq`diRUoI6~Qvp39b-0wvptiC4tA%r@w#ZJxT5{(#uN+oe}fP({GcN5AZk3 zh}OWRqd{wVTU9%!dQcAe%*dE}gPJ_~X7z9wKIFXof<{f>+9E*y_e=UskRj>;$p{q& zD9J#r6E58#P#{}@gWr)Ju4&p|%*(mFd~a)u&cH8NWct|!Y?9k*Om1~o4JO`wO=Qhc z@@_AAC?OSc>}ML*R6~BV9DrF6Jl(BkZ?KZxGGbp8*dSR(suxc`bB(qWes%gOl0{BkUHtfJ_YLCaf5{$o)|j`r8zN4e)J@{>}~M#jSE~ ztDL{T%Jg{e*Rh_?{Ny`(Ic7bXe8LEBIM@zfB08y`<8slqv{lW#Kw7%kRd>%60|PSn zI&M0~#%lPFUu}3+mVy^~7yHPHh9l~oD>S=e2Y6uiMkZgDH3IJ}qQ@t6P)9rub_-A} zf@~SzY+%*{p=p}2t%GnA>naQy^@zbHWfeI$Bn_EK?|m}xFw?0!!l~jpEq6|P{4^U- zn%*t`s}dijogc3!>=WwemqscU*#5DT+g-EK@g`~VlONtQzM_J%h+M3+D|G7okt{aY z6y*|oUx*^WKZ7z8xCg*w!=@`7PM-)h{i1kM&YhG`K5eHv(V3hi2ZxWL~ztrPqhO;aFqKNu7F0HDg03F$KfV`*G@|QkRe>+5L*8~me4FzDFD3)-FC2mJ~ zE(#-Z+X0EDeQ}Gg-mtA)^Cy2_eGp%UQ}1wxfycZA%6JVIHT)uGtawlYR0pZfOwK$Y z?F^A)tg1r?bsO~Yq8})L z19+o$2e^Iebv5K^HCNQy4pph)f$Tt)`oF^QmjH7+K2Uy%b#zk)Zg6ajk%guec;+mu zePK%q%?NU?%8;mBecy?|K=F-z>Noaj_Vmg{*WzURsOiUbZs&Rr@CUV;sQ$tiQgV!t z-!CN=x^&DeHSAv4@T>w#%ws}~ZC3=MM;{eYvl|{(e-HS}WC#{B9$5%#)+eu(EG1Jl ztY;-%a_eRkqtAfnz; zFB=Cc;>9goWV2#Sfc}1_=^&|J%nY*+?~%jxGStj3E@vX_U7Zb2L&4&U( zST&g~m#)&Kg)MkVL-PIhFUco77~SA}K>UWM1A%mCRG^6(XD977;q0jka%p!v`^vqo zYZrC5i|~|*_*x~SWR+a2QmT|IE0vXXoeaW4Z5fVIiKM)&`O+>$owB;t#8k>_Rg2*= z6FmQPI5Z?ype*C0-0L5%<^Fn?qWRTbisn7#w1!$*AEPW|aFFA~FiL4{w~0|zW`yBz zBA}EaqNz+(A=(}@%4%F+S#=ZBUx$L6w6?CcwfTKX9jYi1Q7R=ieN4jrR?_Tfmer|b z66B^qB`cj#mbvaKu~(t)Tl$gQ9e-QPNtLW9#LC07)y}Vl`dSGM&5tXQHIyx+XmdPZ5g>*uQIJcd3Udj7t_TZRN*UZo!=yJG zK=y4sH8={vvW=GAGH6@5il4fSnE6!j;uzB^<`ME$^cA!~v%J$N_QgC(=Athngm%+Z zE9ja1ar_le=hqv(N`@<%|Npu|q(B@7Fuwr0Aofl?7KEvHfp$)+5J;!T@{|xdn<4q2 zv3gURuFb%Mbbhw=%MuN3_~WM-Rkg+C+T>YXnlY+FvUVB@mR^g+vKjw0Y_M327HiaE zvsj{*o~RgSwa!b=)5!I6>Go((=^jV17BSsvvE(f%hqG7-&SD`PefYQLeIC=O&pTj2 z>nLySawg(Azuj&08le5&!TN`X)nmcb?WW;MIp{y3b(FggpA3 z*HCKP@11Ki=kw^}G;c8J&IEgCd;XN)GcoElT%}#R4Yb=Py&W!-V5c-$Vj+(yh5ASR zH;Qe8Mtwf)1{jXlD%R^vm}7y2dnD8&rf2|e3!h;E7LTsDkZ|KU3>AD{>liJMe3*~o zVGEsan7{}9APdV$m)F_YMGDSs&*MJ(3RGa*Jq>4JdyD$t2J8?YSAg*9s!$UOt; lt+{Y^rI1Rk6c;4z?1G~$Ek(7hc-7Lk?Y;#J13d-({{ZNukBa~R literal 0 HcmV?d00001 diff --git a/dataset/create_base_extracted_entities.parquet b/dataset/create_base_extracted_entities.parquet new file mode 100644 index 0000000000000000000000000000000000000000..490b3c305b7cb0de36c089704d75e23c1fd77e81 GIT binary patch literal 62277 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%0AebAxyZaX*M0YN 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 literal 0 HcmV?d00001 diff --git a/dataset/create_final_communities.parquet b/dataset/create_final_communities.parquet new file mode 100644 index 0000000000000000000000000000000000000000..0f367574a306cb34621e49b12bb65b24d6aafbd0 GIT binary patch literal 22321 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 literal 0 HcmV?d00001 diff --git a/dataset/create_final_documents.parquet b/dataset/create_final_documents.parquet new file mode 100644 index 0000000000000000000000000000000000000000..fb5de2f4e4fe9d32e977318c5ab9bf164bff32ee GIT binary patch literal 77788 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%0D=#j0u4LrwFGXa+x2_;;Rf-fncm`nh5FX9d`bNg z87y+9NNTYJ-&E%^dLhHqf>s74Ep(yL)}q~UarIeNk*(glI!}s5>@+VEomu#*!%ZrJ z8TCuXk`OAo2;L=9E1w$}-(IvGqxSAoX-(}gp%&)*W;m8*!O`757yX(~Gg-ek}jfbyl%YjOOQ z;qsZBF;51L3kvjBnrUJd2v>0W*uWb|OqlGjS&%1kD$0e7B(!ZW0DGNf(WN#i8H-U? zHoTb~BeUd8MAiN)*iqSkJ?*gaB)C$#e=%rG>biV?_B@El2aj++Qvf_@D1#N&hZl&K z=Y{=fJ0z0L!Ku2DI4ee&4f_4RV&Jrt%b)2n=?AK-5MVwNeQa4j0mO?Ba&S7+a_HGC z_8!2%vX}>9!j^x}Cm|ml{JFBSFC!awhSxqh$`%@T|0#a0+^tt`;zEb74sLfsa{asV zM&^7eupB%G-yX`#Mkb?sB`pARN%+%?OrBv#gO0Tk4zoZV0ggFZ%FewNXTjB-t9u9W`2{^y4)B{tE-&t({$NoX$eGZMhb zt6cZzP)yOpvTn~~JF{7(rrNtFmjUM52mlg?G(O#LVg-tfKRIl)pmQ2*V(u*NHn5$A zaMQdL(+zfw9yne0eHO|9QD$;EPPRW9HWuS#_&gUnM*n$ZgokQp` zfiK6ml zP9``UuOum(+OWql;HjF#78d~#l_m?5>9n(9wc6ziBUAJ|VPRI_pkp0nZlS66VBy&p zaU`AAXKBuncjgpD(PT#NHy&){Uoi0qdLqHPGkHmL2WQ8kO%RQ$+XsCkO{(7UgT--o z4sWnQ!qPp1qUo&6j3w`KfElgT%L|<13w$dJ=tVd^;#jir7U=y|9=4>#ll+jG!w}i; zzZpO|-e(5T`GAXkolc)=IovjxCfNDD9R5s^{8*tW8Ut-H>}08IdZmEOg~BSf_G{fH}ZLa)NHV6gK?z+7QEe07cqd8FTyAMAGv9MJDq$k8f>{uS% zk`LUExY*PT&W!m4yC7e8)HUeIi#G)@*nqP4eR*sk8z~KLAUm3`Xey)2l3GAv2Mt2E zs*!FpYu(8JI9Y5?t_6im99y@*_oGtcw0Ir%sXov3 z{$fxBqQZRkM+Se{!ZTD}n}MGoPk{(-C8&i==&W5{D2=nv;x}=OEKripM%IH23W26E zx~ex{D;XXrLcYGm>WjHm+K{KgN4KMI8E76Sf1fLad#$doa&(8&{6YGq$P_{EvFs6y zsz38MrWGh}aF)${oUYG632*@>_2NWLzG#XXxIeTXX3)H%i*1?<)v@b(Q*-E8TgZufs5EV6OiKA=+aR^)#j!5D-hC z(Q7x*e|S+6{q_i26OdcJE>CC)vf%IHH~tf8k@&XxgLfb=UhtX?-4pnGq-rWWQWvPB zd$QP@Ly!f2$#8KBQRSv=6AG=kJf&pMadDaQ5VxLY&)GC0TJSWAO18pWT@i04v10M*B7YqLIIx-ZLqIn*Ow?#wEUi$=ImSaOI zi)oJU1K2$W*li93cio%x7E4=|Zm;jtFLVvqjeS~TNF{?~w zP*=VL%AVZi2%40fa^!|r=+}o^hG$4o@LTSbX;g{)sJrhfEkRjnslz0#EmfWtY^GNj z+rskD+K1M0V5N78jAXY<_UTzaGe(_6HppiV_I{>2n{F*}pToZ|P`=JU%-Q09N?c`vOF^6; z@sg~jbp-n_KwJU9JwuI1v^iH_N zkh%;2reCvyMAtibFFZf!jMw)TeODWH^OYTC z)z9exVR1f(RH1Ab^qc|aV^fWgI;V5(BG&@sw?+~R#cj0Jfs$XF1$T(Ed+${%)ev+r zKP`uKTyrq0zY%o~f7^gN<|a2V0v((c`o6|GbOiW{LQ6QB2)2}+L^6Xmi2pMj-%W1T zJRF`P{*bcEpy`**Efn+Xo2bAOJixMGQB$G3n5#}!UlJltok(cw1d)UWBjN`=_jrX$ zc=17dATNi@FakTa6X+3l@ zI`~R2Aa?YW3kOELRR%Rf!!-nRg%+MD5hGMmtbh*Cp~ylG6>8Q&Uz*@XTR&(*O}M!Z zCWVfZF6Svev0NPvMCFNc2~EY`MhWLVmFb_#E~yab<{_4%&w(m1YHE%~iU)K^efqn# zUK=o1fK>Ls&%QI+5G1f$=#-qcAi}zbJ5#bj&t54by_YXTXR#R;AoZJlJM^vc26$Ea z7Sr*9^>4HHjLd4FTV=We<34tvNUvxsahDmxt^h2HU2=Q6ygw(+>!1P2F)Y8wfYKkc zc&u-g7A|A*mwM>$+ywQpJTy+((?i*NxY_AUo>tSd&yAjwW%@Z9{N(5mHnJdih;7f| zrN+LURO(^I;qpCYQlvRa|uz| zijIL3d>cr)aZ-X;q0G1c$bf*EsxSoW`E<}8T|)f+LZ_<>BC%> zo-ZXrUGhVvzV|#Q-1Mr^1cjO~G?LR2F`gQtya}v_{O&M5LGPcVyAVmlw>^8&z0>qQ zP#=FZjNUPnwIFAB*}-I!?x}(K^iTl?Y&|x%Q;P+Q4Q%2FaXwU3__*Qf*WD4H%GSAT zXl_C%ad4-tqYZC5ARZh0i-~_UlugZ7icR$fj(Vt(rdwGyax-$Gxza(|3iQNR`uG0h zJVC?q(DAUfqsQunC1*LAOyW8rq(7kiRcJ4@LqIpu8c%o{B=l&}tQ&NwgW^Yfy5)AS z(veSJ7WQmmlWP875h3=e#9n|WTNL;}JKH;d{WI(>t50y<>!Ljc)K`w)h;FCYA-eR( zfgt@J+bzhlO{m-sDePrK-G4++@_DV>8#v_TnFS!1cZ!G6+>W(7AKvwtZzkQ8mudlU zv80AWJMntG)@dFrp*xBzOZCA%p)>U?`_v?~AhV{q)%<6rKb-0)X@{TZDjbYxJjl*f zy%#FVXL>3u!X66J@mhr$V2lAG9e^|N8a`K93ymul$ft#7U8idfBMa(|3FGz7ot`_S z>h(@`pGt>ly{(%Gp`LUy*C-40t`X+G&e~1s>>{&}?0Lcc#o${0tX>|TseVK)!1~h1 zLxFE%AJ%9&ZKZ>T)(SDX%7&K1y7JUmdb!v&x|Y9Z#dNK#>bLjMrW@t3oE=ZlPPgMG zuLbsh;pFa8_Rw$|HpKTllA0+?Pu3~3>k^D#|T%0GIVWec$6;W0?>jo%#;>O3ZTe>i- z>jC!zjz-sHB0Y-uR@7DSdyS6U(*yWpJj&1M^t>%C7G%{`biF&fGh&Y=LuiS5dxk@l zl^)Nc=m^YAXzdWH^DwiKqE-p$5w<#Ae9g1ULhlbn`?sDA&!poh%5(;0Y$jH40CLP$ z8%7e*mKG+LyPkFimqQf^#aUzjP~bqf+q$nsY3q7_==!BdWy(kE?$$br&QhV1$BiJc zuL2TPb_fpES_BxckPc^oJJ6kDvob)=(0o&gpH#`Df zGGOt$BcM!8JVe7LTCRwnm*b({(h-%u>`Jc{SL2UCbOAVSjE?SirMfQnqSOc z9(L=6z-IZpJ``zR!E_2&lsFhrN}dGI^T$@XN|6r+Y7`Gg2m= z?qv^6mi#s9j@~~}YAV%^L&!h}2R&s@Avka^jW>5c&p#~a7%F19!-Z zUUN5@TaDVV?r-jt(%@)%LjQ~kS^@tqLw^&yxe|An>(fHDRaTv}!$s$D5?q51$!jy@ z>1MXHm~BVzKB7#`(n_s*qTdJ+cMsF;a!Ve%>U0@pR%pW&i-aPR4XxPI)&D6L zGe&!iYPCF;t96u?#dcTl^Uez7Tnnov31iXRJ6y9-d!$$T)&pYMsZm*04|5D1 z>#G-H^`lUnILm!=eIKKHFL=GhWhMZaV#*k}NXOVRn<|Uvgn79}+0WF4x$4#MN3v6Vd%{|e5G5W;M=u+7H z?fvIqSjpg){ihM#SI^?HvfJf*h#kt~;E~$tQhW&$zgwR+!A~=Cn3xWU-`%yUg~3$2 z8RtfkY%E?*HyHSYaju0{h~M;X#7NNIK7g{LWm}WDZ9!~%tEmOEL)~u7;p0s*n}|Zz zr#tO?R_tKYYULL)*e(+rYl7=jFufN>FMaCH+yT& zGqs^Uq%>3(?6(qHPnZC-i*Gu%<6c*g#C)g!* zk79g*HZfgI!0bO@;dglIKN3Ryjj5M3y6qvvBLMOm*(GKEYb>Z(n%dT{ar9Jj?_~a= z(f_9-o~>*s;5W!pr+?*Oan&%bWu6-3uF>?e-g7;g9dWdZAtyZD;Co7lcyB$={{!NJ zJyVER{4cEqLce8o(_L`StFTb#P+2Hj(4gkgyGBR3y z-rwxgO+s6MHD+2c7K5GGe=^P0wcE#0suK6KgNEr=d(O$Hit(PjGWLu{%0fS3RPevz zGc+hUK4$K30?&6HK*Njm=V8`fH`7x)q6jd?wq!i$hgH=&gPgMIuEvlk5LVw(+eGXC zQ9i#$&tP>~sSx^;n)g(bS-eIpk{W|C{v4x&lB<7&GR>nYIehZ8maGK9sLo1T73BZ3 z)}O+CbSg{g2qx;Uf{%EU2b0q#QuAeLB>OuZG2oYUc${`%w#u?9#qD`Pz|1gHY^LiG zH-PDvz>(orqqvp6H1pNDJy+1%qeB_285j@#%SeFw z{OqHe?khEz$P*H~A|2fcbgZBXMpxP?eHcdZMY<5)PX9EPJ`RoXaF9M2LyJcUG4ZXm zL|6Yabl8TTC?eCq>+CB=f9CpEiaTLEhx8Dr;<^vm{gM}ir%|F)enX{`vhU8GeU6U` zxHMj^L=x&({-bs2(J<<>Pz$W-tY|I@U30J0i?~=K4S;o&`j*kR^>|6+yw;rGt`+k& zbci;=Tx{}3H7BWma;YR==r~--X5>Psxf9U;pX*H_&57n2JuftOSMeiyHJ3o1jTN}E z40A4{NAu*5#t2czF|Ky74=a%Pj~E(wgrCj@gs2e%`;#ggC(%?3rmkJ=-J$e5Udx_`E6U>tj#H!nMd`RnAU{o z4H!F5Lu&Mtms;x`wbLn5OaJDOT%!!N372lX6F0=`iX#M1tRi;d(4K3+A#y%YefN0- z@0j9HgrlMy?;nmmKO)uJpr?yCUo#Y0+)F+@Q)nW4ZA>=26tJCxWYOcMKAx#Q2hT3{ z6eL~8I1W#sr!p+aT^a+vujv<)5cZC$blnfJGCIb2O{UPa=K_2PDycUmo-ioq*1C2~ zqh%b_3QKwQkEWLWFh?3o7|B#ym~E18Rh|Yn1B|JO4v^5|6XnPh3Y$4*OLyc#WQZQs z>xL1|&IJxSna=ha*t)8m`i6~+m5WXK`{>OAvM3@*{Oqbpb$i%4hb&L-SqjrpoV;*G zU<2K1#>-kWNenO!8gk%U@)poIt%o0t>^2H9*HaGd=sIqlZUKlD+8##?tOyPvUE&62 z=i)RAx+*|~OwXb>GR9UKdOr6XC|%+&NZwHfg1Was?CX8Td-*82PH~Je%-MZ9gI;HR zD|i4AyK8;DdNIaWYD}3~kX9G*zwVz2kf7_SO05SJb2{Z2@H6XD=GAd)Lu9*t;WoVm zW(%10`bU_5W6xIiY*9VzalQI<&q(>-l7}M(Zy$7j9D!C1{gS}^suhY#%&cs?aP$1| z9VBE>zlnaF3|)Re&FE;Jc@I$fHC4dw1R5!4w)!;C{!v;ml`WLSmm#m*EI(v3!6~(^ zXR7Ej0Y=(L(&o#ql zLm%27DaGsU?)}N&SaT|IRr&0};jGiWYcGLlW{=bJH9k8~8y}hRkp~ST ze9}Qf^Fo7aaxub%zcoyYrtmQ~i=z|pb4qU@j?QhxTH+pd2T&$)&DQRQY3R?^598li z`5cuN&Q;H;^LTRvrcY;M(5nu-HkKPUYHDjcrl*0$%%);i8D|SKaP0;>806$S(lCZS zWJVhFZ+-OvBWq)9r(yTG`fKP`izyCz0o7of3#aG*BSyv!K)D>y0J>%xJ2O)J7SAkZ z>XIZ)2WW3rGUk4jJtQGqe3e11M)X-fQ&u7r4+*B^RxCF3+KnF8T(7lcC zv2{EvUjT#%csWn2Vjk1kfb{_P0;*qZph$Vg#lO|_%~J+OKrQ{QGTgy(W)6}~c8Ob) z-fgFY@KLDWLGRS!TU~xe58S4=#U`yeD+(qd}7>=Gdv?#6NviPrvD$r=_1bV zZvstx|7gF{@k_dQk4VtgeYOD*I(CUy>lQx?Eo`s4hTWddzDuY5Dyj3*Flf4~5Zh*X zhU3afyvjnVg9^u}&eYp*pGHE^2Se*9x}R*snABAe%T{kh?=N7`Jt$_Qgu+4>WVnBZ z3P5r;O(gGXmr%i1yA*iI-N=>m6}BK_;gP&EXMF$XpM7V1$^rwcwW%(3c^<&HnDhBV zuIKb7P#79l$gWnS6i+rn{2ISI;OARqw)q0&klvJDw&cmD(#2&BvGpsIYdwk#G#+RU zySKB6x#-w7>)A{j{WA^UB-4v=Z6W86Lr5v^{poxjXkh!y{*$!Ga(o$V&EzZdmA@*h z+mJ7lF_TK1s=jiLuI_(AXHO{2;Uj?Ewn9mV?CC-STee6TcYGKbCM!EC#3QVGI-96$ zv(rRLoGJGkHm&i@P&{G9_oj2Hc-f$h=GnT}@W32pBJvJ9&E=;Za$gba1j>-yOMIi*YjY807BV4VzJr}nX(wFKP zl5A5pZJuBP`Z$h9qP4T=)dJ9)=u0Qf^z|(D<%_*u^ZB}?%HM9^{f=HQJ0iupT#Ovp=(HSV6 z`8b1oe-@j?n8QL(Ey2Qc$Y}i1`K9!{R{K3^N5~s}k%s<2X5bVx-Ol4G6Zg7W6}W%c-8YozV0ij4MSb8e$S=oYeQ$4rFnEC z)G)s=oenbP1E#B~chlHR+C1zm2mESnT6%aMmFQVthU3^&-5m7;+^a|hKm3+GFIxN$PX0r7FY!NA6+ZKf<^P9&-hRd+ zRPxaV_M=rc7b$m^&6Uv&*KnP2ZR z2tH<%PngB_lJ1b)nU3u@HG^$8IZhT+{xI0cvxJ2WTmtXwAf4-=2hH?(HlqL1Vn;(B z<#W%hQr?k=N}**O1kpfXX=Ec*l=Od;u&|MhA#MlsY=_lx&4; z(da(``s^aORgaU6OQ7@%1-LGo{AjKTgXI`&keSVk>u-+P`KVlGp?nM5C$l9Mei| zS?Zw{a8ppm49}v|9`^YV`f@n`IbHWMNmg12FEe$9b3Y#P!I{88(7|T3JXlGlY$bm) zD|SK_S^i}aTViIL8GUg9+n&z$kuu)G_nX+#OqVVT+v%@NaSlzuY#U8h_7Vy6Xl

u&1}XHT;pV)Lm&GQ!GWQ)`LxtNChqV*jHGyijeP=zCVIyT zi!MLS3Pk&3gMm(U zmfTRFJl+hyT+r3o4hvsqQG5zL=Fo&Y_>G0gE$0?jE*+gRPS}^>yo;a%SjuKsup<-n zfAb+#zN6@TLeLL7H$UbHanXTFZZuDewI}^`x%9l3zE;^ai|Ac&mfIaW3w+xl?S^wa zB)hI!ZRptwN@Z#U85vO@8dPG{ zo!XYcw*tx9|CTPo-8Oz-QQ$f}=Xtq-T6$-(CbJfW&xc=s>2NC~w?r5bxGwOZSr(&; zT-sNlO$>^1C~LTXFV67JQjpS@myW%zRD4B#-ztC3l#eFR6{Ym1lRut|w-E{eT#?oc z5s)dV+v(3Hb+x!coch}hGy<)3Dznm5Cl!xHGBNo{xAKdZ{ahv_1`Z&f;11Re$zR6$ zD+f-x_xRS6wN!|>u5x2Q*0&mgjK;`xR3oTAH%hz-3wLvE?=a2(bu68}0E<+{q^ZE$ zURb7+U0L~Tzk{e)p04uT?Cr10edE~7A#AdqM&@yS7Jj;X1?>xx2O8MAe&0ukNaHib zE4ttBd63qDV-x70t49c}WwmrCu#IFGr+zFfr>ASgN^L&=5iZiu^Sxs0hoi(Iy3NZR z^O0nAjuctld(Pu2E1k?#R_E{)w)|hjX5BINxV)kj6CeI+F8vQsc^ukT1L!GrusPG} zKTorxxjRNZB(%7EljPWN{5x+b6PxMs40=rOe~VUBOK{n!tX@I$>fuTc$8vyEf$oh) z`|pK7&xciGFPctg947F${qoE3VCu>39;Ea_S|74RTESVPz$NUzSq-nyc?Hx}-E$>0 z;w^E2(0m&&=D$>{8x;F=c10FSY=1|b3q+JWB5yvaz1-wI;|TsiV4L*+X; z^kg2=v`dTEza75Ov8d|wVrI+q&Nc9%dQ!9bnen)3mgI|O+<{1coPCmw+~>v7>SjNz@Tg`c{;doZqMg1i zcV6N+Sp<+Jl8j%L(gM(feOu%{x9hSc>`E`R{ehm~PgfCg^Y07kwi->!pWbtimf^<1Rr+@^eN!qlyB0~F3J)EHwoMD0A8_2_5kH4mKMR>WbH)Hf3;tuA^>NoZ zzWz$AVVx5qI^G@;$OqF%Jk!=Z62so-3Q{8bHJ6=$p9I}A(TST({2hp+5cdD%>A-G4 zJwhUuP1{HE7u^)QnEsayohlfibU_=0Oq0+fTRIHgu(w)!z7#^rxQ>Q!>O3Lt@)p4# zPVzU#*;_{XRx{Jt=y0CHCpMsu^o{A0jLO;-%3XTL&=rVdtx-ozl55JlU%|zG^$6=% zd`qr+oL>@ec!@R{)HECtw#rOf%lOtf{kBZG3WIwnQN1{UE`gfT5_;J#`8(oB`Q#tQ zq!zJHjr~uig+hR@B%VJb#GRwbtExY(ShDdah@GxwcX|N}!QSlj1?aMgO3f%hxb~FM zH>21IS-lUgP|CVt+a6MXQl{lHok9JKTlLPZ>Sh@@)=^90XxS|DOAOy*9WR_*L%)21N@zszd_cnbzj0L6sK6UH33-2#j@`>~ML z5i2mt1+DamL5S$5^0$e9M@YImWZufM3Q4*2!-sVZm_RIG(+un{lXyuH3M8;JK|}V7 zFX4h4It~BNQn$MU(%NrSMu*EUl;97J`4HyVw|2zqNEyw5(h=P{&M}18hgR9I((j|d z1C3Eh>qZYP)9mIpIjz~^P`aWOEw&KEvH0O!b}s-9%gg3&+as(*S7tCK@6YAudU?Ci zahK%#N?s4D(ct7+gg+Fe<{#itWI~ z54C2($@pcW5KcAXQjpiKlyj_D@UZc>Ol~)bce9GNZZkAnc~R5A=adT**f34HgzoV0 z-zTI2-1^~s?XT5Zl^u4evn@*LF1m6RhO5`>7SmHuWS%7g;6Vi$a@>!w5FAe}hRy$I zz&Np-ZXPc|34*OCW`>r&ncU-2Uj)qB^8p$sJl9CK&eA>2M6IAMs9>L?L7hjZ;Qde_ z-$CMj4d7)r3A5O>HU2i;V&q)OOLg0|e&8!+UPG>lF8S(7>|ZloX_UVw-=%nnnGQZl z5<29~b9zF9KGa4$HJlyOt3~?f{;$tyY3e9lSkH{sv`BKm$f}2cGqmYAn>I{*gy*1| zP%a3w2h8#`C=)6BAhg=^5B+yG4V#XjbHA~BCbOCN5Ht19axkxJ?y$fX`VX<`h+$O# z^8`{L7WTi?|IEoAaifO01+VY8)=6M38b?y1San*o!*P5Vgk7AC>WTi}Y2cD%FHKr4 zw-{(4v{mI3z!IB1SsAQP0zoQ*5GqbVK+}i!P_rGw~Dgf!{KQ_tgP~m%yP)gEP@9R$(4{be3zr#((PY_K%|B!@>_M**3Vhv)R)I4wE%Q zT|wVy^O<*B`qu3>@*E4h!lt=Q7gY<1@ImoMb%sW2n={k|EOASnNv)UPu`%y>as^M{ z!ZxS^VC`ktGKVJ%k)8y0b}RVKd`I1HLj`+T8f%cW-B-@#UDd#kft-W~IbskdDFrj> zzCu$H(iZ*4sBAXdBQ5@cyCn51G`c6w5ub$zi}*Nt!Zgyl@hd8t03#4T{dXeUX6xA} z1U(yOnLv5*@^cpiu5=DSRWGVs;-Y(fx(k3^csc2~R^M=w81pS-h3@{%RA5ukOtvg? z{nC)OGD?Xl!hCcs7I$BVgPWkpLYlS)W%iFAtobCbEspFU*zCA_j1bzmjXE-ELJ6%N zvGF1KcMGyUXE%G$0wT~ml~CH#dH|o*lfYTQ_`MI%4SIFF__BNtOesp~Dyz`W7P@G= zh3h2x#!&>u7X&RdF7g6xVDvlLp5_ z*b8cx?2yFE^b5R$iQr@HJ;RdqeU)Ab&Iy_s-Y|eN>{`(YN05V|0y^FKmH@N=sOOwz!UiVBwb!5g6h?O{D(TUC5VKQCSZA&H}ryk49?@ zKK9x$`p8F5b*U!zg+6F#m4c}T%^K>3JE5c{KC!vaTKVc)`)lebn2U^o?y_(UAfY+vYe($bfQk5&mF@71&PqH z#omJ!no%w^`&Tzy(6di#m?hv0`6-nCgX-%TiL)&uXcKotCee38UH8us)2n~#_GAOSHZ7~dAy#2Fzxz>*|J@vH8YoA{0XeSIEzD($>gi5YYt7_ZtozlwVl25k z+34uNYH=#NQa-Z6SAf`#(6b7(5Es)c#{NQjHoSp@lBLkqgeY?h~*X zBkg?pWeZLN<}y*=eIL!mWT%<0wZKry*tJ#|tu{r-T8n6l9B8PR%T?{izfOBsxEGVL zo9@vV+pZh+bez#kS+-^nenO%8VJ>Bvzd9QNHeMV84i*zo90`Jn*=hq{J;k%G(f6AA z7?ng}p~$+pZ=uL9{poyqgn@tGKG-5}#L0|;h$Zgz&!$fdjn`A8OL7q?(P?HI!r8e0gTiYqU^- zmV6h8te~OK4vb|NNX{vIqMp5z(0|1%Yw1%HY^5iRp$yKdG&Irf#R0{$sz7%i#3Pas zEOWxonrpF7l@yfUCJNOu$_NgP6v$MbGQr(YgE12^+V{z6`8SX8&l> z!}D!Ws0k*a;p5Ife4hR*aj(#BZ5Ho`P)~$jj{*N5^6txUB`#9VH*9=Li2EkWnSe6~ z`F-R0HP<*lpnd~d4Q*>^bY{=x?zL_QMMiZ$gNy5E25SI`sRewTMjLE;zujD4Q%IZb^zt?kO&n3nr$Om6fGw3zgl}Y_Ym+T2YzTd$XHm z+im;354PP~_rJV;-`|gtW#-H|&w0+Xe75)d{V1x{%4~~aDg$@1!B0Q+Vh_Yq`I#~B zv}f=SQcX>B5iS5JZ*`ld`E1nTy;qqEGDeL)NV*+bLX#Z!xHIarvlWwE+;@%|WjVLYwo5TUE?y8&^Izu&@Uj1b1s`T(F& zq!@GeBsx8W8dhkXCCX29WIo*UqG5uwCs_@t^)06}4b%-SuD>A{hSsy^p8EJ8bh%jP!9%?4E z7LDR~F;M4HvDfJoKb!Jq!pb~~a*5tA#NJN&#=t(CPWeVu9Et#9*YLY-kQ`b0Ftmh)TX^-BAju)HT{3Ab^h0XxU4 zwTP?j^n%;D7T|JV!Sq6_1yIN;XU6;Pw{&w{tz1IAe4seIf<9NYjb$!BO{o=Fx?#eX z?0)EB0fu&a6{1vs2Z%%*Fqyr&maVd%TGP4BR9{fXbgM6)EA`;q`hj!DKi4k>AgW2 zHUuvD*)S_oGZedCWjcK$$nnVRlSS+nqiVI~>(PyJ?R0$pppX1@NB0r>P{*!hVanHx z?K@!snF;`!4|-C-8WSoL>Rm_p=bMBD$}KD>h|*`M8LdwK&-HYx9`W1vs;vW97X*HV zNwB)k=xD^P=*wp$4~K0ja6ITQOgGerfK)??$+)j?rZ{i0!wp>wo+pW;+A`+Rwhnqd zBBNKBNlE&R5^LsK>qP7wm4kaZcjF#7u*+c%9540Dd(zo`O5YSnHL$Ti7G9xCq zTS1Swpt`I+>T;tAyj1fsR*>I)_7;eQ)zS}Dal;`pj0$D;vHDQRFP;6ZRZ8$zF`Q!x zHT4~XyFUbmLO2Nj;tm~xH%NC5LWSL`2!177Q%mMt_K2*)QR?ZKZ}qqBNwgIpQ*%%z zXd+92a%W$SArGS#$$FFB1V*D8I^ju9D7&tAU4Yt?>nlnP7oHH7r+x%I%BG6#CfiPU zvJLzT6L~MBy+w3nxmXh2ULfCWmgEuQt-f@hnGX{+c{EEed?np$pwSkZE7Dq2ZPKQc z_Tyk8t89{udgR$hb+PaKm3{Q+Q0g9TewI!zYm?zEJ`+V_2T$J3cCQoaYn?*U<$3sM z^m=Vm6MH#Yux@&rDZv>P!rWnVS32)h=|*lf)9L^=(;}|aRXV^4+4`Gy`33NZHEt3^t%18m6@G^f27 zlWLrSpVzTtx=s^a?m+L18qR_<#4mjN*11ODPk)(xYT(YveUn|cw!b8NDP01l1hmRR zF#QlrcZ7DNb~l65DA6P?)=8Ol()_`$11S9MLuH{3ph&Mt<1 z_0CdU_KD?C6(dhhv1TOZfLL$hhFh^;CFN?W_!Tc}mjxNFy2^GJLQ-MD)={a`%pk)A z!l{P(8lady&zojDQJ_^uIvsmp5~YY33iBa3eetNX$5$9EqHg^rgE)IIJeal|p(C@vg!W`ZVZUiJI+~Y+jO8k+n`^llps!Yz|rp&4hduZT98c8GeZEVafq zO64U!FNxPCLp+eDBgo4~58|@Rxil6P8L)1q(CBd9Fz4`WXswH$!1|QZw?=k{sLT|9 z3T59k(|w`XFkhbKG32_Y2>Wuicq8aPba8;ywQ+Yi-!p_V+;}EM>*+O#)>`MqiD-y% zOy_z!5P&7H%%%;gq)`c6&{@-Ibb;_4KW0Ms7$f5f68j;nJ`Q&h&ub&Gq3&+iG`TL) z(JsDWlQyJ*ZXc{_Dj(4CV`kVeuY_fg*yoS*?a>0q$#|9->e@#aY)lHZ#=HW$e9=|F zw?<{3Gtq8ri&gBjNN)yXM0ij4c)fF_Ju{Rxd(+6luwd9bF7c9Hxq*i_XI)@J#wp*^ z(+hA_2JjwHSVkLvY#NzT}4TQg~=Ith}zNk?P3PBxSL5^4oXj|Gr|PCrz`i{$gjn7M!Q>2 z7jsntlm${w7;~tk1r@-8(eN(o85XCf8C^6i+Z7J`u=-|m(Od6!Z#vrrZhsdd-1KUY z;;E^7<#Dq6BQp+iS3Kw~ zf?e?!Myo(Dy-XWJ=nP82skMV@%gJ*G4+)C`Jw3>XLBNUp4*jLTb%<6^qPyIOjw8GY zd$ctN*2UAtlW#>%Lrn^D^g@U*kJakL=@M@lBz_r$QU|HNi{|S!jk4Dm`V@MdzCaeB zex>>rG1cHPMYYwHA*k?h?h&Y9kj5oEFD3fUxoLoPzSTmpM5q?rr`HVcY1KB>bbrP6 zgJrwco||BM+rtmEAJmTG8kr($sirP%t2g)xRA)OdQ1R_%LtW)HUL5JUF4c zQ^}F8>2=89(_i-3ri-(73+=Sg!K(c1O}SWsN<1|o-5cdNUp6irS#IEyC@e!`7zQEl z_(=AkfxGp+UKsmR$|yLBhN`&yL7Z(cOILQo$SZV!=>%2vsE}ZH8oZu{WzFvIrenxV z)ikx=1v_d5$VYnM-XOJ0v2MQFaPb98qiZ2JE^hEvefAhVW1he^Ym+f}yAom2mT>7F zJ0Chov03eGL{yebnW+S0RR(LC{cJ#IFQssL*-2X%;+yA!b>WR}soDh7>XVt8>Wim^ zLVzT-@nAZ7FvL_1;G^6+3xTL6cDS(n=DyARM|W>T`^WIr0ayQvNx;QA{?2BX@6MVZOzfA%(ZHjEOT?46|U zZQ1rtuF%acCmQ9awjc>Mgluf_G8Z%uo=Vo3!EHgb|?qM(4-7wca&qiY`3rhs8*&OfrzX^2mrx^o1k{| zaZ%}pU>1s1j*x=gsk4s`q>VbNjRDvND^j>o;p{>a(CtmlO=5E(-yB324CEWsrq5N3Q&t<+R}QEAYwaad-5PvpJfzp z3)Gf2^7AS51y(LGoM9>-R;&D^jnTBvN#P?IQg;8cpm2`fPX^|}Z#;(cml3BX&@)5X zS0-A&U!(Lfil0TXCRzu;hK0?j$VkRP4~teWT{Y^}bJu$KdR-Jsaq4eEX`Gp_zKvZ9 zw1KmqqHoK6s?XbFI9kU`ec3@h|2EvoZp0Qj*64eXo4Pe^z26DbtQYAEf5-Pjl1dI} zV-xsmgOV)X*4x;VdY+cdl18-mx$dSr5-e3N@b9{EkS?RGz7%VNs2zavt*(CwZM~iy zM+CF|$DQbTTe2_<)&alWQ~WYoT*$AyN~eaP!GJPPPy?`=Onv$CoB81UNgcimK)A-f z0YZ!D00(U|>SvnxQWIaHqrZTGwR;SVsD=9wWPBq&w!%vC$z1c_Ix3OP4rH{?pDqoh zJ7=(9KkB)YLQsi)@io%MX$t7`U`)tE;h1SjM(a5i6#;t~lpbQY&h{aH0`b7s4@ zHy3>P>0}zC6W*eP2w{TLf3i5qi-XJ{_|!G&`HA}KjvLvEeLOl93flbzJ>^3s{@a$&a?eHr;^8^sV<@~T?_NyX;@RwQ9&5PR$2O=GD6b@G>LWco?xlOo_5)?` zK3n{P>JX%;1M?#bki*?TpR%Yp*KtGMbgsL6E2h^+b!7geW$%2C@N+%67QnbogJYAQ3ef1#;&U8PwG?OXMKL3p?xC~SVoq_K*hr>o?s=ugcqVFkj}))(m8 z1Q=HQuLo2W&c0(RK|ro7Y?A6sLOvlVb-n^UyCNM?zSFv%X-# z-9BE~A&=1`q%H?R61{<@`}fS(x>`M65b{u|1U9rijIU(;gj(7(V>*-uX(*Af7ec48 z9NY3c(}XbF1GK2fZN!e-!Uhbdw;-q-f=yVuahPj6{X_T4o!$9@MfKh$l|Zgt;`61w zb?Ba@X8qqvQ*@l6Tr`UA@d4TPk5*G>7oTEao!(mTe?=Jkp4Pafr8DTYG#1-t3IQ{? z^mPZHX|%3I5U%H}fS`u>H-)(kolnwo2mLg;+j`k4-d<;2ZhuzkZNwZF6$&$BOt{Q6 zZ6_OM=G!3D#y*Z`O?q1*U9-qX>)0BD@|6rBlm>Pt4vATJ3olz?o!IAVTOwdT7$>Zv z;r<|U@#ME9xt`=!QIjSQGUsM1BQC7+XhIp5rXnl0`Udv$XpcGc54)&1of8Mr(J*=h z^lWwXc^P%LvcX2Hr#?;GT^M(5Ku_Mumuv&Se1Yx@vNiHgmAH9!Iz9(dI>!&uvsM0O zbECn)6wP1t^4LpD2e(i6cwy5XHd_b6b(UKN4U^ACp}<_zB%jz#tD>j@8lmkDXm=D$ zlWT|c6wp6Lu}LssXiA)zQ3K5}dWo}_4+uX>=MJ;Y@gCdEsj}D5=mnIxTeF3mS9ts+ z*$o)8BVsYjJK|4~e9*)K0A2TRp$e$?qNlXnK#Aas$m73T9vs zL9K}x<_fl_>emfNA`YZK_XWNZWzNvIP1oXNp-#Fwf} z_J<9mShQJnJ?}BUKt8vQXIsf-7awo2AMmv9<9}5}du3W4#j+r{4zTR^I;Sqc_aU`p zKv*q;Bx>j&UXTivr=fvrptzjHnYC>pG|>d6>?S3SeX$0Cta%DNo<_3Zk<#u?-6+{W z89I8#L|z-jGfY}U_SY;lDBRWH13D+L(9_ek+`NcxT55l-1vFqX%h0i%Hcjircc42{ zrf@NyZ8QQ~%AaYo-(&xF2i!iV^9QXahg@|kK5|kx;*^xB2BotRgs{G@w^;XqEerNR zyqzwF(~gkdkN5}PsBZyN@Db+nq;5{L&1{uORdb~;J7ur>j*-@67(cQ#S)6E-?0S@z z@tcC%b>guAAk?VLkH$jD$QO3*qD_WfpyTyOFo)H4 z{{;%W)5!|!{+;7@A=pmImrZ(h$g<;7uf4I=Er-c3USQr?=hDD zW43rtrFjUus>=c*Qg5<9BuZTYnr2rRH6`G~F{J?iXj>{-b1;vM7DqMlW}A}i`ebqo z4U+X&`0=q95s6$%K6-FBC=Lr^OU=U_#a^u1i*5AF2v!mN&2;~0P^qG7N=Wh8B&5(D zU=ZmYz>;fvpQrEADcdZM8pS_n^tm@bUD_X(pX0}N*yts{c}J19*fEE`w$pZIjRvd^ z)8N}M%&FpFwrL2x7zw#P(mqO)?!-Airs|X zv&GQSG;4&C=i##u^t=s}b7#*sx@830o+5wom>Ag1w8vOHrwM_bh@l$A?|kf+btYI`bLpm|@qL#~v*nM-r*y{q|M zvzV{~52G?M?&xZIDb)4A<*RgR34NNbZsI`^{6fqt_42zT4~3t69i6bthgPXb&RGGx zMMvA52z^N7Hl7M+Uvs*FxmsWuNj5zRWYvOys+3NRQF>K(ZNGmQYIWzg)PU*L#iE_4 zo$u7g?H|a~Jw4*23O#}rTg(|16y^z3B<=8F?~2yJ)a}i7ucwQij<)g6Y0G7QgASd= zP9I^(h$Z#iug!BGJVjB_?1li^J{;rk)hM;Z@M0qSW<0YQ9e(EC2boL9rwp=&f@rcS zWGbb#(fekAp`9V=Y_IC0UxPZhc%$XwJ@UT-uZ|*@SKn5ME%Jr~xwq1z zCXXon7WqD-#)*paG`m^}<+j1|Yu^9{sOhOFzja!)sIrmXUqVDHyQ+-&Fzm-O*`&u zY`BnhYCa;X2zkdY7jJ5Z3HYR+;8Kd{0Z@`Jh|Hu^x7c73zw~FLPiV{Mv#oisriFNf zlf{*fn2?+;BcBkBGj9D6_F=X#lZ8dolzo~yYXds^%>WkPM$bIOKk#(9*{Mi2A`KS9 z1vAt73ERZ+{z7QvE@@gI``(kv4J4W9TLujt7_$o)Qs(BFJ7|2FM*v|#h8Bqr&Q}9lpMDmdkO7W$f zAizK?{~G^=Wwe0GI+W~u^^cC&RcY4w`&$x}^rAvJC#mL6c@g1TO(4gzFsnon;L zd(|esmq8~j?9vA9Lid$3w((#H22-7_{ds4EP`#ae!)WO->v0;om0g57vExZgZ#J@j zAf3D;j4DkURkxwL5^}aXmJPg} z{7$3vK@zPsamn6$oXwiVe0}L-ldy_S9Is5gd~aVG+wINH`w3R5#K3F7cho?;;+b}l z5R5b^3!kbDsZ)AHpX`Hq!W3JJ^DABVB;@5D$F-a%}cnC?laOzB*BHR0nV4td67x#t)?rX+UiPrNa_T=H55rlKH_{# zZ%VI$-?AuK*z8z)t7e|mRfsL=u`$)hG-K!=Vf|a0yQRF``Yq1Fc_|l9s^2pKfjdPD_%DU&+Lk!(_(Q_eGT*=bOV|Zk|4vdF%F$6T% z&32PTV`Zb4x(C*^M z@Y3EPutVq@2cS;WnF`11`+LdQ-upg##la3qs?Nh0e#A!;E|+*oeNWOPP9<|`oRlrK+x4dG5i%$lbYRaH zp5`|bf6Pn2O}xp%xMAjgN;FDEIRp^xvy5IQO^y6isKzZ6u{^`61O5P?mNubB8x{zg zsdg+CMT@z1R>j-9VdU|lo0y1NZ)u!PjE=^n*%Ge$hF5)QdzaYs1mZ>FL~36rqHC-Rk?P|((4#CecW5`d6g9W|yW_3b0sr!t9T15JJK8hRPfB z75SiE87*X6_jNCZKY2D&Oc>+ZCqKW1p9qwCedH0D9>e%KpaJRbNkVSyE?AunkTGUE znR^%8>qR#ufmp3)mGg~ZG}^QCC~cpHN@bQCggs*&;5uXgOHT-&kW80Tx)a)sR2bef z-Z}<@CuchYbxsY>PvZ;a+NHFf*ikd8S_+MD*wM>ZPGA-V`r8%X$bV+d5I;l(iyo5C z!h5i$DcvmTExPg+w>ZgDtx(_VCw9fLPNU1t(tVY>BRSZ>y#<+^_bkY+mUH=efx*oZ@n7kF}SkQ=gz8@i3xno|> z+g+pR?R6yW(MG#ydy@5S73GgG+o^Dh^%f^~h{>U-NooI@Cn4Q{Y>NJ^dj)vBdT|!C zZY6iFehum}U0yzr0%`%ZTnMvf^N1w6(VutooX zOO;ugIa1Pe=|O|?e8v!78Jr4vj7Iu=irv%TKtka~d&eerpC?b-B6#s+(5TQ!fANSx zDwH}rf%(41JQr$Qy=}}l2+9$veC8E!nYsIDK)&NMFL7uhgTu1O%k?Vzaxlfj(<7sl z8>}(X4{K08*OZxRM=U8CeC5NI0cJ2xZ~v=aj_Ve0AqDj(eC7;kmg&%0x_>-hw31!Y zbv{8)uf~45X#dPtIrM_Z@@#OH(eP;H4T28=&@2xd;@st9nh&)-zRZuEOS2`+d1HW> z?x{B0i2>m-IJ84R0kTMJ5S0g{d!u^N*$}@|^;rjcMiDr}qa4o~Y^UL6SKHjBsPXXl ziqB|cn;PhviJzTmO<*}nbPAFhAyR0Oqj(4ag|%`+n7Elyqgv1Y;tGCGfV)Zu-6%3; zQ3Y`?F9-nW(trnl%_nK(4OHdj3Mw6-tp?nRr5>XRe%W4Hx-S)S)l^`hg`uca9{3C` zb?|F`(7tovLHRMzRixLKv#TLI%t&jC+3pHkFt40JPm<8ZR|LQToS4LyP-?AR=%rwP z{=HdK=kX=7Cl?H=|KG@cb7^r*R)bW##nlViH9pRe6{CaNC{39dnaKUu96Z^dK}<8! z$|2gC`TXRxjAY8ui*Js{3bR`5ezhZ;U-G7xz0AjY!?a~pv?z>?@MSytU2}l9+Xwd| zgyvpJZ=mL^vF9C@u&*=3wd~?Jb|gT*Ln<}#yF#I|-glhdT*`(y3A^RMCGF4HR|T3! z^e)uY^_?ZM&}AF{%(L$d7UkO~_S~)P;PY(s)SA9X*K^`W7Pd=~{_en9!-4_ZW!XL& zMd@Orf;>d_l|C+nt18HdqMW*~ojAm-KP}*|L(ffiG(6Wj@_|euENkjbUaJtX8?*zScki3mqLH1_5 zw8AKcPPE4J_w*+Z(PsrHv2CFX_I|iU>ojrM%^ri9hnIBpRrZJlW(ysh5VtH=ydolt zSrohEMY>xDTl_gAd%zz{5uFKP5fRS$2{awmmePbBG!51g^Vy9#_<*X4_0qhFrb@VG z>{fmEWlHdtCfhWn?Jw$25I50Pi9%PQ5(Nw{OE5^>Q3(HkJ4=%;n#O5rU3>ag(bTzE zFuxvj?xrmnr+Hl3z>Ay-{vo5_b7 z>BC5RXFpqcH=l2$&kP+8+rxTTwVn9I*re*-zuWHCMAK_CQJoU`0Qqy8aYpnE z#bG;|J4^`V?W{Kj+;?KgLAa~wB|uXeT%QI_!gEQ(sQ7!J$_j2z_xO?3#~ z*u$Iny}$en ze}M5t*L=9A2_)#U!@}B49S?fUr!FrV`P5~H{V`+v6JoNR5_I%=ins}q1Xb+)3CKM5 zIBC5ZW@FS8+C!o_roYhs0e_I1u|s;EXmFm4peU4=g2iyYob@7CG99mM5K=TXE#uip zJq^^0;|s55nZV;U%;v2tceUCEq@Fdq9#%^Zw;Je1>0}D%|0-MRtOr@2LwsA$23y%| z-;OmTMyL>t3clFiWwYI3`_5zCtkWphD1Bbfp4IVJ8Lc;Fi~-Y;cD{@2M5Z;vA_SPhF zNg8)`Dt(N)Oj?=3#+dDk!=$ZaI24f<8QV`&Jt(7TI*4eSMX+WD=l~1n@6p-Ccd=}PKtygm>(ge0DSzL?N^+ zmZFEy@dv@Ib$349HL0(TKanUE4#KggjV##P5vY@Q1yIO6^sNmf;(YI|R##t)EeB!g zmKxzFTK6)hpJX+KKsAddn%R5E@vuD5XVtwjRi)!4mdthzCMgk-{85nUt&lf`x)NkV zR?k0=xR`A{JIU-8lkxlYJ3i9~}eBA&9=EN3@ z8lSh4&n`HkA0MGR2a|b%boef|zz3_4ua!N%URbHD(^PV6uw$#2d?+Go2lE_5eDtj$m3L)EB^o#I5y+y3uD6S2#7GjHcjY7FdC8|trJc=Ob zIQwJwTC*azTrQxG;tv+DtCx;=_xXsk8(f|jQ3DitKL?djgFWzdQ)LZIsWrQ?F}!?I z`3~hlRlS+4*@&`7_ClVuRRGLQ-V~@(x&qTZhP@l1Ovkn{x?GdSz68$=9SP-W)xuS~ zQ5MG0`AT-);1bxpfS%1rLTK8cpVvr34FWJkM)_uNfOxalH^F>jvj)>-T^91*P4+b@ z7;6{dpE%${f8vSN^S<%)M1=hbD?L7%e-bM$3})Lz&9J_c8Ot&K__(Z}Xte4Typkh+ z>Ky^0UWgc?QU*Kmh(;k=c-R`jk2R^>7nue=-Egpy_W6jH%~AjD2l<);5;X%Y0scm$olC&*(+pNn-vN98 z|Gd+azX*oU?aTG{Tf)>&2SoX5anb=Ae6!$(MuWcr$H>7YG)$v0qasJ6L1AQ>+u6LJ z`H$C+(Es|T|8KwkN2^w>{9UU&fJLlv_qS)4!1oLG?HzjiyDRi)&VM=CpElCs>+?$^ zbwRjZ|JQ%E&tLb;JHP$LH4%UEDvtYoKmKhsTCDxKAH7OSpl;+|Py$5_cTGu5NlAa} zj|%)L!T#ndz5T!{eb8?g`0cm_@3cn0Q-P~Xw|BXH1!=X?D#H^L67#q<98gZ=0E{W$pj>(`&e zFRy5E#XsJuh7Sk`3YcL(I^ef)g?9CKz<~k$fdTdgyH0&{At{MNE6U4b65=ajlU?QR zr1-MZ*!aZcn9{_Q@`|{WMF0QSBmQJG+CR4bdflP_-Ua=){mbp5J>~qb66!(hCkELM zX!~1K;f^hHm&Ok*PmV25DNjmBEUzeycg0jBCZ{A+q{Nl^hr}e6mRD57$ETFV#JNi2 z6U&CiRJamS;^Sh<6U$vmNq^R&|NSXu{~w@4eEh1W`vqnl5un$FlTMQzENKaUHWGAbyb+7+|}&D;frL|$SFth zxBA&>Q!}H7%1f5~)|h{9g$#J~f41W1*Z#L!q2Aq+C^Y8hJCpxyZvXL;e|Y;puC6Ws z(|_)Wng1Vq;ty^3-DdH}7W~JX|8f2Qf6w3#SMJ{s{&>w_U;ZDx+MkWAKN+8R?Ei7u z>bmBnggDbx2h*o1z3T+R$q-x zbjCR2WDJa7F8#YVD^EnT&tx*LX!qP|_+D zyjH2CSN6Y_miBM&0}QSx8Na@tJ$cOazwy2QEdB3iDN3t?&*5kPN$|7(L-<~Ve`&2n z1&MQu3Ud`DGX|eeOU|mTX(=9?pHLV#VSeej{N~cS-0F$dX{A{;DHSdpTU=OGQ93q1 zuDD=9MQ&zFMOIBrQ&xKRoYJ@jv84rxzZ_Fj)|Qo&mD!B*C03OdOjFO%QeLp2DJNa2 zF0QSqDIJ?vQCgeXTs#HGjZKU#9owp&=jZlJs3;#-)7t-DdUkASZ4J(!SCduUT8Z<; zmKLTZ7RKi#mW@@)(hV%&vk*WatlZ*di<*PK?Z-fwALeskHln&02k{G!^1nxgp0*WWM5 zk0~n1t12Ix@oPU-Oleiy{@eBH@@m}U@+!&;5*x}hQyPlL<@SH}4}F=Q9fM~SQy7mn z6z1W1w=Yg>l+v?8$U7y#cRJ&^P=agT6 zUd_dL{y0ZW(XZocK}t@#I=+9qcKO(vn9`r0(Vz7r`mYIN@c+oT#F%I*9f$EZ?swzu zw|Vf#@%G>5pE@W0Yz$%^myap>x!?adXE2vzCd~PN7=J&{jk4N&jLVd^pXXAOt023r zs4zRRe-6~8CF1wC()hCeaZ_HK-&Ph^GrzQ2oo87KCQM0a&6$%`t&Zj2wK1-^Fngh^ zAf=`M9CNZ-a;p>Cvg%^grAb`_m9grwHeOw?(h}6ar>ftsFKW5!Qi(s(l&bz0o7C@E z-+uYZQ-3LpO=-ZKtZ`?iG!+*X*OX=sZ7qx)s=n2~9;PeGxS!WU^|iGA&&a57j zk%_D0)&BLe|5x=-MVW?wX)*m{Lj6F-R2-j@@JoBr`md~%sYm{*e;}bb5a)u3u06HLZXBo}hld9P2UWyt)p?6voxeEmPkbuYP_=k@`(N`seGb zi~8@c-+w-|xu&%L^ke$_4=>_oD%D#=KlEQ`@^2sdZ}+cm9cc~4*Uyhr^q)|@oTBj$ qLDe|KvYVsJ8XBVeH^z{kH@=YTTVlWr_&~q^UlU`7?z)l}`@aBONOT(j literal 0 HcmV?d00001 diff --git a/dataset/create_final_entities.parquet b/dataset/create_final_entities.parquet new file mode 100644 index 0000000000000000000000000000000000000000..d350fff61d80df7c9ce8f018121c9fd682f87d8b GIT binary patch literal 1075847 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%0D0hCi@8C<{ru~ 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%0A3F&||gM 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 z�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

_iWo2hT=i&8TZQ3suIyK3%Ua{7M zdDr37Vwz@8Gw89{CGU$s04Zj{5pm zMKoQknhd7;zdQ=D{kLmSDp6)pU6p#y=hA{7obx%qam#0t{7M9Kt@#WQ&7G}R_fOXJ z;2Qp$XXSh%9rR-F(1d7h2^sw6Z|?3jXkqP}GS)PzOX=0Lwr`gt6PCJDM0DwQPO0`D z+RFcLNvHrG7i7z2Ij&n&Ie{ZT3p(LyCAJ*i=_oQgf~mjn@3;eMr6-b{!;6u^7?py*B4{sP-Z8 zAQ7}%SH!r(PrI37s4aP6YOI0nFef^8GU$m?3Z|BMeEFmrY4>xF+a~8+HpObv%#nY^ zTQv8JbymLEvR-AvtvGP6&Zf8B7aswan9t6$;NQws=o)w2)@+&P@A=&8GFHX(@vELg zg#EAQ(z`8IHZ;a4z*w-~`PHcCr5?M$12=gMw1Yq6-3)fc?Ehkkp;9tP?(nyXwDf=2X<-&gFE|BFpALw~yb|w7;CEcc%>!j1 zG{-rSFNkMZ-9xSQbi1d(I;sFSk+Brf8pCB=&{gjnuBlz{$L$EA`$2bVCB^vUQJVK< zxNi7&UA=m5G4NtOSpj*1nZxvaE>wIR6pQXY&ueGs=2j;>< z#UQbt2x4#EH7V#q7?W9zZ{H7Zx%fe43GijV7=M`|;p!;9Q0fTQFz_^L4?-Ap{@oJG{56@ z=#CLAQzW9_jgbDe_y4h)lPz8I*Z)_G^0L>zEG+W!x3Ulq%Rk*nDn|;?{yE2q*#7={ z7Cc$B+^N^Xvs=A-&42GZt4#bEzNHj2#7(hl0YUe>5^QjL%k_E-*j>=TqeT6dIk3xH zw+ml_NoWIn_cTzM$;3gBXCJXbF(56ISas*gg&h8nU0JA$a_vNkCVxhPl%@=aWsf^# zcC4L^xaPV}b$bcgt)d^N5#4+MYcPs>u}-}#A5L};E6hTh^Ns;n!@cjzV^v7fbqNTfS60(|)oMCARe85Z4dXM!rD#ogbdw>%R9|;TK)n;mwq1LmL zIt482PKHbTaFyOdhsn9?u^tolh}#a1Rfusa2>C60U-X}l4H+=tH~>+z zt;^CCq_aBo8jQEKdWHk~$j!iZZx%Y$Y*-lzb5h*;%4%LoNyWW@akG-P!K+zUiM}hZ zQmK88M92ZK@PqF~eI7kUqG9gz1sq@Wz%q%8OUwD0`Bqf|E2mdssc@d8xv^)@zhlEHM^hkFpd5dD8R8iW)XLbv4}PR3`m? zmal5X*|ucZD+Z_#Gr^Au^QX(GeE;k_(+@D>CH=T7okSjSe87Un&KfF3<1lcE`I z-2aJ_#iQ*z)v-0D-{7tl-1n?`6pr_|U18-@MtqN~Ir#CWJX6IZE!D&cHT-;a+D6hT z7sy0bd*pqNuPHs2%?tQQ96)~Sb__HLWMW(J4AAthhs!(En_h@FC8A4~jEwP_lmGEj z8n%E_%COP=1R9ej1_@PxUBR~ev?75Hr-5pp7+I0NF)dl!pAQh&0iYxTAvVx4i|Kr> zERe%kb3X5ZDvY-$!kD+2*>{5%IcTEfBwp;^O_>sj{CGubINzukA(D?#kZd`Cp)O^p zE%&j$PS|DXa1@`f%r;Xsl*rX2h=LtQb;|FS#2U<7;^{KY+;p2$wnO2b%0p|iW#UU@ zVeKVLEI_DqMjViv7i6j>PDPS1*)*89#UI5?3u_)v147^;b1an6>;}-n>!*oO&l#5O zWNecJ5&g-plJ}s%{<$moVtD2$8HK^fm+WML;fO6|>gDI~`RJEgy@4jvI@RN$Cl5tN zB*y2DRSS;rc$o?NtXd7PXlIdn$PBBRDQR0R9v6Eyprv_dyiKn*vk-agLa&O>+L{UocCXo1aJ^%A1$6*q`ygVNE% z!CEx@PtoESN8Ad%m1#*RL-cWlFv7}vkj%&&LB>HFS6r#gFK9YQy+$SmaS6DF@I|~u z+^!5yv9MNVC2*N|gP0&*t5}}%G_~807$7JPokWm-j9%`iFBJ@kW-Xw*Q}J*aEqQQ#<1+J=&*NO)~y$@;~93|!tJ5MYW zE%f$Lx&lkM3^&Bg8hfzLA}8fQAN3(YNH~qSB((Y^;dC<4L3diT@W-3HY6-JA%?t+p z6kbrq?c&ifUa}@TNRvDO*&N50N3w!s#esztOliG>UrWNTp5pF1b>1#&AF&usz@jC3dG;jFWWmc1@_PjRrp=0%?UNNbd4O0u#DUpB79(+R& zj_CJOwk+9}D&*=lHt1xo`k1OQ#XsO^xWJxtxn51=;^AMsD&~uS**GK)#%+I(K;lJL zWqctZ$M1izj+!6BGN;9A#H1>2AtVPoMZ1$6JelPK%MpuYwRi#$nnW?7Db=RxIx}29%xvTnOfC#jfR7%4!A7?zrJ!i z&*nB=m+91$TNe@|{Q5O`>&r1@-ST&2{bZ_F3<0~La-A&>eJ7z;_!4rZWeDdYB)IQxjU3LukC%RUnOi!#7 z4}^OuTCrYqSh8g(L8(hWkeV?h%W@?)=rkoeG)$A`rMVyxe%JF5N_TF4LPrS#@RIs^ z?1-He>T^#^z0s|<9V-$n)5EC@f2?sTNQuE7<8~oHWY^ZR$9|txs zRHqqUO0{1y+)+utcg&Q~3#AXu-D6RLSoR_=L5hXsxxd3`Jec(ruesF*OMbzOW@Ee!J@{^5&IZ|o}98=`Osz~}nF;Y4-Imz#O zf`2xno^S<8&*w^*((#%R>gu&0z^PHqPN#^88q>Xc;!R~1B)_#nFxLAzT}xe8DqT$- z-*&Gp)TH?_gb_Qzu+Ki&Q{}`1H8HSe~ zz~|pWFGU4YUqC4wGDUC03G0#KSAH&+20g9nFju~lZp1R(KW@`fG|1}EZ1qaLv{)tsmrjun#fwND*QZ_8KH4ZLr)Z{kU90-3 zOoj-*|6i_!{`HL(610D_42?3s>lf!K>i$Ju%$J5q3MKgF8a%z?`O)@>xmKK+Kf znVc(eKAVK9NGL6*#VqwN*)9Om6jl61S zwv3wSe%W@-zx^;kOZjzcd8BH4G9iL{hpfaf+wRG0RDWsaMeLV1Flb7f{nt&FrmgsH zTuj5PT|o84fp_j~QlG3x&$~P3cWu6U{>B{4-Y>KQRq18~C7OL{U!#7gI(4Rl&@8CQ zf=4fYC!@=u#1>nPZsp7V6aPYv=3a^F*Q?iQ>f=AAQ!KG)D^96j?Uz+FW$5YgFrobCyxS*1t2KKZn|0E? zG2g-g<2_W(b>E4T4&fkT*wSoq1lg6O;6A=S&FkGi(5lp;XH?pWIt84sx!h_}A+4;FMGEe`Ghuw+T3cSP{-sE& zHR_g?(Sy-lXQXRsHobVBlTu&aAf;aJ{NB83H2ydt*0D|SL&B}OeR>S12;U}&Yu`HpW{y_C{XG@j3agOXw1vmJk&0+$RJ(N*| zC7Fd~NkmPDpAWouzfq6aPsDjgS~Pk;Ztd1y7H^>;q{OLE z&E-bLbd1F*@ix_7W>gJL1aJRc7HcCl`@gzY?XB#=P%Jo9Ru;u-QBv#PDlgFnMdyHX zjdwwe;L3;78VSV{z*?ACXu0V=&&5(KAxI;0Si{TD@zBlsLi|&KX{qkb z@kmqyz+i4YC68{PqxFc#c=DThjp|bc;x)ftg_n+Z(vPo*P$HQMUNru57`8Mu3nU6XeigMyiMU-sK)Ja_L1< zFze2Ui(wPQpEN4-)RDEi%Y(g=6fhWCickfUPoV%5p***+IboLPrt^HcQV!89Y07br zD=RV$0_W)>YEq8Qb`s(%?wW9&%UMlWtmkH0Xl)FfPz#=2k*%gCaU)M3KJggKfNS#T z__+Nh50#Rf1)m$8B5`DUNAc+96f_hE`{O-Utro4j+$zUMu7*SP8YuETGmMo-bp2C{+hAQDHKd;et?q+WKOuAoK_yGF0= zO4Pa{NPuW~p96!ty}qh+J2j>d%7x_FVMOg_je9Bg?6DTal)!>k*@6 zk{b3iQpZdRQM$o9Fo8W`GpK8ydAyMH#&6l4rX0{ktZ83Z%?z+whppoO`>xkWX6p@J zz;yas9hy1&?Ks~Wr|BlST>n3EvK3eH;=zWY#K11O8jf|p+RtfV+QbVt#Q?sx%^8~+ zLxY`?1lGf0v3%hkxyD6b@wMol5xIzg1=G(%MTZYOh7(SJruNso6_z ziWkLd1!Nu!(}2d~4T83P>v>Z9hZl03#8}zn5>-43d3i<)e$8%%)xrsdxIlJ~ScTXI zbtT%;TVynYdE_V3aD-S(Bb8E<@Y)mh>-(QF$rmdwV>0FBW(Id48#|L7reKd=+E0sS zJ|KBH7%*Fj)%}p(Sxm;{Xrjo8@a{m`#_jf*X@xX=1Y(z~glVZIjf&^HBii zEq6;zlBuq-ip2WD!5wz7!|}k19cp-z(LR;-%t9+gAgLSDr+nJ8xLzIhTMmwLU&u8l z-1krK6N6>mT9}4iuQ-;QqyL@eq?wE%puZm~Eivvl@5>vQgU>~*qJa4pXj zZJU811`A0y%kKVF91ZrG*P8H`-!dTvl@f!}zR0w=w8|l`h{1REuLOesS+%Z0-EVKU zne6LD1Vw_EjmlXGf8f?(u}Uqtftr6ZFZVg3?Cu|$Zl}oL2>8R_^@>b?bI1SS@!-?G z$Z>~{-qRa!f=@hx35TUUV+~^K>G_24>M!WpptR%XTn7$bPpeGx_nl8MXmnHtUVZsX z558L1O=pwHQ>WXHI9=R<~TsEadkE_6&B+6G5#F;aQ5O5V|;DQSQ;+H|=GOI01hY5Qdx zISURIp^nb4NJBMGCLWqo4|Mp=h)036XrivyQyaGWBVnPwrRxiQdHpmjSDur| z%V*pBA<4mMZ97}kJ0H@O0@cnpI*z1#_)e>Fb$g5tR`y3Rxg8HkOjUV5#`)XtZvYjuzhsah)FeCxb#S` zNwwnz9dpzLZ_8dH4R!&Yh>4)AJD0Yq_P+(yqp%kQsjk|G^xgUn@(2rLtHsdgJe6-_ z{Lz1Iq0y?T>mSK0Q4HCAV(-#3HAzz%1%h770FL0_tLUFQ=i@ls_hCOc-(2u^+!nWr zVJ$^*XCf>|=OJF?TyK!O2oYFJRjuCZKGjjQlg=d~M4LfMVJg<%DSNgNboM z*P&>KTpz2|g6j;Oe4c%!>G41DCv|rSr5ejDzsqQC)0iRD#z|r!IPFYAJ-05@j(Ykc z4$3|9dZ`6d^l3R;bG|JoK|G)k7GZ902lI^t_|v3j~K zp*(!sjRa-9+pTt50bht~3D-Tsish@(3x;35I>P=vZobS>CAN^O7wamoRXzP|y^4Or zQ@>|vgvc$dqFlL1N>D#oRyVgcfrWD$w80tVh|Tn;>1F|0t1{W7iBOFG+iPJ3$Sn?B zdB((eJI%%({ZF)5?>Y$3Kcy*G##)1oaTsRlS6$nnaV3GTFx}0AtuF1GiAckJ;J8}& z(k#8AG!f2UJ|b4nl7hD~)#77vr=WK%U-KVJ#*wc}`(`UN<4tl(_G}b5r&67p5Dqsckp(j0vP2eP7bJuk(D}Vc>yjJbu3ueb) zxZU3)4glu7YWCf`hl>XR+;9@)hcCF_!*>7EsGvTR!qwLPY6Gj9h{=thUCr(rtCRra zlo+HNdOG3+!12QF8S^-ZE?u0g(IFP*aU8iDxX@}A$J{bW%f|o^`+q-?`ilC-;FiTj zq7BhE;t^taWI9>BTMi)Dn?G8QTEKdCl!Q5;$GtJoQD5S5j@z5@@Gk#uAnR)d;(o$I4HaVhsQ#>+01zEi6khz`!HOW)zJUxM^o| z$Yg_J?w|khv`JNkrZ9arlwbuH4ZpgPqjzumk&_7?Ifty!_0?d2Ur|KKL;}lI!Z2>X zALPO9WzT0@#N+G4s8Hp(bIyoz)8AF;HVtIS3opeVi`YQCe6f zUO7@cYHODF-=#b7^aQaa!ab|KRI;omB3X00)YcGm;^c{P6r1YjDvbby(LDwd&vDAP^)2UGx5iW{r@*?A^f3&7jq&z=Zl% zLrouWl6-&d88Tl*+2wg{q6uWj%7e!WOyUL$^G!crPq8}VkjW&U6ul6$;fH#o$x!F4 z6?P-gg6F)$bK6I`#qH{g-w~R-uub&E$%j}q z$wr|7MrGXBB5$W&G+d3!jF!3VV>>loB0hP!iFM!w;``{GG?1P>6`3U@=CrUaqgijj z{XFH&jH^ZM*Xt?7=%e3q?Gjh>DiZeMtFDc4q@%XxS|y@pbu#d3NVZucK-ZOAJm`~R z*4Yi=>dF%Fsqs#%7S?{BqPL_pe~8R%bblEK@!V~D^$OUo?!OFp5nIn`Olmy~^BEO% z3PGP;uXwEtqC5bIcHae7vF*Q?jS_fRMvJByd+&`k(PpwwhKpk4#(|4Rztk&EO*Zur zIo?^4;aLCsHBCYL?F9-@jfOcu{aiOn@>KOouc<2p7W81{JRZ(f``|VS=DJ<_pe7G? zi}_X9tbWeEp7 ztv()cGv7Qxw{yHo+4YNZ&Nun$#;!_!rPbg&+WNKfx2kmh$k^tu=aH~(DDN~E86 zy6*LCi3AlG+Zz1WC>pBzZy8vtuvffPki)^S=>9Bk4E)KqUFEN}4wKQ3F=~rwgJmze zij!qB2J;&n762J#7cF@%1CwM!>eyF)o(4)@yen6gtm%(liS%L^2y3saOl{%gMnzBc zy(z*3gvW#9CCon*NZt#m5ITTKIngs7pytO}#_ z81=gEEKU9`&xw=MBz%zWNT&M5Dku*fkS>z=r-Ve@{Z{HtW9GV0!yY)q0>Fm!&z6aQ zER$kMR>T4M{Ox?VM!riNZ3}M3+fFEvYq4nX`?L1y1|Y*-c;~K9_3mE%dAubRdFA0CfQ+LE#1+u#a?tFT5x=jl% zY}4zZ{oM2QXc$|BCps|k`=@8QyfZipi#$boAQ8=b?vYp(gE&8s#g>4bk>69@{85^h z7uqvU|+Nf&_Zlkw+l7% z&n+BhaKR-xl>Caj(ydHES}FptJWp=|T!>9jx)PQ3GL!??B(2w|SADk6%X?o2jFB~#eF5V-$yi<3%3H{MYtl~32cy**huELky_Zv_Rrq@0rE z5-bAGGxwr?Sj-lL$e_(IfPDrINlKoGsje9k*L7UYKMFvL+2{zdxJvp7ry(6Eoivnj z2J0;cQRP$WRf@p`8b`5ut6DycAQ%ogndIubN43wo#O)el#ua(ulj%(UNULV;vH~koYEl6~5ZM9a9D; zi%RFpq#WNnhkC6N(ezRYq6^Q&c)33NXIiQ6dl1bUWGr5nI4UP2K~7tq7>V*XFXd|C zXQNO+{sIeh58wS6*|R5iRSUkk#;D0t$!kH#xBt$xNl4Lww}>p*+r_;Zv_!5^|Y#&A-zEhlzT6kmZ-!cs+H955$3pN1m0JtDIy742T z>{2RNBv~ua5Pjn0CyR>Zu}DWXOcryuxKtfINXnmy;7zlRH1wV=MpE< z!rl+Yt0DIFJrdl`_#Imq;`UTW}DSugHgtjYn|EzvGmL~f&UA`p8E@CzACH5G z_EQ&fdtaeTQ1dz9T3KVlBqANiA_m1z4Anp~gemGjNorxDbAO`GKiXh4<7y5W z4tUzf-J2;=l`%%?Ik@z7nFcM4^^5Z=_e_$x`+lFR;!W6@-@r1#s$CSW+RBHsw_;aXEQ zb0Lbof5N`w&T~bOPV19y(xM5CR%20g?y9pUDvA;`jF3r4?sfmb#o^>rWiNSj;~+0) zilt=^Q~gy&4J9*MX6j9pt?S2e`1Z0f^GtQmf76W=weKL8-2dA-F;M)0K42&z1tu=#x{uGFau-8?jTAYaYnttEOc%T*4V`Llc_!U5=&T z?tUlZ6Jsp1T;>}YV$0Y~zY4*&yCPA$2X+;;y!FkzCbic_$E7rB7@TJ+h3N{6ii^{{ z`m?gZFKYdRoUgg*>DeebZmlb1p&EOvYgA7;(Q1d}0P^e+=~Ajw&tXmirR8NPtLUBc z@*)vg%QRYBPWA^SyuZj4|MwxUQP9I=Iebn5Mvgv^J8SUo-qh*`{4=IJ& z{*0S4e0b68Ua3e6QN3u8(b`)$MsGerQ)X@v&HBPCaaW5@KUoBQJS%;m)&u~=d}XIz z0TW+u=gL%NX4eFSv7bRqcRjsNYB<^G7>wBNOt(|^u~ANR-?0`k633{g6`;={9<<8- zDg%$q9aVL{8`ez}YrD2Xg@$yfoe6cuGG7!p!|L zppg6coAQ#pxz5bI99zKZ*=}-!|kgMDv#&O_qLeo{3DRw;DvlSfg=aZD^Z_) zR0?(AC5!iK8z=Qj{2|^#R#aA<4;k)7AjW&TOGIqs4uH#VR?$=XdZv(cCJo2yZz& z-$A3|nr1(J8CP)A*U4SiMxM{EwlzGGGW-2Z30DiO2D&!aKzM)FOCDhU+J(6))owFt zmQrDnkIxWI{80J|!`NoMl0i4G@6$DWv{^4X`S5DDIz>IPE5+@P{Y(_qlnb%}*6ATm zN0&kY8H2J}q+FE5wL=S2@(o9Us|qAp8FXJw<+;1nFzLyEv^~c&|1;T2sZn1epUC^W zZ#&hm28Hc7MR!tZFeyKl0;`|Th0GW6icRHDqlu&Y;Kq2ZrnEG#Yf@J~i`rCHmV2N^ z=TXu`$~AVjsXeP?X>T;~U<<_kpj3|ltLJOi(T*)i3jfD;Q~`&dSFJ6(`9M_HSJzq~ z(#RvS9h!a4@#U53pZQsyVo=U0)s&y#*V_t-E3MbX|dFB6rNl0KD%{(>@lqu$Xz7Ad zxHI_Y;4bg?gw^qO9y82T3yGya1}@N>F;f@$RtFM^g(^9fO+~}y$ z7C#RgZYTp4$1pFz-N_ z^;~JJWKuP{`uCmzp^(7`z09EIyq^UVP2UJbqB*|P#Jk@oqTXjq zoZqkbH&aiy=flOV>gXr*GK63aS>}X!)g=d8Md~Nh9AM={OGe_jYmVyL#C$@TUZ!EH zy@0W`_`f_22q3+;!KoR&m154K{=78E%KgG;<{=c}Ur!&7g>Al)b_zSh)J3jajZUgI z9HWvVoz=2m6q`_Q!9H2=#gQ0Bw{5h_0M5&eu)oTx-&WN<&ZuTH-`D%W`TppA=@J^3 z7hCyaYB0G}jFP;Rwr_e}tU?rDR#U?bM$MV3Sy51WfcnVG!Y4~&X&?6Pr`IMD{uOWE z8EfKQ_hx;pt%D?T9!|V60~#g{@>(_boCiVT8waHkJk&=0jsRtOZ8}%B!;PhqW)IlK z-D)8lLBsXPhVpPHIs6|FcWPxFF5fvn;i0)MOX=->Da3d_>r$*tS=w)7bJ3)Z7_58W zf}LgR&+o%Nwjy8@ev)xIcGUA->^cIX###e)CXRM-Bs1zTBl(l_Wx^`1fQ96F%3S%kh|Z90|AB$9zQqbdQQ=GB?F^ zKe5_{;O@tp#1H{gjDUQcQ8ssVTg*(@3-7rW8Y}vdU5oDrj3_TtSADBjra-E;OTfb* zw#h5O5ZQ@E-hQsv#+xcen5TYzmhRKZf9;n>eM0ROT1^S_#Da%-ov?1Tr2tgN#v8i? zq%s*LVlJgfORRcMVw}Uz7tTw|@pbBL)Y&+*?>vA2r0K{TUY1lA@dNREj6WSbJv zgq1TOIi~!Bd?IR85P2qjT5wu0FwXTZCil?e|3C56n=>^SS9K1A+Iu_!g=a3!03da{ zvbAuG3UBdM2dp`u8(xdw-B1q4oKT&Hx%shLjGg~v$`aV{>o^gATuLmF@2fq6HGdjK zR||kkiFW9;<~1l!8wBle*LW{~Nuv|VU$Fo`_#tC=IUjIb=0E|jLC0h(1s9cjw$(Rl9oXM}3@pSUu4YWq_V9ODQBHsSWEz9eQtsCUHLcHMWROeXs6U17*> zgB)mb$DP^cTs?v)SA12JyE#2>%NM55@tmISKn_(>eeRtu3p z1Io{#y#y$J^J&1S5dnxkEEMy?+_4q%V2oRhyyrJiC(0~|MqO~prX8lEA13No zV*uSTC*UEae5W;N~dvv9v5B+fG}T7fb;?5U2kE$fgWi}_{nCPtb5-|R2YmhVTgc>xo5eh~rxZyqi=X>AZPU+qp#!)7 zdT5-N9P_Z%E*_>+ulcK%F-Er1h_$K8_l8-xqY713-(TMK;E|c4WM|)4ijjBy?~O$? zbU&DdGgdy7jZj`Q^y-=H^aeo8%jR7WN8XIoVwj&`2za&R57EUvx9UYk0wY*90bp9h zd4m~0X6r?Xx2Kb~7Be;fk*lmC5o3o#m}OYN<%L7KRwZ`7+iC?v&UBh3?BZ1~mFgyY z(x!AhCd&lOt$bK|yx-sL{s0&TIBqP2#o4C>rszC7d;LC>$E~Jr`kd-}?_fd6K=k zWnz}*6xH8S5KUBv9G!uE4?bLPCDS}z%AM_fd-80xPc<)wKuZ~7ozV&DDx7!lZ#-Gvst$eDfwlX$%b7T>@rc7)*%e$^|1WIh|MG&A zJNV=CnJ%cj)-(*ZwHj=vqdJImr{Vb`!yg@lt@F;$NQr6qPYcnXG%_@&evx3 zm=SZuyYs5CdIrd3FWl9-lv=tR2;jMlHcc&?1z~ZSq>tBMJSA5J7(EKK+f&|vmSURM z^hHKS!92nAGtxZff{`2&vX|{lHWd)XTlNhf$6H4`D&N0cTuIP{52F)u?a87PcIUjO zybi$+K{S6gX{0=L;XN>|duE3eNtjkGSTyLNco{P-BCiG$bwQl_?0dxX35q@s#$)BC zQDwO$P$2qkcwU3{-0^Q0LZwk>16Raa)3xAfiR|R$NIlX61h%DLK^r6b#0a_*QgT`e z`0cn7N{bFIh*CXcB}3u8pF3buiG)!p6` zjdxIMVgf19~ar{RZXIwG`gZ*}Jp?Mb$f9C9yo1z zr*wI)l9OrpTxfk+DpMi$MZ785kcc(Fc-3BO((VWFMT3NWb5Sw>QGTvD4;YLJ1{+m9 zR6UBrQl~OV6JR$j4(^8&^V-$rMh+r9|B2JW)kjD{Q*dElnU(Foey_(v?07Y8Cp+^B zVW`F)X}E5P@6{x$Qfxyz{p6g>@prQn0rK*E^_dh1PCU)1(1?iUI{2e&!C1Lbxk@p3 z^-f(BxK#zptxR)}2Q3je3J1n~3F7Fq<3&$)kX|PJ=nJemMG|(ZV^PM35G43|qf?sf z=!5V@jZfi?C2+dVz^(Fo8sP%Xy=@`%vj4nfXT4fFJ{zh^oxFI_}tGL&w&Bp6{+Szqp_+h zJR=XXKC6IuM?ukG#gmquY(5}XN{`{bTT%Cko6C!|pWYk;^M&SXf)Qo=8_H1ihJAX4 zk!&0oE0H*TUA?;Iu6Tfm9pf}EZI0Q=QgN?gOJ@+T4U4m>FvWNDzP%sBA$xEpPgVPbvegI-(KdVBIXwEjuC5eAzWB#P( zc$2!Ac6rs@VH7PBlO3`W`ane8^BBCJ)Cyyz;N{_7Yhf*_N_0-!iRko27FX)~5@o{S zG_lQ+e&wEWgRgVPdErC-V!jE)iY-{%%GsO2Y^yB#7QMirSG_DGSdx z@9(9+q|-qvbJUyEBduNpn22EkO;62;I6ircSBr=}fA74Bv6RFXQ7QIux2>yEkGaF*F*`pI3F`Ba2N*2) zfC9G0KF|qem}?QM)hU(0P8@oTI-A0c>c8V1u>1XzRuJu5rMbq5*$zbg*m#(1=@sL- zd+q0h;^@X}U=LZS74^T5ec?dfR%vCybU|4~eVT;d1^*jvh8!HUSg(kxQ-A@vqVTGc1aW#T>-RvWy#vSSf{w(8NVxt>hBgbH_Zx|Ao~Li+=BYQ{0!Jz1+Y1EMWS>)Z4up@kon1)Q3Bnh(HAQghCV|(Tb*INq@du@WMl}cHt}C z1q?^tkBfqD#wkKjot%SG^R-@4)J1kGg(Yyv>;<-Ey6hZrJbHcwaubd+zDJY|kfYo@zt2Q0! zn@-DcJXQOs z`wUkfZ;vnvlnDEgwKLy|w_;2^o8bT#tG5;@l}-sjI7;eyp6pl^gFjbbCnmzF6aJzq zFKG{r=PUmh4U@WDC)n>VX@+zA47C(7-=M7oT}ml<*)r3z=eEaMU@}h(VzcNpYMrXA z7&g+@uVvU@jR|{1N4_m}hORr%Y9*pRBdthKL23@8xzEs>BMi z8s^r-5P;hjuB%rO39%W6ND(X8;5CvHEpwnzicyF}5N40?8j|gUWA&okAv64(Lu4P8 zIu0xgG>Ve<7yOHl66bBz@41fs^fv60Xl^eHY$6uj*eh8o10>z_c8N=e6AL}NE0I(t zq6Nyk<7SG*c;10lb&@Fqt#Yop286R1+4aXB8gIjMdXz5_@z(QMV>M)(#JirqTH>bW z{+C-V3G%{K2owI9!&hcR=~hvc4U&x1wc%>`q|xzTK;#w4TVkvcS-9@hIO;0Fm+a%d z_gW>$U@;p3tj80p(wi}<%6ez>2}bwH!n`-Wk=E$_a%RFN;WMwrThw5YQ8b6dR|*n` zPv$I6e$r;yl~Xq}0~xQn#4vlPKQf+#m|VB#y%K!xymYg;rqGvo8V@Sb#7^0JSS?9Q zBh{bOGmuiz3(i4b7dNV4a4A8rb&R&hhkPY z(ijJ78gA3;8R=oHjU%Mj|F+Inw_lK}6t6qpCgqzP;NeqvCrNbYi&1Yii=7y+R^3uV z@ud_%Z!1XPfKMz$T1KxCQC#>L?@TR#6@eiwVw(*ZS68AgNih7=f77VB8?Anp(<-iU z^KFt1)%{W8slscVS*BTh*Y=q-uwJe=k5ehPt~^aMYl#40b1wOV0{`fYV+JELZuwr6 zMKI<1I4^bfnY@Bh9nT;j7xj!sj2s9&KC^Ot76kmDt5fUNq$H+;-hIh?5UMS#n>X(+LMK3<; znRG?nmdza5EyAJN!xKMQ|^bmK|?UAs92H_z-rYnff z@(1Inlaf>7T;$j}S?q;wE3D?iM)=adZzW!4fVC+q>kMfRh)b>#C{)B@zr=-Qa ze9)*moC#$oIGvRDOk)D6=0ATW-1%sQW7Aoe#Fg-ewtoM zMena?VkLaP(&Ciwo$P=TCm3ae=#C$nhPF>$C^dlQ?|QnO;exlxLYHXFTM}iDZoS#5 zpbG8UTvL}SQ&d+q!sQ9hb5F8V1OG-?MO53rn86}i(Z);p(@$jwhHl zyVXvDgL<$|0(Vt@qU3(rHN$LKE(XOe} z=ITrdQnnWvRsGZfnXUoV{r=Qh85Mp}pp90pGMbJ8>Fuh$-M6 z^LM%Bx28NXqaktEt4=uRg3YkGYQXuNBq*KEep4XfD zb-@K61!Y|UhIO54`5wtS_-{z*Mc6r74>58s|I~A--n}*6K&QJTz}=Pe9H{)G9S51V ztr2k!GGp2h(__`#vjb@9$G!4zv69jFK|v?742Prnwbwr^zN~jE0-piFch$ z^5ZDt5w*cn*R`qZhVZQJ#^rh|3v)KS#u|kL&@>}fMlAO&qlq;zlH0OR??w!T9zB~= zjdtINZDHSPL@0qzCL7J&)jJpPe#)G~Et{#GyC7I}WWL2Q@7)Nho4>!$?UdhVc2y5O zw>hsuEmri@0g3R7Q$Jk|)7|?oT`iU{636+ zMQ8J>cNk@P%I8M=GBqqN0I!eC&q3Wa6v)g5U> zHwqVY%}CyHG`F)q>E>0@9unpt!@~c0aA?_4PPHr|2Q`u~518NH6NuEAL6*BpjDNlVFz zYN+9)w27RAp@ySq5gm&0W7z8lD`Cs8LCg6Or=QzTqimgi=u~w5@*dS{CAvgi>Bsl+ z+|T!)I(NG>uh;YU@2B9GD&>1H!s38z!m#=AZroO1)f)oIzU^Bgg@?LB|EP(_wGh1x z4=_(3p_Y7Z|AQnizMPR8#Bp({Qqo2kaUL4W@3KM!2&9+tY+)LC;eK-iFmd;vfi!o+ zp8~e}g`r?w^UtYHDf3T1UQxxq3~$#|p*?6C5^7MM1u#r+N{HudJi%?SpN@6lE;$T+ zT6m4jf)e08pNCxdgJ#QeujD%*jQM{T)OGOt1*BumQ-zRpYT*k* zDuq|mm~KPj0=H0OzgQ43P*o_)gA~tY*xXS77%b-`-m>}%+!DM+a*{76$CCa5=)AQJ zmr?g!!XNYstbs&9maA0F=PCRH4QOHf$XiMXmi;1ZgN66|+B_K*v+C5T&?)Yu0g8Ep z(C8in79_joihZzbpNz}ZVA3ZPxf<_izD#o^^GF|;$9u0T1v-4=h@4VkNpCVhjdnW+ z1b2QU{$RIg0AT4uioxBgA4^ssg*B>X!n7UikQOgPfys%7GQ3?@W1;XU4#!2w(vOf>k z2tT$4{QUZJT7u~(4< zC|qML{BzU=;6A(H&;K?NP=iWoNMz%UqISj@ZuJMe8gm^D&R&=M+5yf>8M zy%==A+KLHWRB=nuIkkHOpJnii3+HNTQ}e*xx8y2!a(8R;&h6@jl=kr zg$6Eh+xT1(@!9#AO2MC}gu5f=&_k;vE#=_-@Ajvlp?>yZBf-35c@?Fs{Eq%SsQbse z0S@kW4m@ohdc`Ou)u)*lB@@qt1ovendmH*iCseq?^*1^?;{sV1y2o|r+BWtMH zc)1K>e#{a8(Y)eCO&#DDa*}_)xf|EOt1@-iLE6lMwD|`k0Kj6$GAVctVJnKLieUKQ z-yh-NbRFv8t*g#k0L`cqh+)`GcpT=Bdhm&V+t>KM{YjMmt3FK5G8h7s4c;VM7dE()n(_bx2v-KsaZgW`~3g_?v>1!V|`H7 zI#Tp=8p6e7($gQw>}Kq7F2n$mO2!v6JH?4QIpa#WrSR(}GBWM2yFiqXGiw)M$SW8@ z(m%K(w;kot{U9#xmRT8q<-2|kZh42{01?ARDIrDB#sKGFXRDNqzDzCYNZ4J1drWa( zB9n7SR%o^r_S14>wTx>0TR}7s@6q<;Ow1wbS zi|;kEIiXUDc{InVt`|N(w7L8Jd5zJIX}s=(r$q2^qgn?XurH+`+A@24DbNkeA60MO zFg({>dpsQ!%mtgn>~$-@Z|xRazaH2Y`v$ zMNUF!{4!aLV;k}WcxUGP8*fEdq8I2ghxY?z;8o_m@v{Y}eET&jfQ~)st}3PZ`-aZf;J1M@BFu!R_Cblc>tBK#gJ7X8iQM@F z6sjPw$$O#mObB-L%vhx)s6uKy^N^GP_e}qL0=S ztzyhZc_LXR!F1SwKdActq)+~k6PDbgovtg4GDN}*4&$~$B%O?epzl*^W>9cI1m7nf z2LZ#g$DD#2FFD6qZ(ke^MuAp-YY|?K!^;nkU=pJ2Uwpv)dG19dC34ChF?#mM~G%XAj1D4 zAroy_RLp&+BpzXQ^#+t>sIULN9VHB{>SPzMU*)a1cc2k@g!Je z=q~bm%~@6G=s@r%Ob)r_lanTzfx57y{Z3>25cyaF3F5w-O`` zo#3JbAI0*=SGx0+WIYp!A+D!0FLNp{%XU1_5!B!!@{lDtu7QR^OAnU`vpb??#vQCM z4XPw!0X6v0%2f!y z1$F^(2=ai;A$_P!-_zF8!CtU({}{CqoDCh0bJ?N~ctKZ#5(WJ-#T?|_fVMuUt@Tt>*acG}^T(4<(l z5o{>@jo7VG>vR-bSRc@Q40LuJfOcwES#3iyv^>o8z8liT0XvV6Np^#)7ZO$W|Iops zgIO(vsAgF7C2s3&YYQW!&yrQ-ms3zlU$Zd@+PLg;+3yjklfa5!O%Zd#34)IcF%44d zNbj7~+SCO(@O3%6rSKY~iUJ-vXBPf56dUR;AxJm80G!(kHSoBbC?Un$u{%W!{Vtz4 zWs=vs*Ry=}fD#^j@?<>iFRJ7Ly0vR)y#}myFgE@{@Zign`OH7?X;Kx`w2~T(t+;21 zgyC`5BgM2PS(5YT%b28p>Nn-f1h=tLimrpBS`y;==YNct1jgyjt2rkT9}cDQMepVj z)IR__lD2pIPd$L?OSCdZa=&R$8_)F95iKrwj$%$F(;9<30-+A{jH1PIaWBdIYR|p+ z6et$}@++RpF!Vc5&%lOwti4#m^j|k=#f7@43rq7Tng*8-2!;=Xvbp?LqACnOh<}5E zv>1UD!pQsY9R!idHOmAUC`1E(SM|YAmm^#L*nZWuXsy@cmLE( z3RWmlSqL!)=s(#2w1c2kIx!)_`(z2q*#(g2Z-#hRf`(WGih$24mNCx$E^SK)zpVrC zxzE=)ItgO3@)3*^!N^~oo#G2yj^Y5MDfL{!B*G+E*(SK#-rs!`1Q?W&7^N_7+N5}d zh>zX*msl#;c}fsLkNZB6buhw50(y4?F`5JJ4d$`3$sMOuS(tg!&j7#e+6fQ2of&SkiHAec-2?`maLk-r7Kk1)3! z$7{_>r-mZInQ9X5xx7L%SI#2BIkgDTgT+L3M(U`EX_w-lhZ9012D&2iIRW?NkB5vH zHa+Bvj8ZLDE!5;JG(dYD_&Ap9_^9JR5GjHJ{BFM&xk9>^QrcE<6Zo9@n4096nXJdd zypz~6jsWc&S3zj{$Cqd|%>50Kd#uE`Z-tl*q+0T26wFLQrmfkC>WI45h4%lq2HORhUK6a764W0QZX<>loRYbG z=$M~05M76VG{Cs$Fe`z@TbId+K2S2}QAqSoLk(mjZZ;rie&>i~m-kARVxR_(luM6s zJ2~N$4-tuAKSnYl(DhkNG6xdZgI zgH5zbQVx{;g*7>)PB>CdE*qYY=|F;hM5#T%{P(ttHM|G^JEBnSS?7~;3WK?*8X(?! zBJ}O{s||>Q&Ew_#9MWNwBBqrtC%4xeA?O>F8nhs?P(HpORxc_Cxg&6gT$J8Xad%+Iw+jL^ z-@g|E$}eqY*^=ixI)abDMBNVd_dl6FB#d_2$WkoB{v6MulwNIb>@eWNSOc?10~^$z zbBY7i?RoI~ZKX>^eCL_%C_?6@Z;_dh-MUcG$Y0`VO6iSZ!(pap>xff2$D$@6_JTXNT z!k8_B()DdO$y|uc{S08*IK{rWCKBEL+2(#F{?7CiEGG5#T)%r*vZ65 z_a$Ayn^<5T7LczaW28qra1O$lX`ga*$r@1jNsP2GNws-1uK@~Bh5NZ&gFM!gk3nwe zPXBSXUq2X6zin&`l5JhvN zp_skGCQ0zbx+MlM(}jZZFnj&Z$3dFhf|RUc z4(Z1wvYyYpdww=_%qon?Hhyk!Y;E<2u8G3VU6yMjH7>p5|ApE0$Ry#205-;JCy&kcqohryHp= zwmUV<7On#$nJ@38)*CrDC@4Q_Eb=>|MaG=k963{by{Y$7l@}dUp zubpP$^!vs-_|4@LA+~@gtp+26AA_-}`fth+lnU$ptr843eG2cv&q}nn;2yAGz>V6C zOZ%atIFSEt7d%4$@Y`Jd*e|^yx9p+c8&MQDH4|%@`nE@t7tUbyO&hQs8WIHmP(i&e z=tC_$BH1LbQYdXgqF&$H8z(iZ+i5;C{r8m;Ss1icOJFO3QuYKhrx!q2`Tedi!2MG@ zIAEt2ZvZab_IIaiu^DhUfS~^RIyxrY6H57;DC=7;#$ou)5j~7gT;!BW0Pe&Il@dU7 z+oF2GEH7{^Vdu{P0w@-@RGS>s>M^5j7es~k!^c_}yUIcY-|r^o?D&l$EXT+F432Q9r&EPY`;TA|{X`$DmWH%jD!gM~E`v(u?h{qUJ@GsG zAG{W99iIYUftlo|tYQ=d|0L(<4@iK&&Dqp!`^o1d_Zqv7E|`6k*gXjP9(Hh%Wt$D) z0~I4Uz(J)Jt;&t6M14z%SjH_VsJ%*9w=o^Y;QAkveWSub_lZE%xo)uj z_FV}omE2)_$MM+#4C>u%aHuFM+{h=v)l&|L|@tyQCLEIL8k77xE#Hl`PVgepkR+EC37UN>70c;2xyg3 zyEP|tBamk1JD@D^vWS~q-Pb6??$WOy30?DJAc$LoNJ&etpbnp%1Su?UtO3?fe+%IFi$B+Zze7EV#O)QUv=DQhd2$(YR8o_4gdT{Zr@oFB zmu&ZgHGFAK_|eS1&%csG(4k-;(8$=!0X=)siqpQpU86-vsAoLHYey%G>3R4K*B6T$ zBYkllluWpv9puVOxM5EnmFC1mAyP}4f|L0LLB5{!mi9+D<^Twoq%o9p>9TfF+xvB_L z+Ws<3#+5CV8ASJ0SJSaaxlsLTm_i#~ep4sK>~0-p55u+}njwcE?b=&KA@=0_c6=G; z$^D%PGH+w&A+rD=%d6&!6r6m2~g$5gnv6D5tj!lI}sTGMkGQ}yy_|H$l zKl)44ce+r&Iki})gdf0erkyP6zY^?%wBfLf*N~mA6U3yV`8-1u2ISx3tzl}tLS5%0R6gGj7@vY zU2p^+^ap++Mo5mySwJ9B3vo<<;uu11AIJ=)S!OM|mJSWhge3Qdqj4Swn{@>#QvN|; z%G_{*L}=?9GWa?2A5zs4*YK-}15Bny?>CAiRk&&lQhz>)6>i~gRJJTmO@}bP@|avn zJ2-cxzPd|XVQ)Y?d)6g+4_dlifjqmp`S^9Kq!X8v0Z$pLXE0#Q|q z<;s?lxv}+nz62{fX@oD3FITsa?DO0x9%5t2ofc#E?orrwMw*PG>F(PZ2mt%L>n&e! zKT^0iFrThSPT=pKyp8)p5r9GHut7|u`lyp!f^f>1C(;m{cSYq0#9#bxg8cG~5r)Ur z17@4KZ#Wp%oVx?W2eQ+`h$r4a*%)_0Ru04BZgw&^BRX$>GR52uYs84ajZ$3XUel}O z5_GvgIlsshM%BPl(4&|>!R-1OxC#urWSsfeJVVXmzA&EV1*!YD!On1diHFDiF)URv0&_5!^Q6%5M!EJhfE|+0J^v8FmOAtl4nFOOfZq$@| z;oby9DQqjKU?`F#t{-U);f+HA#d?eHLHnRUY%>wuzcGbdFf$6*nt9jNX(<9f{Eo%X z;R*W4HjoW!{jDfqvcFbR-2$G(Lz;hDL1K_~p%HE$_n0|A#SGd1GNpn#L&;7j!^#4Z zSKX1RBx6d1i9+B(%!(*s$Ld?e!O&#noB@f9Vv@V`Y;$$l}Soq5$ zk1BO}!svbgiFa!edUw@ZX>7Yc<9Iqof2F-AV1yx_Ftr0{N8d|1C|^YX5wiE`heZ(0 zspk0Wv8wjB1J7VJ_selE3?rXA1$b!!u8p31vu+7Eo7Hkm)sl8jz^# zpC-ihDKM%qKKudP4nc7nv){sxLf#T&aK>SjhycyW9-?8wc*Sle$Qvo00!fUaKKcxA zDj!2gV@n!D8;)6=z_m~+??r?$D#u!5YV_1J7_!}8BFxVAw>ut*LlLs?hBLIfOP8l5 z)qt1Bd#L6~iBOKCT%(RbV90KNq;glK@vFj%N?9{uYKvr$P@Mt7%QgXgK!ONu>2I~N zg3FYU5r{F~B=0E+n*QZ>Ig0Rj&m$tV@`Qho={kK{15u716G|^|um$27jBud;7j@R7!B1ZYXpSvp}04 zQmF??^aK_`^2gLnA`q7_UCO%x-06j0r6MVH%9kKi_q$QDjrP*-M(qp=Bg6_$7?BS_ zG(qKIiGKPtY7Nc3N*L;J*)B1LICDeU&PQkABNgRr;!T(H2_i!)!9X5zr~|X*auBfj zCc3mQmmu7G@ge4_H3p#itBd3MpPUmDg5O_3dw_bV6^RX&58$eOH_I4=Wj~BI8)D{) zdTy=4?Iv@g$VJIcv@a=GIRPVQ>>px1a)oixXL{2+04y`}eKJB8pax}gsiT26o*~=M zzOUM-55$^kOxSuiG1sRR^y!wxnt#yb!Kmp6M4a`x-5LC?=erni5Nny6jq*V%SsbX! z=femJYEF#=+jKjhkHXpl1kSyX;#LLBW`)4mz%OufSUC!^-^;%O#t1wq1>ISn7{#!< zE@tYPcgu^(6e6^_i8+|7P=Xo64;io>lti*V_h87W1?cAl$6bcT7U;c=aviGQIy?rT`tn8%w0z4F z;=fM!56S0F7I<^m4QHle;&WvlpOW0Q(+xHNI(h1*w>=6aX=0J z?Kk;V%wH6t&vuHV^z;AxM1@5fZ^2)=It#eh%ZG#cU}(stH({|&9hMcNYK((n0<(#7 zAqSMuJnVRwkp$M)SAZeS%I#Fo&kb83*OY+iT>K6WeG&**Iy#pI$?nCHjmFC$B+c$S zz`WcIZ&(qs576KzxT_TVMy76804(?RPYwrRf+S1%c%jOG0Hihq6+?k~2!6g2(h$~B z(^Uwdo-*PR)K4*AhcH%epd3LDcx%AiaKIPFcCKPj8D>?H^-eohA0hR#x%~=FStNEb`w{urAbMri!d?FpIh-Xhq4~22=R^ z&uXB)iNzJg!m5F2>V*eOl?ML&fpS@M30_kapeEfD?2M9$nHK1-c%+zuA}J{8$maaM zkPl&IULQOPhN}jsUFX5}5e(Qc0Z!pz40RlYQ_!1nXD@bm-nVAnnW#HSl}iq_9=vxr#M+s{)&Dzhjr6fzBKq-O71WoL>_DiK>#zN@6#4u*>S6ao)T=bBL>omL| zmqUHOSn5O&rdwbn7<8xutuVH$SWH*YaPuMM>2hTHE&=-K9zmx?D5= z7%37navd!Ozn9oxT3Rkf-Px(;qMnN!;TxNV;Ac{MCi$wE`~{QpK^~8N=Z&<^ygSAx zv)I?L9uW78N2%@r5lyWMvmN5pqXI2U3l;qH8j0)4(+wN>y@+tA)euw#zoW$h;pSjs zQX>$IFJA4qy960S-BcQ5Q{q zE%F)bQUe<6I*B|cL>(bPAc=Qo;VU?m*Q0& z)hJ`$*1M4=1_*BE!PSM&ctx+mJAbK0-&k-z%|R zn96mF1%g?aN772P6^Q#-%VmW@$*y`5Ss0S0GQuDTA;1*3$3JyAEA)LigLggCJXy}X zyXIq{Jd(t~OQEJ!V<)PTxCOhSRwiTQUdeTZ$ajTh26ukKd60(v^=_k*{8}U?O|2mM zz7XjwyG^##@Nu&HKsMlyohhN{Jc_^rW)mJM#8(s#3FlRJIBp=)oD@dW$wVNNN1zE1 zA)jry7s5PZB}FjuQo^S3B6#tpzX4yf%}S&yD%*iFy)r5bL(~Ht6sCKo|0CO;TG(B5h#tP0#d1z~Q)9hGcj;n;Of zX`r+>3@LBIaY(Jv^*eZ%%@cT6_m@((XCeDJNw(1O=dHwHR|p>K5+dZ%snWyz&DM0TYZW znd>J}2_}W)Jsh&rdWRvmcfXb;AKA*6>=_@vR|qoxuOSiwpPa*!5H6J6eBwzhMOLy? z9;j~%v&!43ysj zX5PHBhR@t?{h|B3WiMOB%#Xg@UJs^2%y*9g@Z8+R1iP=@bPdJ@3;-*dXGUP86LY0P z=4lY@SWsLWp~d%8Oku-m z1C(=Sh*Fc!eXMxr4$>D9dd1+$2*!R9w88TTs~S}lnsDM02>oW>4ph;?5pVZIv7Xs6 z6|@7V-qOjs6v2&Wrfb#21)wZnpI~JPV41R<*H=ve&&|Ld!oZ3y2{5rMnS1d=t&-Un z=D;C?J!PUwB8Gkh)jIJa4>)gri85sHxYM|Oe}p&#WraMxrPhdH6826li5}7;en%6& z0U)b46R_UE|CG7SKSmBQP~V;hUfv9AC6Z~(Tn1&e;dHV*;I#*aVKZiQ%J1XHFMA^t z!`(F$%*b8&mR2UgcPb~=Kd%`;)9fw4CBmgzh>S}*bLt_v3VE*&p4V`~;}OjbaD|Z6 za0`c2Qm`<~?Cf6J76ii+s>wWY2VMaGL@bvOl-MB_v$wrTqAQ&JAsNE1wL6j?a`z?4 znm|kwLu|(#GXQ6MaMl9R&HK)&W9|V}sh`H)dU-0Q%89cps%f5CH$k1MWdET27amAq zsVZQn@%D0&ne8IJkSQ0DK{Ik4!4nJTi35M_=B{mywBS;aHnjUIx`Q z{wcAVv>omR7-+@Jyk&)qp=0VM#l`);8VcS+$VYR@bP|2RUtbU$BFy;_PI660Y_s!A zo2=)fgj6}vVM~IzM!S>*0x!ffl{wQ3)B6u8b-!Z|TJK~PIht~DAW#z|j32i%#ms*D zL&!cDIz~D97#5C`sFhJVL5v@g;QYUY&mz65L2@E`mZBatdl(tDD0XA+=zhsqAkr8$ z8O0p|MYnE^jNUJG$^Wbn1qG?}(cJc!oZl{x2;c$$auw6>drM0&uloyf4ULV(ta$Qu z0aUo=s0I3X944f+~S0$fnfkV}ZxI2>=JVBV#aPCQ6q z0L03)D(0>JbV@{6B0#ySaCW0PS_9ouZV%nDDXiQXpR7e4^<^4FMDRpjSm@IX=<=iM zEt|48a(FLl_uqgIM^`IncIW*745H^?oogO~J~5js+)osG6cZHRfzR;nHz)^_keG2` zMZFL@9T!p$X+T~-6`nA%Wx2rOfK@wVLPdn^CNQy9OJPE%Oi&TxJxGplIzsrUP!aq9 zRk`I4V+3-Q%ttx10O5D9!#)62y|+vZkv>pS2S=mc)n;$z#f7)x01!-3s59U!9Y@Ja zfVNUYOloyl4AUJ2QT|p!;&e`oQQ#5haxd<8f@t7;Zb}*VmQp^8#1;*mhLu2nU3rQk z{N^sKP7}BzN(wmZurIGn2pt8<*su0YCIYoVfD<1?eF28ch9M>2|4ziU!Lc=<>Brv# z0SIn)rSAHi3ji^9>Lw}=p}eSz3YBlP60D8M8oFR#uB4LWWg8(1V-8 zYY<>U{a18!&gKA^KmSUrmJq2N3Vnf$st8+h$^X(}vfnKZeVhF=Cgt>;ZKVBIl3?NW>=S&r()lQL#^ zc%@3oa#Rxzge~oD`_Txa5m?l4zTV9g?BMQM3aP8c6uXtAc6n2WY|uk3AY-_6J4k#p z>tQBWGMe)SMt&eiP>)d^%GG;+RO{d!TZd@n$VA^r^Ir5vrfMMimrf-C!113@v$5Zf zB}?GL{$>D!z2w{+wpkZtuLDW|7pKAS)6VXU2v2+nsfJhwvvZ zzbHnZXvNJZ###L;#v1tXhgOL}ri|H&zu58lPtbRp9$ky?wtP5-|F$h(h5sIYFOL5v zM=XLK{QJ}zd{%w+hOKzC-#ITq-;93m-~+`&pT$48Pe<+GLuiCrB*r9e*k8HI`qk^f zO?u<6MbK=YM?_chjVVvzWw^_I_>Nxj+%ve5dPP6f<=aEXFM?p#2hQ4tS9ni6TP}k5 zH$4d|c2^!m?5X>q5ipIvn~6Tyi_Hk}4O#=gZa#cq$$XyQ#D^sF;p5YBqQ^$f#MAw& zt7d|_fK-@Hvl`FAQ%&K?hw(q)>s8)eK+i-c$!`}9~{H|`=Az;%xh0<1SVc;wHOEC%9GdAd5&N9EMF|? zduG`9wAZ;kl9Jx!CApZ-m}|ruN$p!O1;-n8=S_6W1DhrTvHtm24V~Fzs0G|SGzEh7kIY$u|Jeh_mEnKfjvsEo|GdS^yV1W^o}WvA@38#=yw9K8)zBrq z=lBiua&Q=w)2E{hK!Z&dU8Zkq2rJw__icje`>t8Ig`n}qIRl^S_#HT%oBWbkDRFIg zE(S4}AKorP>;zw5fYEPev_4L-Uz)!W(DLO75*A*~bJKB1{qT3o2*i*6W|(xi6$Gr` z4==-?)XTpyaS*l18pD&!HyY+ZvguCEmfYoSM&TXa_n6ovnZFzy4(vs)eHzcUH+RGt z{K?ZTJjag|K7%vrw?9viyOuo-s=D*Ol^FB0{Dt}yBS zOAXK=#r3`FApqQ8)%r2~#e4B;(vYpX!GiY3SBr6!GY{0_5=80Ec%b*C{2ajKvf)lG zW&<@qxt==pJ>nTq))v5-8=4hCV4wM@qOqS{(HMTvl&?`XJhv-krT)`Et4dNY3|;-Ic{T+yRSQF6 zJ>wqc;G)((v_oU|qT+uw+R?BUeL zqBlLO#gU&{WYl0#%r#audiZ8LKJ$KACss+2I8oSyZsmNd66V`X2hW>34FsiLDuI&W z8r+gD&+$x3vZv2^2C(oys-4Yeu?mCipO+c{ncOoX{J=pYz%l0bPPi_3)+%LO^M0By zar|O*ETg$)`H*5(v~elu*M7l%kPv$n3dbdG;r6>=8gi3fQ6U zA%k#s3goZ3>z87n8Tueo$@FE9iV^0HX^02;g@1^Zuu#TKDHpoDsU;+cl=Z+6(7%q4 zVqQSGRff*T+96q1b8I2V%q{&@3nOKcNCsidj)j!w9=tn)pO=So>q9&4C-j>yS_!6K zx*7t>>^E~NkfWa+0Tm01y&vb`9_@=#<7gg!^e6Nd%W@p;6BQb9408A%@Z=qR!0_RF z3^nj`-FTxG`%o3lXZFtC;4A=J^qIeMj~0i8_jtNq@=k0w5p-{T2T0!ka}7w;{;xhS zCj9tKUM>3SfpfFn;A9F*Sib~~LkPgy>lRCwNP6nXLOvqd&zzo77?S*lUxzAS+(;T5 z;7aZ3`6Id;Rpj-$qNc+M--Xt zo2etg@n-M74hf}kNX6;cVo>Fjpt$S*Ml4@_G7Zo?&>lNy4}4MzESih=Yh}!PpaIIo z{TJIm3d6L;Tb55cL#rjb=5FAC>wG)lZl`(L)xfR&O)So#B?3ohy;#ls=QASM_}@D< z;CjIqBH%rCiwLW-F%Ptljp7F0piYL1{NG3E7`Eg6J0!;1?i^0i>3Gj5uCJ$=RfFcR zH5nJ%Apq{;*#LpR#me(o|4SQ)4Ep{HwdZvWTQ!pX(%HxHEB&t(nkTtKZka@A?KV&g zF*}@u^neYel^`Db7D(2QzUF`x&(dHIZ)U$Fh`Y%ei%IILTjmqbu_ampd*?sMt@;&b z7#>`@GEk^{)fo+NUQ1KKV1QU*43L_NGjT=V%SLxz6$r%C&N>O^l|Ka1^B?!|1%KE}+GEe z0JtYVPS+2JfxvDNL_p@*xkeU=(8G={`9FU1AY_dC{av6@Rd17<<-Bks6tPdX~ISKWlq z*ngk0fck+$r~y=+orD2#dS!|?QF-vF7Ln8kt|og7Qoeg3Bv=QU3I_5ayIgJ2&`C+U z@$5}>M~KHPbDtcMsVC~&=?SUt#RS&SP9l-;OLZp7{M#Qn9cFd&*Yafnt|>6;zkq&8 zJLH6Y^NX#x&GdecU2`X=J1~#D1d03s?vdx`JcJ`J-E7Q;kO@D*A;Kigl36x@@YoFUAmZGuf8!B>wdPIC*eg83wPa!+kJ*|=;wM=AOe<2P7 z-8m65g&YWmo(};`P*fT)_i7R76n056PSzlDbe(K5#q_|-T0IKrZw0ZcT__58o(cuIPiHXD8UOT1w5e-3?Q*`9kdv?^NulK6mvs9CQz8dC3uJp#EeEkEFB1atI&HfSr$@ z(SV#^s64My=Uvu_dd%7vsueZ~5K-5F3>qrdQ7 z7z0*4LguAdo-M((3*($#N!%z7WT}hDZ@deS_TSqKBE<2XD%3CBsDTy!JOE-c%Qr!; zp~oc(qG-p6r*}U|R^qS|ay66S9X|ql?8|>>qbp((Bud};N>sN53(J|kZ@Lm;!n~6f zWYD2uMmA8zc=coz9J2eKG}J(}IbVtvi}E{@Ip?-4u>-lpR* zf9x2|o4~XX+urSdK7vtj`En^FG3YXkT>zI1$dde`Of3na48z*R*r5Qj0!*`ZtqK4jRe=?R@k2P zbz(jl%gIujI1e_yERl($w4#xbAf@Jja917|@!dx|!#V-ccfg1AtIktTI=L1hrk~Gh zI9|;$Sw)9j%O^w+OOvn4)7f_`ZiI~xmr&RoZHyb(zhZq9s;5t{bU0?;{GnWmQVO;N zOgt|)-rH;Wumf6NG5|XznZN6^3Qu^Wq2(b9eZNyOAxe_yQUeFvQ?XJGA?bTr0_TEZ z4n&%djRFIre&rLZu;ZJd%V z@j>3h(2)d^h{tdR^YwmK6@_#_{_6H_4r7Q(B_UJI7v(t0Y_3ZY zUo=Nv2ie`5ksDcw_6Es5cH1DdJv^Vu09c8FWEpXj6-3tjDGl=HdH(;bxFvjyoNdU( zTbB(93I{%c0P~+YAjgmsDmiEb={b{tJN^0#BvQNzF~$5V8mCnX3n8!s)+mSM^WS^| zgb2k3i9?~SGRYi#{%HhTfH??-85?DnNowl*>%bTKn$8qLe4bxG@?uT1G_-4n?FKkV z|0&mN^1^|lm~g{02FPRGs=Nq`$0tK)4?eHBittVousf_$s`U2X>Y0Wz_}MXlv#mp% zGUioDI3MgNM76;hbx2icx%QN+I2dzF^GP4UGcTqf1R-}=W{4^LH5UT~CG)zEX8;!Z zs5_G(3=7za55da?%f}g4H5_k%SX5B?cVJU8f$GUy z2ubgc1|4$!2Z+Apk9?WtL79^u(~2cX-Ek0A@LcX8NDj+DWg?<8h5n(8fs#SM3ee!5 zzXHP5{T6x+Nq|uu(QwLir`7?aTbv`V7!*)SC1Joy5)ClT@y5$H=1K(5bs~Ia_M)uh z*WQ+nO%p3xhQMFm_`!m%V&R-}r%s!;_rG6|VhF1a&uA0iOpl>^;bI z;2?whJR?%Syk1|JG|4L_mRx&y17sOU4j#gHWA_3?aD0+F^IH9YSpX7TPO1=wJfM`O z{&qJ5q!M@>M|c1Go`l@s%S0Q+AKw}^1R6{s2!v^d1)TkK8HoTRff;S&7`yFy6gzyo6w?x4CAia*4d+tq*=A*T$?-*^`_LLdYIo-%*BG7}@= zMGRfo9Fu%=nz;;>)$$J?fX1Fuv| zU`l6WqYSgf^EBK94n}N3C8D8j=%@MMlSAyF(x#7 z&;XOoe_G21YMS#dc@(+LTKQ-ry-xE<)5tdJ@{Sl8vQh4c;z)SVA8aTJ z2|rydwfO?Vhq0(1<_<`I|t@YUa)l5L}Buu_M?g7mWu#>JRWB#^JQMD`i3(eR0 z>>`zCxnOa5AkF}N&^S80E?u3h4TPKVZlIP*XAsL1A-p%V(m+j!;HQKxJB)JD@t9?a zgy}G&7}IqgtBAphqXs~DrE(B6nYv#T!-4!Z5VnXMpavdIj8QUOA@E>sRX}`ByNeG6 zDhqiQsBQ|G@Jiw=AHBY+3;3{IT{<8mx`26_j7hKFoap;>k?DVp1K zAcF!lI-YsvLo}vUU7xgxj$!o&;(6dYhy%z+?$o0iSOt+*NR$`mo;HQTKd8VNa)(-= zvb$+chJADvZDm_Owy0F-LF;0?hHuk#r=2Bv;~jWW)C=Q$G*H)xU^o187+RBlP6DAN z^V3yiEsG)M-uy~#`u-0eAV&V@nhZcNcUncIFspHf1yb#hL5=-qFg{WUdGU`+R5GMD zjb8_^q_crg9v?T=GEYndxBwra+z!>~!?J>ahSZu! z;Q4x42Gl+NPaxlXVNDW1ihgednfv!q&@IAO2BVk}nmhk3axfOK1%RWvzgjLsfL6;g z?xXhPP>l~%0rURinP3~ATZbJJsm^?YA+M7gTXOYDB`OK6O92;sViN;wd+j?8eqM4v z>7rMt1r13ii{-MyHsiX*5FD*|O|HxfkUGfrbe&^Ymir$TG45r*5%qZOb@@FtYzw!wQ?1t z$%a-4hw|lArr#D+Z1&mi_{^+1k_3^So#ND>^XFqR&X7&}daB1e9U&;y;8k5dooBxcF7=V+;x+I zTzBm|RzyNtm}X)jTzm^o% z=L>Kiy**!Kvp)}vn zn*-<~^5G<~vFB-}R1rR3jfE~`kK~%ICcOdDhmDKPoq;l%e96gcC1nItdbjo(DYPqu@122U!4EeIaxXQpQFqhs;t)sn1ty z)z}SlCHM^m4`P16FT`-suh+|dAQ0_@fT8!lp%r{R#&YI1vcc`DWPaOw$^DD{1ZC)s z{J<%ue4625>g6C%A9raTQC9U`v=!NY`@3`q5C_eF$@` z6HL9Qu~>=8as5FYX8ym1%2c*4UCQhsSCPoGhEq4FchB_@0s6R!a#cRYi1tjEG5xca zj*Z6Y+B7J9|0v9cax_BH%OzTj?ww9C_2rfze*iui#1N+}`s}D#K{yt(skov)cRq z69J~TE0MYNW;IyNm%}dQs1KK$w#*1(D#scK6mxnPT-4oAB?2_XuZz{pedbIijQ+ee zPLy%CUeZ#C=P!_b)CadRnFYwo(VWb;U_9N2e(D}ClLi+Kq9FQ^_ON4j#?o3<) zq;DKhipc?QBW2`Hx4(BrHP-bFAS8Lvuy9-aI6Ob6%-x zEFAsAs-$nAgB+e-KP|zypI6Owf%kD8@_FdP&X(nOc1sBF_J;gj&kb z%_YY8d>&GzZe228!a;`N1bT2g9%R3p7NN8NNK=9|`hl;;#Ju)KIiUgc?uLq-VhQv< zmsha>=4ZJC0gSKzAi@KQMw$NetaOyQCD&t{rlfE9^(sEh?AL#_@Vggh0})>1tO3$_ zqg^t>+-u$e4Bes2!5rTB238ycj#e6_C<*vtNK9C%K_+;S=aAN&+M}peShzJ=gABQ& zRl#8F2D^9!MS65v2rjVLh=AC$1sctEZ+u(#z(@rr`(3Il06HdIGDaBmbZ6YABuuKU` zLjM_{PIGP$Jx;2ngnDA8%RRRZfLLz15)*h)(c2oAGq1jfq841}cVwBlzu&!=P~N14 z%v~Y5=7pI9g3P^T4AhF>XAnN^y*dfC5?>ukgB5o6lY{vF9bZ78fkz#akO-cJ#578n z`QBq-GpH5Eg?;_En8JL(a!gOV1ihelxF;Payd_J}h>()Yp&{oj&>&{D`*XFhkOZ)u zn*VNabV^iet<=WwAciNpP;?e@QOqKEeai8eJ9!s$&ic0r1$Yz??>(b|@bx#w$)%Xk zc5*PnP5%x%T_W6bbJ9es=6e1MFg`5+hqnv^~Hf=OyZt; z_4z`ep=H-2#I0D?m<(#rVoh=x4tgdUX6C` zuHa=eJq}*2?hTNGK?zEF5D)5KdnLq~8ks@c;YlAwu=25TNji&>g;iDR>7s-C)}#u3ogjHos-XQa%eEWZrg) z3{fxKq$ntSdlzjD@#=4Mg3Jyd6?G(aS5Aoty~0COq3t@+hFO`Hj>EY;wi}T4ez_mA zKz-opB2H)~6;%nBbuwz0*Zy82W(ZACF$6Vu$6IV##e6;Qp~d8}WF7N*_5sq&w_c%r z$PoT8oS%Hc;xISiLE5vT|5GHYXd7&cA+{vxa*4v9S^)Uo(K;gw6YU@w-rT6O7D%IR ztOcU#Bxw*fi?0N3VS7Mhcb+-K75bGM38w!(%gAT`9W{y<7N&Pd7H`QGasoF^@e9z= zS(}U#$yhN71o;10I`jCb>F57vA<-0;WeE@}2&QPT^`alUiGfx5!BVCzk=e6P`f`}*zE3++VD>LDeC^2tV8 z{e3?{YtgMC=YhmrB_QeDC*>Z>!56w6G*rtlX22ghxMMinYKOY@)kPA3^cQ2S^3e}E zLBgPMkk(E3>(5f11~@t;fXwi{8&UrY0zstbWa z=eiSkpw)2^bQqdflclblHMr4Gdk+ARdhJX#2m|J-MakAc`&;^Q*UF49@-2G!6BYb% z%lqq`SQK+gK+GN|acAKL{Zf$lPp>V@>JPm!KL*TvHWy|Jr_@UfAD*(iFqs1|O4xK0 zAMl>eNnAacZKbQ}ruD2=S(t4B6xB_FD*c+Za-1jrWh4`E|M!n?i8UlzWJa@+{}-Ne zfGR?Jh=Y_RM4IC^{@XOMTjl%#68D%4bUCaH1Vh*0Afr$IZI0B|v+NGxhIF@X<@U*E z>DqSy=NK(ax;|qu4gufAP=HI$oMR^e$tFE`yD3v2XSC1cSdwPg)U4~e|BaSvp)R9X z#G%njmG%dnIPv1vvac`Tm;UZ^^E_^NiDa?_tKT%*F!AXW(!Gc7j8QXe-FRnNz54EU z?jWk)D-9zK`z_T@3AB}}7IJNFQiq)_g#Y$B?owcYbqp&rTHyRybtx;35_4e*xP!9W zL?G{=g=S?h_1_^-p8xq2pvXC_WQ(HSbzI6Prf~=qw92=sF&q>Fy~bcGb(vd>x@;#`~n>)4A7Y5*2SZdcUAE# zZr*Nj7ozW)W$Ps&Cn=^&o9^6nfZZloOpj{ui!e1~dd8uu+T|Yo-lt** z?m9`(;Q2k56|1R!d{`t&Al8P~BC3;JO(XJ=P^e>w<>}2klpMdfb<@v<9!Wd20>eH1 zhPV;2G&L^o$PQ$N^=Os!whb44NKaEQfzWc6rgOybibml)bUT0d-kUDF|oZuPlB z=Fj?@?<<_z4-dMH1u+Q0_C7UTqbp~CmYM0CSoMIHE&t|1M{!g=^D1S;ld>>Ri#wMJR-->x?&Hce{r!U+N()Hy2 zA@u0YBXV9G<>~0L^@6d`aqvPyI)??*MyBd?$Hh&sKfMfJ7S$7lF~yN&`@*SS{&$U) zHZ()@e%WoZg@Hqi7P`#b{2fn0DHQ(qZ*I|e|J37!S?2DQDwZ)B4HOHFlC|I1nu3fT z&ZR9z1C*s(3tE7$hm9v24r8tUJ=L{Tf1O#iKLxcB`9Wvo(3R>v-V1Q$8ujqj(I9W| z!F_f;@vE;_Lt@^lyEC3>Qq7fWO;Q7mF1>|8lZ#b~ah%R+VjFD9)~Kbx!7Cz5?)O>$Gx z+!lZ=OR5+X@W!i8%BDUXAZ;uV&8g~wUnbO}2mY`tMLwsi#jZdE2BZGb9MM%^ZIn+V zI)FZ_8~Bj(N)?JAO7@m+b(HG1(15D9kbd>Gtk%E#$V`V^4BTCjjB%mIyvT4(dMZ6~ z0=_b9{hHA+eRCauP~s=?e8jTR4T9`7GsE3&_$k#`&X_w{q<_96h^9c{oiQ&5D8Q^gOb}Yxzk^#YFNW zSdPBaaELj$$8ZJCo4cXzp#o{yt$M5tH}YFr6Rk);(IBw#_iOOLf)QFhsbpWey13cU z;gzYqN@HyHfg`ojIFxk=bdL~&jDjr*WT~&NbIWI!$1K&FFu1%-?Z1o#dRuox@=R)D zO1d8XGt=~js+Zo-9H_?|v|xb=?~^CO-KETeD@DEjKfK85fm;u*-=e3R#487Rah7yI zkMki9Y;!WXG-tHc$-#RM9GQkw7JjI;636@3Z4$&zca5!%)yJcr=da?-!V@2}>*VSS zoyC89kl;IQ#JUfq8Nl;Wjf>gM_Tg@6$mRXii1){O=&X#^pmxpW4Y+_@Xk*uaG>moE zL>ppXx5(_))pzz2O(&{J+FWYaYPU`j;m^)peZg)t{0#K)sL9XXGIHeNf!^3q0u5|j zAZ`K}z-;e@ztM08iV|2DPN;sIj>L*iAy@u;QG*zV%!U8LquaS7j?cD4Ig|pc{Tf!q z!gx6Umn|_pj?c@HlkyI-BR$;k9a}|BqiQscvUpw0N>mTw&oFtW0kNJHuxajA!?8ek zbli`k^@Qu+Eb3H_GLxLeMh2HBMe8agExes-u22^@qiHGcFG11@r)1UWM6+&h;Rv&P zkUF)e>k!SHVOZ$andL@zpG18xxLJe&B<$&@+2ulEnFf*$_9kAop@ppp<|IXfFtT(g zKDj-`25@iSw2!vEB*~eTN3+pzR_!hHR9Y|s*=P;AVw{NIRbO+~;mUF7hT-^oC7h@H zak*QmEBn5NU*@=7TBTrfnztpQWv!T8t5L`~i|Yh^JCIX5yQ1TSZW4 zT-6G%wnn}7bDm|5-eNbBS~${Wo$AL>czDE@6Fby}gD`&lPe)-ZV#nU4)vMnPDI_Vq z@m@|B%m((NyN*MkJ1tLfayX&H@Wv0Au8AW74~yX-JZ5lBiF)20W~HtkI9@!+%AL)m zF~zN}{rbg9MTBIayYH`t6r9JiMjID8H=pVf?>XwFf;Ctwprh4LAh8Z@k_G^*_&DFr z#;t9qtzy5Y8DN#>?AIOLZkG_ZnLt zM+aR;>GC}`U0c5ILrK%)S@IBT_T;rV)=hsn{=`gH5086nVzK)CcDIJk%ztK+W#sDIGOBcHw(H%><5=?3?oW>bLa_vG*8L+V8 za@*7Wqvpw&bSL_ROB6qICne%z=<0xIIA%*O)`8_3^Tg>%V1Wg6lCQc4E}4#lku`Wd zj0kc4q$1F@=47o(pdXJ;+ryFxpNMk4_)#;K?yVccs=c=kX1U=R^+kpli#RkL7E(TN254q|fJksUbFAKTw8~-p`2FEeQQYEl% z(+eoKR_)tqN94cwtx%(&aB#$EKS&Qhc^U7{#s#!n2>((S#9+K9-q*4PqZSY>m?%@CDjqAQkIx@MM{}l$ zOA<|m>U~l!CP`{16s$o>#~X0lho3NhNuB#>s!3Iti&3Tr*A9|P8}|SyCS60grQo2) zjAHy4zejl|j#}BL1c1J!Z>mLCz8g|juby+f(J8IUhosv@bwc7||3M?c7guUv$F<*Z z0g?Zz+nwm_7psyONG?bu6R68r))|D%^Vt-;Hr{b-#Ayb9I|m(`@le5VKyBd52ojzrs4EwX8j~RTD`)kWH@`t<8Bq%ykt{0 zT)=~{8Vi|F=U(PU3`e<5ivO)qYDO1r-KZuTfB#=$xt;%(HK|_|T8&t&@ zv;^RM=Sj1vNWFZj4Sf>5fky@oaY40D3mIuR*qYF3KUt|&>(Q56Czh%Qlq_o(Y^&CF z>!P;>K|X!XhJ<#+wMIQ0au@8!@s-u7=iiXB#B0PsV8htmVhpfB>?{DMt*E3_sFjZZ zHEy?@h+&oL))z}q^sKK_TAi-6J?!!l>m-yx3DTAG=a1L94HPuJYIwTtG+YX=MWtu+ z5Pw}EgtGY1RK3IkGo7k)zL})Yjp_1|Y>C-NQ~vgYg#> zn~nX|S+%Z0tI5CJmN>WFzobJ{Oh|;Ufi%_$0z_OruXK+6)%FGUGBxCX4bfWU$ZfWX zwFD+iI>qn^UnMr!t%+_SRD5Z2ifCJ6afR^xQb>oU00#HQi*LTJ^vv;0L)y0W+ zNv5yU|0R)(4M#l^<86;#?{-o{`)8ixoOT!+Wcp~nodo96L`{DP$NT2>qHbJ=Mmy@7CpK}B5y=vi?;G`3cRys@f)%Yt0fNjMwR))tys%q{? zRgk22mr+kY;qmh{$eK&eihqqXY-RsVY2mll+i@N-ZlS6@5z!3mvOf)4Eg*h4Rp>Lt z1wVAV(Fi^Fxgy`HNB8e;HuX}!>@++2sy!ULP3+0C2K9?)Q&8(UN4t8WMcVE~_nBnn ztQf&2(5LcT=}*g0GNsc66#mg}kQDB8yPA$WJ?(~qhl~~Pvk?8l8*>aY0!lVJ_kvqQ z%~7`Rln$x=m!+y@kAjuWi&EwE2K&oy*CT5aUr_cMUPkWfIS5RYWT+%;y_pP`C&%)m z-}53-XVL!fq%((k*Wy?QgJERs6|s)y26gTaup_>ejF$*Y#GHf#qjPIX_0+x6c^R%oUoE}aqS@1PH3c_)6=G@i3O20Vdlt;- zKmL`-hI8wrYn<4sS>2CM$aLt@Eyo$HcvpzR_{S#nz9mYmp`?6lH)$M3V;)fIeD>rH z6czwlCaOREp9=v$a=KABfwY+kT1BF>7Zi`NkmkaQBe#hGQPr8^L=^>0>dJAsM$tGq zeWXI+LS9*E)Zx)?`OfByBzVzyo zd=pW9iAF|Euia@%Qgv2MGgUPC=D zI^=2csI%5-5x$?V^TpU3^SMT6&l5C{Mlw@4?{MwmMqPhB3QBRkGQs`_mkrsKMl?co z)(mbfQE%N0e!N$d;w?WIX;>yZG8O91)8Fv+;FBFj3kkp<_fNC@n!fBO-0hV#v1i#n$Bk-*j?7jgsshyP^i_2`MNOr>f) z$4pRaR4#I1lON-f7O#wW3c?5nzreADzuY&m1yL6qLld_#a%#uMSY0@whs*K)c9+%; z9RxUpum)RF^%NU)h%Za&Y-ADPr7NWEOE8$(CMXJ(|K-|Hh}KC&yQ#H$Y?ZEb?7__{ zU3A)GD{BwWb86`|tk65`0-`qyd!-}13%6q6K2)7zYsT|-7El=|V6l3?9H;c9HL+a% z@J6kb1me|jqW|HIoT{?=M2$m#`#KkBoViSPQ~7zWg@)_HYv~Aez}I}Qw{L#5&T2W5#XUeaKd^X#%tb=7OKtfkL#Qr5qR7$_x5MeUXbeceIxudbqN zRSMbU6t|`88JzWPQMFq3TA{hp)@!jwtgCLb!JYlv}j zl@U^I zcxD=49{r8Wn=WcCGE3xNkeqW#wy}bQTxMY`2uk%;prb@s8JdLs0QM^cWRQBCX5$)T}rNXVKTJE4XNP z8TRa)yi(&9PxvFJQzJ;NUm_kIKjV&)Mw+zshTQ#MlbI$;;rFF2bv!sLk&i)(Z`E+( zO4*wnr?dP}a$~2}W~$ZjF|&LYO3asT9R(JDqa8$}r{$7lPu;|62G34lr`A;(*d8_> zC!qgqElJMKNmriAuDzl=WSqunJ2VKn-#RT2l!3mZ9~O(v?(O+>ZJS!N*lk0;Z*w8z z#Qk;?V~bBHWS1Y+N#>Ut?q*h=s0N*8eNqh@nCwh4`~i}S3uoF2?a}+&ohYM^%P>#> zlr+>HtR)+q?1%GiNhuWSyZH`gslR~NOS$7MahW*t|5;H|Ere)Bz10V11IC?=Y#{jX ze7jzCW|AHdwNd2v z)x=iy$)m|)3rCx+Q)PW%tUrTVZhEPGWK@ilYnFjT&dc+SR&1+&n{SD=#v!l8F%Dy| zx3w<01@K&M0j}*iJY$is|Gf>o0IYRL+^NgcotuMLH|2ti6vW%L?LrR0`>vSv`)kiY zMnoU~M9(ta?|#Z{l{Kf5YLqfjhm|MK%0aEy^p&7`PDp(MTi{2)qfSaN!%l1!IV zaX%z1-A<~fE)f{?A8@ny7$37ahHLsli@~q|%STsRC0xsEr-Bs9;8A8rLjCihRO4)F z4)tJ(fk;=zU4vvp2H639+jiL?$|wIzchds#SPoRVq|l>d_m}K094?D%E7aC)M&tfW z&+ILbwrIahMLcXcre~~1MulJ}Mz*%iDQY*k)(Gq=79bKbF&{7( z;T%>j5SO)c(^DxHes$iCOjEyIr3Sb;DVP-+yAN zM$jSyH9!03_ByrS)S_}_oavoJ+~!2Au2eDH99}q*^KkaK$7~;_UN_v07`LVv|yv|I?vr(WJ6=^&YRNMlHEdt0I0~ zse8ZmA&n?j$|WjS7uz+ub<`Ga$N70rx-9{o_t=&?Ugze$J5O_4NY=_5HT&xR3p*x8 z>QS9qR(G^9c9J*@FLeGQ2^d?KmS9tEW%;49~hThryp&pS92|FAFIPF%6`3<>m% zIxE#gQr-1N%^m}mRR zyECC~m9~Qp-rgrK3)Pj!%D23`MzKjRGhJ(=v*lzPlshS2)~){UVXiaU=QF!i4--d- zScn+S)Ib}`DdMOIpa02hN~)bVPz>;0v7rD2W8TPg#g*Q-E-0zetvil(Asv{!OAqdS zgS)Zz{FI-qNvTvTX#!L$p!|#+p9XS2*#UP0{4B$2Xo38#6Rw9`gG0AwSW>%@a77|TM+&Wcx$At8q<9=P%r4E^#4iZjc zET{LHZbNq?T!_^=@Ofl`_16lcn^xkBZqK)hnxr*}iYAqP-d6(z8&AFfx|{H|oF~tz zl3VJR&G7Y}E2T!#%FRo`rnPINy^EizFd7(&F?yR_UlPTd^x&Us@)dFgtPXNv+j3*1lIDNk4>Xc|``wwTBwm79xamq~r*z%9aS~q&h&p>2P@|h zsMIQ*y)XvK{I^ze^u~6ld^)+9ny*`pdyBYyrfONE`bp9R-e|`;j{JY%L3M66{fYQZ zhH4?RAy<}FsXZRE8$~sh+KphzJ>1allwqp=CNoHiFp~;LA1Z6@FWRcsAqZ)-vX*DQ z01AWttwsyeif8?5S2K>QLXV!DY1EL)KC(vipq-Z(z63RQBS`%8LffNJ*e`aefS#ey zH20+MK!EU|);vVBb2YSJo&No@ZnbuQm?nH>E;941tL*wjwr>nZymhMPmvqHA*{T0* zr<_6EBGz2YXgm5?_8a3{rO0qlkRLx*K;K)oBP`LJ-e7< zps&)rniM*2ZOaex`S5!tP^>=j>{yLRHVu5a=WWy9OMQG?uA6Sm(oO>z!@{g%>rx%6 z@{0-4!c#`+T*CjqOQv&Zf1GO(WzTKYopJ5laq##!O&8_S4RrsC@}jJ=-mKeSRVvJK zdVLRll6%3ZljJNQ$}ZQH-S0I@N5`$Eedm`Tn{2avc-)zF?O~)|Rz`(km_5h3mKvQ# zH}W`2^y#s3N|$csFH+cS-|~A2OaeI7vC2f)hl2m-cA3R})w6zZLlH%$ zl2A9DZ?wQS2;EA&qoqa%)w4?v;)GDV3psvg|0fMWz-SUF);Dr2;a~TcMd}ZWGoBbs zMg`oihZ;Dv{d%L3?RZ30j>R)Cz);i)&Dv4({WIo&%I|$pdaz>bm&%T80+$qn#H*;-5H&O#=MXIbRn22 z-{3WRzb6n0rm}ADb%kkHeY@S@=C#$1>Pk|jLy^hKhL{aY@p zd%vg6zoVy_*<;nG&d@yC;$+PVUHxecx;=S}}I*D3mJI$Ho_KL5b6d0c~iVo-R;?}E_7TA-kKFsOM?^61X%NkOx(K6t4t z;m|5crHVTLmiS6^x%9&e&b`{m;vKmCQQ*gVbAeVZR#CbF$K@?j8Wo-OgVaux&Ze** z-DNRanRAz^aMP9l!R6k}!6{$=m3)eO692UA?|47hj6)f#zitq-ke0|z<8J$07_Si0&3&ye$Pw-2gBaA zu~c?5!%F#?+WfYGF)r`Ow^^ogzl(^7o|!DB-0J;i#wis?*RVd5E`3E?0Tlk zE!BPR3JL;0+a318rpj?j^KVSE_jk|WlA%hwMpecQ_79YGX-J(M` zcj|Thn_>Zhm?x=wCAIHIx-DU~PL6RP({Hwck?D1AgjclMsA8(@OR)^tb;%=crRbHJ ztZ?qcq)L`hi|*`L<05$cBjx5x9}*{|FlMokk08-;@1^;})KAUw-s;pFHP`_@B2P;h z^^Rnk;lh9kl+r&8tYlRi(5L;K3oarCTM9Yj^&sD38M%Hn{N1S@Jbbq5#7lqjf zj}l*5Ve}v34p97Sh1NhB#|-p`X&tmMQMThi)|%Z zhcLUT9m%GDIe&i47c5Ni`E}3AJg`~6y4_TgY|0hu!8?6L8;VxFs?}}o0F0HyQJGFX z44&rW{$9tVS>{n&a$N;SA$MXN$P^L%swWPnytgsQ>%h63k|>oXPm z0uKAtyW3pxDZ4TaXy9b2SmOB21>$88GWqi%qx4|XVFm$1;b%=L@ZgxQ_*p~&N=2VH zg#g~Fp|$skb0BE8Myg)%&{!l28heO(-<$$-ex=i%xN9*^FTBe|di1^(Z=lX~bDiPU z8)W)N)!oXUdbPz2K4tV*a8B*YVyp2|u{^nyA2NP=f{KxEf3eDDR9i$M!AMIT(?7VF*% z|D!>3!ZKr(;xJF~#1B?NpJ)<>pNK14&z(|IPj>P19NErNoLp+~gIO^qZq2^^QOSjg zlg|~zs$}&>{b3?o3vI(zK7=#|m#5>F+uX^a2TdPwWvJwKalz%r`lER%=x@QsqDJ-H zE+asz!DI>c4I_u=TIkAu7Z^)Dwv++ONxvFRMej$7r|-+sOVq%qUOB5v+T&DdqP&(k+RqzRbk_0RgUEX<5&H+Yw$LEq8hQs4j34{W$N4vXF@=(OQ&7A$jh2Ni|ZY z{VAE{mi-Lk#Ch%mA^2XEHl%&*zoIAYx7}7~9P}T-;I1L~%0FG?hH(s;9wmCBE(t(8 zPaX~I<3+?IQ@xMOBrr8+Ro;sS`@Py6E00@qw1!wYT@GSeH^WxHlIRj*32t5Ujt#k9 z`j?2M^-t#Eix+mJ;Q?!wq#R(k71De@5i#W7KF)@l*H6&01c81_XX8rA^d(%1veM#L zQM8OzINrQDBJkua)4e*ySUcpn}rHCvKiB-ihFeb$S@7J|l zwaD8=vE=$}tWz93c}RY@Ly2&OL)aytnj-V(MYA5dKmN=jntdLGBnTfpk6Q@7s1uhZ zW}MN63LPsgv(%UWb%D5Zt~1)19E=HDDSZO`cr?(t7Ud3mzdepm`a*g1hC^ArwSjg; z2{oE-X36u>IWe^1Jaqf_wUBr4+GRu@oxNk0$cVyZ#a?Ab*I>c?T%-re8fj96?;M>g z@U|0ttohOK#?Viv76uYuSUnc!L)&RfP$f;ptnqrGN@V?$xf)qzs#_GR4D{CH7TM6I zPr*5b$yxFXZV4jF)QHGQwTg?*WMUjvQ77u!*mK1b2760kHv-qq(qdo~9gV1Be|=R6 z7rgPq47c*|%dW0k$C^#!5>-RFIB)I^$cAVG#oeb$lmbpvp4qCgj;1Fvtp&TSst-vc zy;51Z0f*KK_i3S6&HRg>UgI;5jYs$3;6MQ&UW^X5XgUdXk7@iTQQ9{KwM@Mc*g!!- z-r-5n>LtX(ks&KmExOaM+^EpS2!V%^<;?bxQ2MO(T zo02iOXV;;2jWB5*{KgGP&7b$+o0($WivF@Ibmg5cJ5c?5&5r%(pRE;H>X;oU@QG>@ zYB}+p3t)gSU22r~7fqV-)41~2&<0G>jy*UnR3RB7s$8B)Rf;$@I++>#`K7srMEwYe z)Jq=1>Ep!W7?j*!h!GSvNjb+fl0r!Qg@VWlWS@7?d0LwU8gk`2@jlr?xQI940W`A3 zaU4^R^FaPiPS=f-@?ci!nPydyddVXiUzk$Qe!~9_#Pd;+porp;3%4ZokN&()pzvaq z;Js=+Vp@yDr;%>doplG1Xi#r*1xm@5JWNIm1V%V`CcuMqb?Xu>MI~?@F}bd|_s8DX z@|^IclXA&KLlV)3wUDtA?L*)NUM=wTKcXf zH^9qE|JzN5sEUoDHuS9s#WdziYm3t=?o*CiSQX zSyD;yC1&cyUb_*v$8m0FNj%=3?kYssDihwmv4%Kaq4B&NhbIV!9LQAZ%FqsZ$Alix zG%_pYi0Ia;#h2-Zh2TNEXxe6dZW@U*0TR6?<{f-$2g0pxQsR=S z4w@-!z)3j5O>xcppIYXt!P7$QgPM&>lJvPl(S{GcuHFy4U>HpsmAy614&DqA zDi95+>+|=VSgBkyxa|z};g{*KC>kHi!95=L3CEemgZ0DDKLnM)Tcm63b8EK^Yy5bn zQ9PVJ@4q0GloQ`UDiOm?vBlc`Ya?~V!Ffv$-ueUTiKbkFBtO^S6W)&pxplM!mUv(E zO>h1Pz2w?-|HP{$#S?H!2SSCZ;zUFLSQE{#SC~Fz-jLRHYjbBa^%!le0KLqpIWq1Y z(l)826Jc?NSzfH>=H-0)uRSe#(zmz4RQ~n%p={IHgMx;e2j`mbD;$yPhhb}wHNi(C0^7G-p#_ZT>XT;AQ)K2;qjZnrnebs$?H zhGs*x%KjjQ|Lw(a7Wa#|S9&~I@UVZ9EW;W&H&se%(#LGUUtdz&phkW2+`!J=Ai(JR zQXcGm`;p7>z4V_O(A)pwbJ$#%?n5$Yc$wKo(%g=l42vAfsV`;Nb!u{i6t>c#NC z^1*pIwsFCmxh~xs`>r@uKGax9zE}o(Re`8Ng@$;3n#4epb&FX#h=%Nfn zwV4)iz2ecr2c?G1YMq^SFqP-$dC|6a@`_N2o1_6;oAkHxZd1^BzMU?7zjHS`kfUJ5 z;eF@x0`IujuvkxMfR2OQk6OeWpuf`%x_9(0cp@BjxzPQ=AGq!05A9=fW<>|)8g*-r zW|y-(e4lhBxryr-az=Of`wiy+Qi;Ei23~&Y2Dg}qZb3+6jJ^i#m2m| z-Y+=(`fan>eN9n1Dcm80n8MeOSfoN!6fzDYB0!p{vjhI*YCSW zM5_sE7uiYOdhW?0NB!=Jyz_rgJ)JPksKT{Q*vn<5A4Xamr4zCFC4j~WJ=5@B(Wot< zI$|lLV-=LRoWiMD<2Q1e!HF=c!HJ%UWdCC>)W(qWr^vXK;R~C zglwVyZ>HJ4W_BFQc&UGkit3W~SREm4*X^JVAsxn|rc4l#l#@7Dooe&3 zbl6p@K_^aBgHkr0VzOu>6&z%?!PfQ51w3dYYLM3>t3GjT=}gFtv*#Nf_gVM z*FYWqHoHL$KQLQrXt69!7egiwclD0@BM#qKQm%WAk4b8(@@9EH(3M|jq^fl1Zb<`% z;5A>!aRC;W^X@e(W1NIG8G44BQZ0f%Mjhppckcm^ML+*wl+#z_f;Z7^+qlo*#^dZp z@>|-qn!+ViW4+oh7A7@cJxZ2)F|*F8Y8jhu*RB3Djm{Ce^~!c?A)WRC(^wV+<(3Oe zq>^MN9$QERjl7@jdj(3xK_|f~2tasc0 zGA(g$;Ug#Vj%eHKTv52V&8VNQJC}E-Setd8nM|m!ZJ8J-wi&v@>^bhI?igvv>)g{{ z>m-x@8M~Nnwd0K%+OhuLW>y!ebN4mE{q%6Z{;U>+1C7HEQbsElK%&3?8R1tapdr!ev;4Lt#!R!9j8kl(H zSNS&GnU%t@6|<3REWRIlLaLz=g$=)GmLC4OQ4DIR#wZ;~tD+r6fqKjjK)%S`0AJ6L zmFf1lvutO7tzF%@Te^LHc?{w6SJnm;U)VdUskA(>V8pTB-II$ zIn+5%rl8S*V@#=`oWYBT;x;p-^mOjgaNnJM+cpV~m$1 zo9$|&n^4_V9VuS*bccww?;p-LGQH%kOtpxN6wAMUE|OFEY~(~5We%q#k6bLvDAnn# zu^|UYoX`N$I#s9SeP*HklqKAe_r1`vx9WBvz`ybviqa56rhiDRuB3vx#>=Ez z1=@$Dv^x=+%5IZbcX0mKfI~F!cqte{L9#pb$T^*1o}E&N zSen3Vv*K_ zPwyRMc64-C%F(?WPE2>ll|@l;tWFr&ZlZvFKpI@yV;`xWTv8@h_t!sC7Ew@oyk7g_ zlpFOaS{*XXtQw%6(vE44nYmx6N4>UX0|ehcdtv*UAmvm%k}&)!iF|GB!!o) zrJ;w5nsW}7BflD18kTe(pQ}%F#Y-T49P^ztCv7yc0}`!8u`JHk+sf)x`(-(TRkx;~ z*WX`uiz$S9p|(yvW(Q2^T<5zLw0=C3n+u-Yk*?R3B?l7Cq=%chAkXbnnC#@74ldXgYA({KHG-uV(n^6kFw~I5Ks&fBeeS|XD ztUL&d?bciv=f?Iy7DcNs(i%56$UgQMv8-Bssi#zM`>*AgTv?=Y2Ac9El>7UA~R%rS|b^nk`yOe0k^Q5X@ zU4y3f)_VN5xrO}F%X_5Qr~_X&n)X(sv&^PRxT?yG>d~sV(rl7=>o=0n?5}&&2npL< zw?spXq}GZ$46Os&;dOtBi^tk=tF*ffC(lc_piYVvgwAi4_flWkmTHx+q$=Zx;G$T7 zZ|R;CH+JWX8ZdFw(>xJ9(F_cz3HnC|cAJ=(LuY6}eA;t)h$^=r9~5XDXKM76**Q*E z{tn6-A$}AkXT%XHIPbXEjP|7H-KZ1}z`TM2vAgdn2}R?8Je^OTFRI7lO>u+Ay&}&J zdf7;h=**6MmZFWRMi#96b+igQ62;igiWXzm^j1G-Nqwk-w-t5w7tMy= zYAwEiX>y+_4sv`J)gjn(xk!C7#aZ<-QtNN9eb}yA>u~XxX6j?7HRGBsC+fu zd^cxGAdOXv}r__GcqCa)Ij2 zrYl6?**xjbjamm&vF<*~Zc^h-M(MtKw6;ya`g0r79BeUK6#E-ek9OC>gr`H7%9&@` zN?iH(#sx9%;P!8GjdaO))UKrbXFDh1kDO;%_=Jum)D8K5)Ztde!2oH-?fma$tx-@p z)kQ?+;w_D8`%N4}_+~R?>Hq!;ZUK=>wxat7{sj|y%g+S8{CgV^i2i>|TtyAOGK;aM zyZ!~xo!ut7b(DVHZ}a43(n-QQVzu}#ozcXK;_9iHW$k*y@8`t;w~Gq$c>4d4$HAHz z8CLx2mo8%Hp~FP>_o#K*$%{p)Bm;{NxjN>E)*@GX_=qjlDxy{aDSn|pHmKXB8ui5_ z#XbR5p>Gfy6vi(hA!fU&tPn{=;^L31g+aoPrU66I*tY;U?!;`|M_qNR7KuqF!ZG~# zMGj4Dj4oB_X@;Z72);30i7(??76nW}0ldLg;&9|OF<_P=Pn=qH z-Zv`_lNqd>gf;MWn{WSdgdO0>dV&uHx7<`{3pBsFxmDfvI+-57bY`-8u(H%`i7Sr| zSX5G>GPePTIVwF%6@9Xmpxo|SC&KE@G|#M!r6Yn5yI?9m_Ok|q-PQy3C_3tLK?Rh! zbZ1<7qoM)&rkQC5_N~!eZhG50gb_v`=XQ|JvL@FC8@jnxO1h2|7I@<@qv9B1q>-E} z)>Njdq@tu;j|RL6;lv@M>A=?heJ56{Zx`DT%*&VJkSXbmk(6|uS$Vh~H9ibqD3|O> zl379nSo~{(T$hfH!;+&pPo}FF3D;mW?xA~|Z#EpVK)XZf-x7T@7kY}$+pd+09t9;? zFWB%F7HLtry5Wy4t?C`8YC3ISXA@gjL)G-Jmg^|0Q=7h9R-t}Y2DM`Hvj^q1ExC?@ z7oZfu@!X?akN@`&7?{9q2~@oClyp-Z3+&PuO0pJ zd7z8YiRnA)BkEPD2R_ayrn{^9SthCbk0$fHgHs8)@VrMi?v|uzq8FR>x64y&Th*;T zJmZY|v^G@eUEt6O=<$i=>cY`DqevxK3PD@f*Q9EMq1 zpUKTDOV=8KNiA@LyfnpOgFuA*DEF6xI>?p(ql26Fbi=Um{nIR_nM70 zs&arCtyC=x$#FvSV%}Kuq!SGO8V!m(eXvna3Ek?;iEeWCmago5DrfJ#vaKwspZUrD zwDM_U*29BGn1Dc56lW&H-Bo|!w$nn4IZ?j4^Np}?R1 zHcR`d)1I^8)orgE^;lOAY}TOjFZ-oB6V50w{nc?!PS(8*J{X+-OqEUteQ~i3n zhB|Qk5w;~R8R>E3joB^Z2yE~xTxLZL>Twe8S6<%?U1I@Bep0mgM)*?Tvn3u*Tyb%% zh4kd}asbnNe>Zzdo!L>vthjFlr~PRac7wPT2%T)MVU5;o7rj0_UouF zUm;O@XZVaQ4eEu5$^AX^hE|!#?hykL*S;ph9jXWLY2~4(3K=zLKWcgd)S;@hwm@0{ z3H|{~Z8q5aX{Jst)(9yK*nVVLtNQpg&2_4Efe{r8cjcj_OK#PiL`6JSACGRn^R8H( z_z}$HI`zimfw%Ct$(k>COTC8bd|_r!C|E-{i;>udXNuQE@bBi~c2Wp_W2~C&)N^o4 zjy=`Lg6Rl~4)x#bQ_%5OzrqKiF4d54J^VARQuU{p?Y9w8xCOe2k~>A5_pf$g=}*E! z!tme0_BwT+$>K(Imh4|vtIACe-SicokV+=JfgGqDo~1{vGqfgMIpO+D zm6#4j7bpF1U)&}*@6L<`y7f}eiJj`aOAT+BNH+EcTIaGvlAb85Q;Q$wK&+v=fiCPu za>A^56S6M2=sp&S+#^^oDzZ0G_cpotHX-C3_i+CSX|#tvecU<{q29JRk#FCV>UVsA z&APtkjHXz-%%;gEItIc%C`5LrFz7@IdUlZOKn&U!1Q$z?ocG_MK{ zJE*x>-SE3uy}`|v)`~mZLwKXUr>b@9hPOF55i5$ALDD`*X~~!s{nVYh%XR!ZL#7vD z;)wKK@s8Faj?ffhciMAqvG~p1K=fkSYQ{LQuYQGCt+qmwv(_1IH;%(|-8Nl$D4?iO^bLY$GbN+{42=F1 z_knYq9_JO}M(_QZhN9QL*LgNXOsNYky z@Ttv+L!s*!bwKAlooR6zL?k*A)$vduq(}A=&$(5X*xBDhTuT(WlrPY#b&2d3W*MqT zxmHkdXR3oF_Gx+eG`g0v3I@Clx8T{4un$~eMy1NDX7!r5^UuIbV|7B5r}I|lkHh6- z!@qFL6M-(0=-iugb#cG`-^*CGzbmpKg{QuQuAKKTB$tw;oD!~MkLFaP9$Z)Frwjd6l4p#UT?^uvP)Bo`_$$(_qLih&;?Wbk zrpMZ8;eFx61{F89)hA&MV@KYAcleC+z<3z%t3@`Dbm{?Hiq+3XHaDr2gHqLMIK%YL zii6`#z&6&r+a>PbbZOkW9CanR6N#+U$77iprAhI-vK#^y2r*Odfjt{(c%>5orArPe^pmEsqf!ja`@mSVzuF zv9XtW+AU&e*nu7$*^2~;>*o+~uO|^gAN6r597C)p&BEr-1UsCEsnSHQ9bjgskRW@V z7Kn~-SJR|@KQmjRo_e3zqN{qr+dW3LlXOLC0_<>yxZL{@t63FsTzctYHlGKecwIfT zrow}GPgKM{aI`cxs8^lLa+EJ`t9A5KMjsKY5V2}>?W0+GP!D<{#u? zyW|8Bze1--lqO@OCq82ar;TkWX%U+)RZbc9U^o{N<6o3byF=pisYY>XFXDnRLJQpk z@pL5VQF7AP!fHftTEyMQ!6}#jDa(D}rDa)l)@CGM|hl|LrN|cL#PHdoh>NXZn z&LAbnXI*^g51JK+Bs?<)t-kxOjZQS2Bf`W=Ly5;9fmBeMx4Og-_b?mrL+5AaD#=K@ zoRf`ibhr=Yq-{n=BJRz*^mz1czRVFG882#ASA1l6R>39Jjqm9FU8us|%k@{pN_A(( zZ-gI@xV4~7|9oM-mB?C?xO`KgxYM*!9bc<#%RGu4Vdb8IOJHw{ZFdbzR19HtyfY0= zzI+81;f|H5q-bKfV%ms(B5GNPM%Z~Qmi@}^3?RkKDJhwomIO3+5UwlJYP{!hE4g( zcDYXplXaJ?-p{6W5%pMya&Z`iw5p3EN>)&+)3|30Ncy0by3}ZhnVmo_(a0R+qMq({ zkk?T}^|R{GP=0Ta;&Kf#{QVo-V@g1c)V5mbNi#v|-)j8z%^*qnNqNUIi zW_4Eze!5l9b?RRKs{nfM#)Uk?+CM4j1fKalSzK1m>>|tjjTzGU!SiY}4Z8PNT=?Xh zw4_}r@Aa^2sCIsNS-bkcK$jnz??Z7`YHqV5RheW~Q97|ZP3&mo@FjO_O*@)yEy_%@ zawshX_FPt~K5z#FVC8R1m+H~pVJge?^UShP9XQHvXHO62OHr*Wd3gCbDEZI4iVzG> zTq>CyJxzUz>bz{W^7D^_z2nvU+H>_t`bRil)$ePD6Un}KO{k${yW~i%t2g$(B7iKKB2x^lo?oX!)wze@0j|XsS<;LNS~8Lgw1uL2sL3=xNgo9n##fCfA?`4<2lICFFqInXz-P#vtvA_>uk3!?jPCz3aHcCcno|S4!g22^=#0Eu0!%tW2%Ygd3GDBrBp2jYY)Y- zBSxe$tQgHG?yP%dLkvXztW0ZSlE_KyjW?&@!%e@s9v#Ro6L~)FNXRXkjUh>{-pDz# z72PQrN%ggV!>2d$?daS&T1fuM+bMi!-GghE>KEL!5kd8&;h6J6WK{nPK8HaH< z&G}+fgIgt$#b3~EbPpn&eTmi-w=VvD3isMPds(PFW!9aBN=(NlItTuf=B{3>(cqyc z-^*9YQ007E+} zQf}Yt0kTB?of*#Qi)N#Wl$yocK?!F{g9yxuqKK`~AIqi)x)c*oVK5bF1`V7hg9?9NV1$*Fvz*FhvOu%ApBj|$MM!%JGAcT7eFhSq-U9tuyPoCV{oi;9HpHkc z`3`)A^F&9=UzDn%E!Rz{D%BZeD#cU@4mWCs6KcHD_GoE0%WY7D$IbF)U8$Q03I)^W zNff710>)9}bQ#-Zee)lr>djV=_e-A1A<@5D&e4ZYe}|2H@gp2lP|4U0Dr>ci&E!D! ziW`h7Jb|S%4gGZ88?+?dO^d}gsn=GofU>MLlifyLInKc$7ELj$=imz4l;U8|e!R9# zeQu}bBVg?m)PHG@TtuIh=6pFLB*tv<)H5dIPCMyQH;IaTe6AXg>Kr@LqlY$73>H_W z+;mY%E8)a9bG~jpCj4V9pCP$S-q15aq~NNlE&}K6Pck9RJ9{E|_d2vN9A`p0-6Sh) zuGXgwUK6XnI$P3CHQU`r4epX_dKXfOzfT z2bqqVivU&fbBu-+vBu3g(9^lC8Wbp4-caq!h_3%i9ed>R-zTf*{Juz_EZm#d8?5=?)3KVPR?Kb@on z_+N-A#Dn(1WhIu*Ru=Yx$x*TuD`jm&yPzorW&4V)hJjXG-p?bLbcH1F^_dC=B3y1Gr zbdlMwP|NU~VRW*vk$0rZX}kqIO>9haAN>w+TZtB*rqyf>V+2X2n9fz?Sw2RIYN6bop82yMA_Js(iDp44Rm+QF>bVOLM6jDsq^gp<0SrNqlbW0yFBP{yGgyZ|6VhI(df6dUyV_rCQxO z$xujwyKGvjgE4nRqz2M3d6Ox4c)QtjKU&@~cI)Pf7mWV2K5Zl|?-a3L1OtYdH@pSkxRN^-aRJoC(ar#>?} z(q5M_iH~}4dHBsOTys#v+mh8+QEB#MmKWQ*!F&7BGc%;+S0#g@xO?tJnHW*PN0Q_V zgJV|8_X@wGVlx_@j4r1tHO*xaF8mam)73S-a~-;=E^->hkjcP2hn?xMuInz&pJ()h z)T#Q5hXAL5hNDpKb(m3pkRC1Ckv7GW0{{G$xza@p`Iqk~yJ>K>7dHVXP9xX}%TRv|HpE@GR82UR$H*`8iS8Q>cSHYmq|Ec8K~}sNqxQ^u3cwz!tk9FF*3uX z0JKt>YynKp-YN`>Mo!lz>hzL!vI-9wje}JBF%;cK1N_fm2*r6ghqT@u*D$R|{hZSo zw>rgZCsZ`fs!^kTlAX}~2YOTFpPj3wQSOd{7IntNbR~s!v==W>cRk=$$aZ!qYU&uH z@qDpQ+fU&($iMmVtY`E~^XQY0m4+woecdw61QE~6wGeGMISr1F?FGQw?=vE>7Z+Mv zwTMK}+u2evxFKsWt+?@N^``?l_h_Fk)Elb-6^K5ab^03}v;cg$)oK#D!X3(Lk#G!Y zt&_oTU@tnHPIUNbR=wDkGUa+mU$if38^E(?ba+iPy?o4Q9+U^fN{(&9z+Els z1)q6ng})js9zR)p7}Sq`dy>tw zBhV2-YDLT$yg_;_x|3UT%|zY`HpS}cuz!cqc?g$$&(?6OnvylAh^?7}ML#~?g9USc z$`v)#0TzmXQXfyJ=fZ$wMK|TtWYILCBP$55zssoXr@9qMdqy6)V2r2Eb(+N5P9ucH zSBQ%lb*sviip}k@{x^Th)914(5Z%2cXO(jSf4x^tU)qbYp1?~F__(QAI!BM(;IWNM zFG-ftTI^m}3=q$^Kkw4b@zwClWGO+T@I5PJPRL^g)k^ji(Ds^^Jf(w zy=k;_f%}jBShlUxQJ#W>^_#>TFFyn%>3Nb-$@RwWv$0_Q{Q@0Run-_A-XnEem{J~o z_=U;pLsb9mWYwd2v!YZdKspXv=7T|Ht?IvD$Y~G#wJaQZ_Qm%eqbQ1Rd}TBZpy%yb zaJYH-DluVjF9N1j2y3SDD-O1J)xJ_22)yDmT zyQar{{9C#XlTq3C3$f-p)@il6V*beQk%^mPrBu1D%@mQ2?qw)s+Gh{3TDdT{mp&t^ z-;@kar2hOl2mJ0i+ZMMS{!)gBv9HW8u6#*3y10B8XrD?kC2{A-Sc?9d$0mbb>f?3n z01-1P2!XC!0-%fYV~d}~`!UoD=qY}^D2$_jGirxy=#2SsrPZAhtB(6CHY@;P%%IHj zxwjL;M1_d51zrJ-Krt_sVB#|Tm%G$3srH*y#zo&9wXveSxgEe1g#w2d#YnICQEh71 zL%kLPyVy=d3Xk|*GZ{@i0z!5@6u1i>9h0ukn|v+Ahjy<9!R_@wX87)ozUg|VK_`V9 z+|vi627=KO7@n<%N8UiS#l*COkhK1htrUsL^5Wd3{KP)#LMi1CrBkUhH_Oa)5(@8~ z<$)_+;(h)@%V7$0&N;#qGY46PV!;8*e)i9TQvHszOG;SHOO3E{s2-+4+s7v~$>w^U zDHL0GU?$=|%A#~@!tGXKQ-HMoX3o){!9XQ4WFwCj1ypw_Do!}D5q+?AmQz2wns}J< zX>s{t6^ogI8FcS$p*!Y zZr4MZU4R>O5_RQ>(s8i{iS_^}{;V$PFitpSHsx8xdyp)*iVEu4O|eL#B01E{A8#2| zw2rJ=E{!Y9f4gYD0G`=JLzYA3(?Id$9qpkxbT z^W&BB)eqWm1z$UlgN67`t01<;TWW?`u*F+-j;Wi6EM0D^Z9}aZ?Ab$&(&9M2)p@Zt z-3_|rngmjEfo>LTPZvq3kCWz^8J2*dt zAjW&oI@d`hih9JNI52UsobyHRI2F_^&C;Oj(9TK)e$O@*Zzot>;afTrR^ z#(}PL*RXA3C|aZHPfAuCF5xPxjUnN!UOg>t#sgx6#fWCoEU!H)*s!Zw35y#}Rr@Xh ztOVNF&!l>^>A1fQow&ylZ+V^M0q!-nK+|3`nnvk_obsr& zz|5jYKWKydiPq(65-mMT3PnJ;)f-p(Uh-OuM{Swm@G~L}71B_;NRJ-vP1}i%o-ttJ z*Jq7jr$GMRQZ=&?Co-CFF9GsASxwOn@)~hjInV3w;yJ;#UKV(_-QL?q+$nzn;IW_B zyve26)ihaHkZFh`z&C46>TAcs#^%n)EmvH~Yy~x1F++iKM=bM7b#qjodA5pef`G1F zccLKqz!P9u0$*M&?ND#D>_k=9n5p~6(urGsoPh`jECg!ctbDhUreIQ_7HrRi+{^51 zHE$@QL)ofbPLL?2>xMdRF?YCIy2&mN|0y4ldGPsURd==N4=v1Vq7K04*3m}k{vy9= z?2qZ5S1C~%{J=PnQcHzGy9!OPql^G^X3>`x)JC_b2%e3}Xsx=tU)E#EMClsH4sQOs zAk=r2EWoD;JCdzj|GmAtg_7Q9>ZVA2v(lp>`mzoBI+s&GOfe3W{Gw)k}B_WBe{0BTb)u`;B1iSp*!z!l$^5UW23H! zv2L~LQV9ckI?0vim$$1cHo)+Nd%X5IaBxJdR`u5>J4-mFiicx7xUUp&;A>*yr~|)5 z=VRhx8YIG=z@ix+X?5VWUuKjJp;`7v2q=M2I6%2)ucjwDi$rOCdOhtr;}|t5P7x>F zXr(|aK9a+9fBM4+X_+4HY82t*PMiY=*{^mwA&0$qlZ#h}l=}xvw^;JDeW*bsqtQny z7=jVAt#;MEHCa9^uXkFp$X(gH&&V`Vi96L&MCB(Nb+zk9 zRv?icKmaGksYpZv1a1aWW3JluN#!|;;O<}@*zlCD7xswNaEW$b;GiPkf`SkWcE6YG zJYAy4a-*AA9qjKtK~+o=1r z&y$M7b5!?u?p?=~DJymo`JHq`)=ZT5i-B@wcS(;8vAD_!J6?6ZQAkI@*ZacxaHlT07Dy&I*w^yAdkt{>Ua!9C|4lyb-kr3SC8Eq43-639sa82`O(PNc=dJ#S8 ze8-mH!tvcZ0ZgPPSFPJC@AMSG(~8+N2igc!Vy_|6{~b>;*$01XJe$Z~GyQXWZ>mur zS(-t3)_$9gBx1#wR8<+4Y`Y8(|0bu2JHFF)Rq38KA%-XnTr3*N_zD$e9&~NmOjPs| zAi3dxULDgNwt6h!;9YWs=!F}}&D@`a9`=97CtC|CG$_ANf+L$uwMJ4Z#K<$v@(MJU zZZF!8*w=)e4jSYAPtv~pe0hypNL*SFF(7rjssXcLDOXCq3YBRwR(xPW>U0F>@Cf`?6q>KO(K4HlAmiv zD>>as$;y#(s3N1agJLedT+S${B`Ui-rLO(f0`4{w$zqm`A8H|&XlKaa?GPr(5P~<>Fc)g*cW*;bOrcOg&;F*l%KPc8brot6cqkZAKxJ*-80( zBHAC`#r}XN{jEo3&?uW`XB!z0d9cxBii)0Bt={w-KZ)IyI&iRwsqWqNB#N- z5~Gwze=Sjun@>ZK%`PWvoNU2e*-8nydhNP@*qB^voVe5i0EGyS5PZ%#VjG#=UlQ$b z-Bi@#jP;YO5}jL`u8IdviktW1nV=v$bk0(Yb}a2F z$5}Q5Mt4FPB-QfcBwkL7m5QSZ@HF*imEo$BKsXT5lkolz2 zwdWiIWcKe+{1|g7fgWX?pnss;GiCTlC0@%L2coAY3l>Ne~5u(U& z3vpnwUtu`5i90Gut8K{?NWt5P2iPjvI;~MoHCL1mhE>UF0ZiuPUs%2* zUMt1Mv)Ianfku>6{euuIJ=pQ9qf>>kBi{kP{5-3OTDX!%H5i?&IXZ7H>P$|0foe!D z^W58r0TT>MqXn=koD|(m|JemYy=T?Pji^c-NuD+DaV;fLFe#ukd)!&3sP}c_aFmC8 z&>M&90dIB*zc_Uq3`NF6s~t}raNOUgOzzAR{WHpYC!#nO`?n`S6v>p98i`g0B~gz1 zHUmKuu5@MM1apAhz9HKp(IIDs6UFEMnVKo2U2wYtlAN+GYwGT=w@c}T{nfi#8?~R* zBUZnk=9v0-_v}RFkXTA`cv}VEKfHNfyV5UN`a(h}iGfPLJ&CjhxdF-cg!;{gT3wt# zz&Jh#L(VH#w~h8t57_~;P+{=ip9x>OY%Y0CRslE2H!PPC9wmm=CgJ- zHE_Rc1enN5)eK<5&k)?zxZnG^BY6bg14x8hW7HC_?0cZxLPoH1b$W2+6*(aI{v(`r z0r6m*0H4(v52k)t7;`t&LA_|t@`6Tv^VfGGWBYWei=hXye^L`2oSjTPAzGjy(*G`e znAe1-=Q|4qFMXV^hQFrLsN*v2(eE0SR4y;;Lt2IAM)3QUv&f06X4hnD5>56Tam3Aj zckZfHd#%dqq?#M8Y8tkjh%U2dchFuNLHbT%DAf8CD};!CwSZAArntQWXus+UKO>jbwJT)ew0R1!B0&|vrygh zfDGddx1B}A>ztD_Fyg8Dh*&_*G|C`w51i^D|4Xh*w{!ir0o^t04sO>RxmD(&2A{v5 ziST%4Kt=QK?=sb;_C>E;Ac3-Idv}i`99f0xaZg(W5&UoO#bmMHyfR;SwW0>y6U~ZK zni_p1?e@)u-&k<;UvEkF`rMvFW038~80Tyomjf$d<0nYG>OY?hIMhDlyc)`(-GUl* z(Qq%)qw-s1w1hw49j_V?evAvTsyVs1d53y!T7#`SaGj~poN!94g)2e&-Wv5i?ohJ6 zyI$wn@B*QWxYFm=NwHEUHT+m+>q{p)tiWuam#mwqelf*^bboIvYg7L?!)np}y(bWe z-uMvE-Qze@edn#oQ@cHBF`vj6Y|46+r!?7Kw&eilgo7E4>Q>b&FJ=hv(g>RqEye zNv}yaU+K-i?benIr+mfR8jF8(khJP|FWa5#fEC`-&>QE?<>1}ZT4>ww}-xg}Nb&h>JkDwwdOpjEx%ZG(yqjtZ&v$ zy$@m?6|OPDaWu_34Jq+oeN%sc5X${5LF%ad zD2`NlJZDwu{-!^Q>-#9*A>6^EG3gr-ow&w=)H8mNf!av zNOb+u#bbj#9x^%)K(-3JQk^+6WhwQ5i}|iS__$A3K%{dVOqie9tUvmiB`zf#<%6dk#g`Ca>>TuQq5!SL%2JJ51ehxRqD!@ z&v68EdP_rRv$P+F0^4YHOk1B0L6kAKiAsxVzGX^OJUCRnBIZ-Pu#AJZ+(fy+o;#{&F z@izPar1^9l=!%+!y|E_3^A1T?CDnhsXX_Bz*W`#-t%8H%?(f5AiawgCc~K}KF^dhaQQ2v{UF`%{@<=f_2Ow#z8anDcE@CJR(au^ zbcbqhNCpGc=$d5HK|~quNmh1MA1p#~srDho4Tr1kA9_^TZBG_0qq|ctR)?0=IQ={2 z7Dd>vI}Hm#vXs`Tb~z6i*rAuyp~$up6rOcQ)Igg0aiC3mTsp3&cV`)-QIDpSBHW) z7N+v&-@n&YbCq5PQuTY5&oBIjMtwpXr1W1%3geT$0pPAThPsIJoDvX~K{>~zz z3kHJg?$0&QC%Wcolwz0~WpPBuA7rHxbp^31I-m^0WJlV7Lbp0uNCVN|hmUMmZU&`; zvzbmtB=5A6bVwhypA5oJ{<9;>D%3u+rEx{j<%?X3lRhquYS{LTl$k^`d!*ZFywfGE z6KK9!ruslBqp&Xk{7t%sajB1bHtp_KIXY)`jnrC0VHq#w?>R%*a@`=u)x$e`Xsr9! z!DW%UqOXPEkLxBKJDwgoB-V}*)sk-H=|^aMa_C5_wWK13VSHLirc%&Qt4`S6#0KAU z#zo^BiQO*CvipN>%7EypB)fOteI?yVL$cE~Hx9;M8>`Tx_0RKVdwafL(bVN2)jwsl z16q|#^&f8%DMQ^yq;rpJLpGG5z0*E|bvfr4L$`7sB= z4O%8zwfevIam0Z7XP-55&hbL{^hRL}TVl6`ObSi&H zJ{2Gz62U6zo9V!t?MbvG&eoW1pt?oLs`C+_^MD_J%l$@p2Cm|rlWY~EJtWd|&!oKI z9I?)*BmZB1$^Y97$&O*F_A9XN?)yhB)XlnLvT+mt#Pf;bF_^2*BU&q?O=6I==_Rin zK71%sFP!VaLbIL+*~53LomMurz=ETP_I8TslsiELHk!KJkte2z290_YbO2Sjbg9fq z*4%@^ej_3mt^CwUVVMdO*gp)+0az!_=gfdGi=Wh(2&?>?S*i`fWgn|;@o`O0g_s+HW#8Me1xZFt9MpT&urh?IvLpd{49XZM89R65$ zWkH*IPlrWm&*Y>@-Pf5zSdzbMqtmJ?wb*hz1&jGgSA1;+8?Gei8Ty>BTJ#@2@LsQEzVHHuA$}E)~Z*nmoP@ zBjI8s!+vdnVGls%A0ViVPk_9G=8h?9DBH-(ozBUGwHL8DqXH*hy zckZRre7zn^5m5{*lfe8yV9CDd60J~_9nB76?M;k{=lG;1>|kec&&nlBB>5zi+BlCpG3;(0~`CFB7Rm3^V3` z&w8CA!ba;ctnrU@b)qW4F5FF4J%YduWIG0C>?6XiWiVBqsV(OUWDInu$) zT{@X|ZJ3}bz7=*kI9DiVRp6^#4%SM^mUOqEThFs#9`vCFZ~W7mE~lO8$CL*6yONc> z^?wcEO|-F)Xvt%b(* z@9zE6h_@scrq^_ zJQxE`9W9NHl?Ixny&#L<{dBKLJO`d0U33&8hi#}e%(i2tB$ssNitKMuQkhCN+#|4* zYb74}VY)`Q3wK(jiFVTdiK^~AN9kotk^Xu8BoA!=Z!$4N{gExBV-PWZXu3mmEA!aY zf-TSr%iV%Azuq*dL!CP%Ym@ZsnPH&2dTfg^^yh$f%MGSdey1ZFM4|gQW(qd`MKMacxOtI!)z47W-=m1fj*2L2P~uvMnL56Y)hKEvTP0$OzEqBXmdhGZNwVgNSW}6DGho7z!IFbz@C8Z})u)_$ zei~GMf2L8-@X=><;0enXREy#(1(TwOZ^pD%dRAoE=;W32YSkwPJ553#qoR-o*5`@H z4*k@Lc=1$=FL%Cb!R}xG!3>!3daMDpI3OA5D!x%Wg-rup1RAT>XdIkyyFyN26SD;V zGa4wwy|N346z)vczE25kSEnl9ZU)qQ<$BCO+elVD6j%0teqIUuzv^(3v_*7ih(}dl zSH?K>2_L4*nG6rZL@O&e`DlHdjE{f8K1avOV=WxMa{8Tno0RX89Zi&Yy&%|(TTCOf zu-_9xtYv*5yYkzy0HLVoYSq<}m0Y`zRa&+GZ)C>(DgTkzSJ!*XeHBxP<51RqXB6R> z{(d>)&zCWI5~T^PUcIzktBCva|93s>F|XMGry&KNo3}9wu{8=1=-`b9y+&#@)=MSR zMPJBpUVFS_HO_9+>QuC2l`f8HwmDHQRvkEKxnlT8;1%IRu*^TlX?*7CYrK}cPf!6j z71y7kUT@IK_LxdgMENr5REy5G*x@Y`@~OvH<|kYFs2{y2D&en17NT|OYOkIa)4K{n zb-hfGQoiaXEcoiln^NkWIh#7v>$YXf89v|4J&Ag0Ibq+^;VCj3Kx+r|cILo}Q*{kS zYAMIO$J8%DDfmQ2xZdzavV$8{RhJ9GwBM9ebakMchSGi6sUBS=Ep7aN%HRv+9N~2j zyCPdeRlmef!^ZTkI<@JgtS%kXOAiHxAG4s|TQkZ673VJ1tE44rtj_uYUYYrULD7N={Jj1vYNCmS`~X zrawfYlO=gH9^AumrP+C%Xvs{u43=gI!P{BX)SBtY1px*ijpNY*w!Z#q*xJ1P2dhY! zL#rdB_KVYqB0k7Sk*uX!hNHag7^@9LBNY-ik65>OJUH6a?sS4^SHQW%Au=ZZ$y)LU zUAD_j%hA@nHg&9YFGj6rfW&l=35AOVyDlm+Iz~yR!evg&!w^zYx|KEP6ApVlMr`ZO zWc|`OALdx7Zzbi&~Fo*}=ur;B^ks;onORmVX~P*K3HI z@#5+HT3I_br;C4y-t#wA877AAQNyL`m*9?EMU(&`N+O=yWUH5Kaa`0$V9J`8jfnow5UEl;qI4^>gpbDbQiDg5;Vji(oopN`QBBPb;+hT#4@#lgxi-|p6X$=Rq~$}f0V6rq~bsE=V>igweHXR%LvJWq@)cX zict*c@Vxgi-xEz;W6ip`{uifG^*>0qeJl=!#YxtsU?EOeW9iR4eHUR6|7oJ@@^B8% zb^dXLNXxaxL{uCrEoo#&l^1vj%%(rMeR9nP@{mjmoRam4to)m8hZ`5dRYW6}2kPDv zu%(opJ0vK8oRH>ARP~OziNc;SJsx~H>Q>AdIN6Bk?KE?})4)Zd!#M{`7-^*8YA0~7 zIVwz6Ojg6L$#4Zd$Y%jqt}~gooe13USd}c$Yor_c!&0aTnT&ceP&0}{u z>TBbccTi~EW>ZY_&!#{%E>8ohEBa2VP(S<4LD1_~vSYLH!YopF%RU@K^!M4UQ+aE` zyh1f~v2cFMy2hg) zImL*|M8LJeM14U?2koKnkvziCWG%MGjHl+2m3ATWfl6KGZOF;{xFSwrmgjA1#9I`T4T0AF%kDSH0*(B zaLQ>Ci<_KX<;O+?x1jG!pwLM%NYF1#)j92n_5#gj?39S@i+>`oI6y`xowj#O=CnbN zY^$!k_d^DfT{|LK*iRj30J%ZWeJ!j!?>DH#$s77)v4_$uYHJs(oyBh?u~yYLR*Pz$ zkXD!){Inc!H1%_@4GaD%En>GHasI*Qz6jHt>qQ9lmsu{JxzRL8_4g*DF{=4~vUwH! zG!W4j52-Rvu;`kSRHA+mEoHW@;|cC?>iFY8YC2XV?n}lc0vb9Ua+2@}=ClLx$G!n< z5V=gV-s9mZxU)GO&?@XgP?fl6rc;s(+?b_=3RECsnrp>EZ_K15ROPv7hkr2}@Q{SODWu*v-6%mIr&@xCS``fkz85bP zLsJ8`I&!&k?#rI8bzr5B!q7bKyiIiy<1@R)iJEK$$0XWapGeg9jMa(N$ZL?>WQ(rg z;NObxejpSNxaAn={@IJut*ZNEQa?CO6!s<{gB3{yH6atqCgRw{M`8ag>jP+qTjlx@ zRvae@FlITn#lL2ixczD8>R4qy6UIA^zla2I{Sba&AJkt?@|Jz_`e53&c};5Fj;u-b zc!3s53>Mjq5=UB~!-X$o8U%;5^2OD{sYi4{-+f$=s}zrbTOX>@Cn-~Zhh8tqrLgbW z`KmT7$!c7s#lLDbCH1ieT*>DwH=*>1LAh~13-*-C#Xseb+p~>{pfFZ0E|dlj1=n-9 z(Rwe_P)^u*o#cqzb*)z)bCe{DJ`1mrANV)^ed>0^e9swogA?DMa&D~f{{s|-@#vY^ zHvrM$d;8tWU(tv$SH#RXxbZ+9x9jdCz~mN{5t)yN2YhyeR-|9D!AowJ|2=;C+E{5Elck>jDW4~n@>f)I^K#A9uYKzr`Ojcb?Cu zk2wA)C_ox%wh(FfiPQKCIbXyElqKg`Z0g&8F6U?ARp(yC2gw2kvb2Q>hGfLu+=g5D zoqxhZcgp5QRWC%im5t3>i^LewS>!~^O7&ZwxKZBm!xeY)DPl{P2~S+M8!W+DDk#@a z+IJDi3xAZ+;w{u_;?ad)UC863hmV*GZR}MqZs0BG!nN}KHq+1l?&b?c9o#?4;j4JF zr6p2C9nE}FE5b+d*6|JHtE>dRe_6MJPrCC?mE9Elc{7X}{_&U=#EG%e8%;f$JA zhfX;GtkF&bM}8!oD&j$(*{j$%CMO&zDMo1!KK00zzy>((m5Kx4)Z$FNmZ#`1vgU8L z1HxpeHpFafmS3He@SGIh+sB>&O!6!YcH%x3eA@M6r!($OZ=J^>VXUp=&f?@;L7<=b z%`vQ(9ME}ks*mTqR`l_ES~KW&Yno#@=j2)N5vIX)oF|&nL8;D>3QF^-+tY>c|C7t> z)a~0r8baVgs)vtAvrOxrfUnr-wq&wUM zKBw6^*2bokKIlMczhlNP^&(~xeXTX&6CGwXP}yfXwQ-X5XUGE^hLESbU{hKbFDVVb z{9U*_RJ*Q*XejXvWJC!E63z7Z>hnvyI#S3lI~`&`O7Xb)+}&PFoY2$dlz$L5Dq>5- zBP=qP*$MTN#0LP$WNGKRT>XdpH1dFlpLhnC0IA9UcX}8!<>WJ z^9Mc~T*_D{-M?-v_uZ9k-Fyt-CqDI>xzZwYW9(nAu^RQDr7g=&wOqQ9o<#32iB%y< z|24)cbU!yzzMZR_SEPS>;%uH8uBnII_Q;QK7Z$nrO7J_VQ~8j4&21J7?7<~_YB!hM z3vtZ*KEb(Zc;|Sw5nlOLwX{4+Z>)ktm8JF?9;VD&nuP`b{E()h%8R2wBi(La4c|l` zbc2VY>Lm!JedNo+=VQcx^A{C+l@zhOK`Fqx?tn+=sOd=ePpL-hhb#K0D`UIB@Lp*GZIY(#8acSpSrFzhPSf-tk zPg|`Trdj_7nU(Q7(4KL7?Um<4X7}#@Y4!0a-8Px+Qw8q$bgy_F$Pe_EtFbe})vtgm z!Q$+l{N5jQlcWxI96BEY*dsg7X6MlpJw$aV|5V=sTbt?A(@k+dv-$!)?k@X@mGdKu zmG$fGRblJSmLuG^ANQG~@ZXK_f%*I!yQ=k~T~oj&yZ%$mS^w>w4%=ROMY>UU3+HE% z*;`f-)r`ACx|}87`2KsVLjFv5=t|dPwYKqfF_(@>9=H|6P6ectF;7s0ST`66bNha- z)iWY#Jn$dPd+m65z^slH`1;=82#>^-XP@2z6@vbSh*@ybhxZX;`FSxmkiVl6xpmvK z1u3=R>2y6EnY1*2kS@y8Rx@3*NmlYwPyJty+`Lf~;DPPgP?c2GgsYdObMdFLBCV z9qR}SUv0I~;QM3P**>uc7Px)b7z+la1Bo3s@1e}2lkrMlr9wU99u6NE=xdErZNN;o{A!%~T5>*lOA zoRj_X@Pa1&_Un_~tCcHafbgfwycB86w@!|A#?7t^9~AH_dKjUJdKEiC9B|rY zr#>F7JVbifx|6=17pb57PJ?c~(GN6n4{(T#y3ZB2#?=p}C+p+t63b3{r@W0s$uc}}*7vAV_(rM=H%_GJPlFVN?$Tm_dc0I2K~*HUeeL`7m4xG z`-1BL5&Nwv^AvTX0dIxdR>ExI(U*BuJIbM#Z!Ftos~zWC9O09pM9AHHXL>1Wjpr6r zt3XDjt~A|>8E-mwi@3I3im$S5JfDbecsuDQ^rxO*6$6eB9N{$5ZhVzdO71JY(c?dx zO3)U;;?2`JwrFJcHFmZkj=)`jA>dxI-(j&zS_P)OAgmfksTY=~Iq;%~ zbB**iu;A1qUL{|fGcpm+C{3s6Y4*4VDGrma4B^kaGpTs+;qf+`aH^l*m#}0v+?0uGMl|1*XTmT8zdNqQE zxfbMjzf3)>=EC#Q;G?tf)5qUg3MtajUO8+356KM|KB092FgGvnR0r;Whs}{MSV24- zIJ_=a4_3$dt>14{rh%?&*Fef(^*Zi)+PYS%UhoP5>NomfJG(zAEE6+9IAvcImm{*j25lY3YW?@mENIm`PO?jixPYdW>H7ND zFUF{T^A*PxD1&k7NvuJjqDn`{KpB|E*Mt^;v+zgtddpqh9^=c0zL9Q%fStfe7|-xh z|IJq@U_N|b{t4l7LTS$xG&stceZdx1K2$? zJHDg>b+#qbO4o+fGKeFJf0$_$?vP=tVb4LZ1IAdku{7#c_09A6uHmOAdTmrcFA!;% z89^{NXQW}MwI3&o5^CSi9agz(2#10Uh?ZwHowcVCc`jGbz@z2av1nHRQDNvoaIfk%iVY*6>PAvdB>>Do1v@jZc zIvMINw=$L8&s=tVEW`?_<1^tO2PAb}fA}aIB!c;sQ=wY zqmymDeuBk2=RHmf5!I&Ro9;hXz3SEL(S65dIz=^UZCG00I6CMu?(A4fxBu?W%EAj? zVXfihYqa`!u;+%8M1VIPrJ0F9=ic6cH90`IYCNGTp;ZEQe)ehZxh&|Bg>|m2WDn*I zr&@Ko+gY!qt&W}u}_D^f`e9B?DzKTC)KItXYws&UaEjA_RlVj)d-O12PUWXNxQTy zeiSN2-=AuMfB#fp9&3)9U#+Fogf_CBu(A76R=)njay0qNH)TpepS_bfpEJE$S_^;T zMfA(tsRiPd%%iXrH1pActDSJX1gn&RALVb`f5ISO_^o?45x4rkEI;o5^*}mi)6BD0 zdWQ##4o|u?d95ZNUpb|$N!>qf@ynK90KKUFgG`gIRQ3lS%nw%N$64L{d#)pnn!Jtp z+m3TE^rNZk&WBvsn3*DQx1ZM_1|kj!FgQELA#NPGyhFXU04ai1c)>@{LMEJ<42!&S zetvx0^eXC`OKeuiMv4hOA9S-oltqVI zNbWU{pTrP$GVNdBuX+AX$*0z_Q@7T;&J}F&EZ{2Tt#hP)qeouGk z;ZbW@GNN2isy+rX)Ss%Gn=lb zN6sBcfc@HCnF?X!Y`s_`h$%+SrZ)ABJMy=^UtcQqd*PhR5W#T8Xa{`Q@L+zR($SY? zSa`b4YQjhRQiHXFgZV|={pi^vP;urxo@R=iYL&BVSg^A1Yq&_@%J~$s59z|*#PWdE z`u;2StTMUp@-{uQdP|JO6rJOgmWa>f5C6ie;J}`=TJVFncs@O9Mr7d9j&Je#2M*8G z;JBP#(4oJ3<*}R~6w0)dhIq;0l;37-2+aQ9^P|HzBu=(GNA-j-`< z?l(7P+AtM&gJ#&j5ZCYALX-pB@{m|gJYHceSbupU9SqIp7uP z{^^XlD-xN)S2~^Q9h#1*=|?Vc*L(k=_~ymY#kmG3TP*v8H(NaQ~yk2!HoV z?jCMB9Ssnc^#M!m7arE?;_k&Q7b9+V>7-0^9IyO#7K&yQ@J;_Rzgcvp(@ng_RP*aG0t9Q+(VG9P;= zQ@PkiRHFI+9y@IuSkIz-jiLLpWh2K3VGrxn?k8puVkrL48kPTWLA+={^P9fI6 z#r`HLa)l;5`R842>U1+%*-f3@hT_1@aoo6n){*M$uhs5Wpwlx&7?Kq z!miI$>*l#uvM8xeos@&$`~IuBrTCAYgx!O=Z%V3NnR$zaKwQ{|axm$gof6jbT$=MH z*$6f}WC@=iprMkc9yG69J!Kr3kT-K25vHZpEKEq;taWd)s*iegEZy>1D&`X-`r#U$ zg!`9)eUF+c+_?S;)H8;LG~4mtAF5T-Fwx|JBRid1lv_no>8ifQ>;O`;~i5vfy42={YhHFCD4czx;}aEz@( z2k|D6kbj3Jn~K#H-$F9~dfh3)LhF%b(?lx@#d?(M;<$C9KRC8ZzEA)~#efLON*$jK z1yak()p>h0L?Q8P8iD^&)vDrl>A969m5BFN;l;s6=PKf6!#h_1CPDed8aB?M`=w#C zvcJ+cZ~MT*rf7TLsph0#Pp1I2gE92@t)`0u!)`bR5u*MFO8Net8w$$R)#su+r)wF` z|F#u_QpKQ*C=!_Z*9L}i?47ZY$~M0@Z^WKuB1OXOkDGD-Z(ui(C|u=9kAl%7I}ZZf zB{;;_ubzsth()mn)r6YzIOrR1(5?hlD_|ZK?-wSZIW`F&4ST&9bocMo6Vl=pcm}i;9I~HyYVOkn29I zyXc0ea-7iiB}vKwMx13q!u2O=Y&?IA=9jl2yRP*$78CK~`RD_To@7%G_16~oB)Djz z#<_j}y^R{V_Vd$XrD7*gsylUEvPf6YJTYB3yImGMEVU`65)y9468sHG6Z@_Z<^5If zf(~`TuU3kN9I#zJREKwIwc>TZC1-f}piHOW2%5yb?P8Bt)(xi7!hjiB=s13d*BZx5 zs)|*SEJ@!N({a6iPV)uOxS0#SlQMATBj=^-#fb-E?Z#&uCE@F_76}4oA`$C59ZB*e z%Hhpt$~vY!Z2^Gq52b`+W$JE3$K3r4{7DcyT_s`1TVhas&uFI1NW?MY?x-TNX*y5I z{obe-<*78LBTii<4h>#eRtP4Y}Q!jbfVWTSzfIYk4}j! z8u|bo(-sxo?bm!1iO4JxY_2q)!&Xpho+5NNY^H54Ud@j1c)Z3$szZW{w+uUsg#b=8Xg5jAl9TBf84v<9Jn&W#g$o>Jl_!a>40h;cg^_rK6DM8W{W-S2YXO8>}e z7wQa6AB5qvDT(KJEs459 z-XBiCK-N0$MJb1ITla#x?lTt?*k1L8w64J`ls+o<>=&&LG4s-{I3SLV1N(;{fBD6k z3egCn9sc}K=EO>X#HXMoSx0-@p^KMC>J6uA>@#nMyWiaJ=!sNMtVmRNP*RR@=2B1; zcgKCw2)Gf(Pd4^d_s`>?J^Lnj3cJ{<%g59z<1DrrViKl9eUJf4H!&Z5%dS8@wT>1p z@ovSEGjwrqe+EXlu5eN~urT zJh4SFL-V4HqaeL$K5t^DxPXXHxZs!^YVw{Y8KoFIwaiyB652(H)*?Rutp(V>b(LIi zQ{MP5 z3?5IisEkpHi{vnVIY9$|@B4)N0gck23KPoXO;f(e&r3M+b57cP=&&?uH!LcvQMFfK zo3JL|#1jsLzVIphhQEuchrhXs^YWu7axnR((;3iMQB=Yithq{BF4i2&u1Ld+Nwb|2vq?_f<3RJGbKw5dzZ25EEJL?ZP&tHOXSWzS2&?<( z94$58kMXOETO6Nk?ZcC5)H91@ZU_MePoG_i=#pjy+emmCm2{aneBTU;I)1q{*Tgo@ zaGbckDKVR!%0y7a>&@q%%#`LMfi1di+p_B?Ho@CpKIV0bJ!dpAnd>UgDU{@FiZ2k! zk--STMI#8+b383#6goiK2OYTzjG)Us*4mzRz>7^KhR-XluYt|uD$-G2i3H-hIsr;` zf>Db3SRxrkk`XM+5B|=Xc!?98^4XDWbn}}aqq5>#tAY+4E5Yj&-UeQszKUO~SnY4mBDnmOOVFUSR*!XrjeKQaAtg%SWYT9ShH z2vs;(=cFa}+nz87pnU9oQY9o44x8`6`7idiIwg!M^Pzq@AsdRu%C@rIq}C>OUK&85 zS6GS~%F!o!Eqb_jh7*dsZ)(uTJTVu29NphFT|-p%;&ck1O$=@cIYE^tdRRe8YYAes z-$bHzQHh9b?YNx+Q9oF|es=ceY+Phn{TdI@uUj!;$_!IYFrC4B29%@3iNus~XF5;nJLss7uKtiqkAY${S8?k^uLdqnGytTg||ytbn8wNz`6 zY9Ag8Bo0Eql;#823tP5QLJE!qpo1OE$%oMNqeCtmgzIm|8ohB_7Lod1m#A^@8?hS+ zBuJ2(sIWmJEo9b%c3l@rQ!^6(=_2vJHK=l5V;a`O|AU9I2@t(Urf5+j7#OS7u^u!a z=KZ0_D>?3TyTr^%+-;r%3x;ylqEOq_@i z9AEW6liBF@9cRhBrRafih6_GV`Zm+RyP03B2HT3GQR=1vTC?u&_p617@^4oU_A+o# z#}w;K*XU7dEjGTbj*vK<-Ix9damCqs;rKQ^xbbl48a;lvEYvAykA4L$8wOIz`V}6G z(th{sSh?;#Jz13R55-=9&cB|2n=5DXS$Ev4norxDb-9YTId3X>T!F=7_a64z{Zykh?^|KL;U}~Y$ zL8Ct@b@cxl>s9N)#94w}>mrTw|KGRyR_3W9kEew{aPr~rSq&PVveHQbnbR|{?RDI_ zD2ehM(%;}Bs=sNNQO>QMH$T=;NRLV1Xuo@n(SoL!dW&Q#qB}#_G`RT>E{?pv*l4Hs z`kK+eOxW=nx0a^Iqzjrmvl2aGuf2o9?=QM(cHF+`!u_$mhQGus%{LZuoY7IGUIQIv zF4O8M+qHWS-E$!Q-Sl{D#L=|jZugKLxRaQK5$tTsKURWvsK`U3v#4(dlB zY5NeZg6V1xWq9MU6UAZ zHEd`of%o4Wn{DSwE2QzaeObE(zF%>f(Rm;Pt}o6&-`BtA*u%149GyYc2TJ7Ezv~{lCuXT!^eIUIwp>kUSp>HSF&N0+R$p4I(hTc7MGN7@MG1wJG2-Wad)hd0HorT zN-y%T`KvSxw*DZiC2qgEWL%6D^xs|9p?+EmA1l8};voFCA>AG~AMLV|B!&A{p!CG zSFw|~YE=~T4ASbTrRPotzbPz+4*;IBHudmty&@VRPs+8>F!edDJr4X#i`CISaW6*{ zyt~Ii9&gzo6COT37%%%#DJO$^W!F}(pC-U`Y867Ti2egCVcp5S-bk~0ogEa&VAx0 z6d&5efp|ww;!>d+JzY#U>&?52Ht0S>s$Z2&OQkEv6_;h}_f z%(>vahXhCyy(~W4(quG)As@X)dFz8eXyEl*jYc`<)Pt8IR(APql12%ip99jt+Bvx8 zhnI~GU6hlE=&nmpSHW!~vmnG*V-0hJ9_>8eQFMRBkHT$pF5Bd*EvJgu-?qYXb$jk8 zx{HxfNhYfcloiP)l;)tjvnf5;b-P!OOsxS|?d@8c!-@TiVe{skY?N0dDfaskIi9x!Yr`ed@V{@ZQY!k}td0#$NQPUb5U*Zx zq1GB#MqKx2!ahJ(YG-Qb%Gr-+D)i{Aj8!Kp-bgWldVm3kDu3OUg{9QjHwEftKZ_^? ziF^aFSI$iHyqD`TE~`&$s!*F-vRIH~e$JY4Am^Cz=4Z{Z2EhlT#n8hcR|5HdKc=n> zVYuiUT8Mu!W|FDyJ{IDHU3YrW@7k;3KRY;8tI>Uv^cpB6mcFmWvWb#X4o@q6sp+(5 zAC%+g_T^a}bNX+K^J%ygZDszxztet|ql-&S)OZ_>?9+ z9IzE$3Qt>abQB@Hm0CmG9=)nM23Nc}7JUwcAdU8@-4?8WSjOv&gX)Ktz(J>6qyf8^ zyy&!%TPXsmPBxlh)KT9!rXHMeB1oqEdaIUS4mXRr5?xN$*$1hw!m_yvad!{sDeGA= zl`{)3D@3-`m%WdM2BX$y?3>1KN7AB9e_ZyKak0(VO+M0I7G-1YER{F$y~WZvsW zB{Fs9I1O2-vhsDrXQ-+IY7!DXK5U|?f5ZrN98RVky9*!kE^1Dne z%Ds*AU7O^g}fZjKIysEg_@qZ*;e}D}2`=8-Gnq#ds+*n7M z!*GXKiq5Z$G})ur6i!7`8TL{+l$Ow(tk#cmQEYzBRm+~FE0rsyp|;Pde7Z`x5JRo* zl3Jy@QXk*fv)_Ltx3}}2=lwjd=lAn$pU&gQH$ElAMCG5Y(I(Mu7+Dx*lU~xnmoq0z z3fA~&f9tS>!s|?zSv~SH*RY`=eRkFRNG(xEiY^NDZTh+|F4$`QyBzAvdQS#n@M4G( zH{EL5m>%Cut)P2PRG>p>O<_{JY5oRYgU$G+>O=H%3@B?%z21zA?jxT^1BA;|<)ft+ z0IL066D4Gw7eXUGLOS*Fjo?n}{zZsb&pt-07Vy+)k;lDj(`$SgiMtBMuj-rvRiEpT z0vVqC*c1tW1RKN0n&W8J4_2xM;Cr75?UU{-`7r?fid$u1gi&z z`W&RDj$sNtW*%(4KZ*yO*iMJ(gn6MN!H^jMrvFcJ+oQM#nA@W{1RmNC-)b+Lr{j>t zGhj8ikA0!L9`~wu17Lidv9yd`mmQwvEI1%(Si;*QhG)A!9Z7)XmJ8Ji3yGMPzXM@# z5W5c#J}5pX)S@eDk&t9cXW54ZeAA~&8anbH>qnA4cbN)++1vp90s=&1<@NU{u+a8O z8CYl^kOqaFsuyAE;za@G!mTuuMSHLZjm@y%s}w-=eE20mIzQeaJm8>z-M#KdJ@n>_3Y`Ts0&y&Ppv~xbcT{W27QmzG^CoRH3tQStxN+sS zeo~yc@+85I@z-n$&v7qaaY$pEDDMp`1ICV>`y26G+vealyG^;o!8GmvZ90I0qY79Z zl2n6zs9#^JR#5mxs6`rTO}dWsYa&MWa%ouXyF39XforLQ*KXRHDuHkDQ?v|2F{lw8 z*auzc_8Lsz|2P#YYV|{-wW8~uCBxT!TZr!ashumG8H=7Ap0y5XRbwWSIxexVTl zM_XR;e`ba(LlySGcdhggw0tLOL#Vjr8?Y+-Yj!G(8K$>GXdz6E)$DwEA&T)z(zv>H zH9`$K118~0m3cj3;l5TbVD?NazFKsAH<*z7J14^1>AXSk5wE8s&;#vZ9k})i;&Wm0kjq4Ug?fcyzB{wA?DKc*5EdV%FJ~V{=L0q@VGeasFzRaV1k^~5$aE})L z`yrs7JLx4UGMYJ`FpxOJ9sOWW@%I+ix@urPYjz z21M)N1Oe~=)?TTo7iRp7Rh!UywLl8z62xc6wvGQ#%^=9uRRE6UeubjNwciK<#B+Po zS%g+VOXcfc_=uA8Exl^5wpoX~s&m3ES5QU-Wi}A^Xy5il0wjRRy*Ra>`PlRBA|0%_x(Yie<*LP=)rLxn8-8s?JzyMzZSL_EM6m-K# zni0oTD3ETyfX{T_hIi$DC?S^n>Sw*)!@V^u#+Qh2w{^|~D1I2H zQofy|0|sEG7wnuxi zXJ@_wH}+hrBC8V`a+smYMZFO}9!0xAl<&@0)w1)CLL0lIeuSc=XfbqIC|X#}Sf5nD zThj>@un4LkfMe&EL6afmrbfu^Pk`1>U6roRZ{hueM3Fl|N}%pLaYanbF6DOD?4 zJ+=d%>={?+z%6bs?#dZ`EL)fg=NgrN%G|raOb`b!pZlyx!A970dc9~3K2B+O1Oh-x zcSj8r9PFhPSRZx?z>O$!!VtCBZ$|Rqv`e(QYHPyInu9Tlf16;_ra~QDH*Xg(2h0ir zTTdi#td=7M&0EkGMu@cCEP@O^QKeydqZ;!#%~wpz$Cq>-0{lemP%dZ-uV43jT^UH^ z`cv7Gkv@N`uD1*Wk3{7bj8Dalt^6yyy1@9AB9hK0ooF?+wy=@r5g{atgKHD_rEHHj zbEm>cn7-RsUq{e!2-Nuhdvdn@kC$v;UFqg5jompe$lJ25~$c+U)xgKaq z#x^i>bv^RV?nmiz2(Wvhr5eW^0f^Fx?NX8AMa6RvVU5(#hWi}>1iDj2KhhZIJ%H9yq3ebcib1!7%NHAY{o8(vr-_WWrjU*>h&^CDI}g;p4B z`cyEYHDD_ln$}iA@Z8^YHvNp*&z7)tr`@$oj2mKu<)d0XS`J%dgJHLP<)$DqLnpt|19AeV+!DdpR zBiOUwXg-WV7yBhnp|}kw$K|z(;$m*=ryAMlkmmJYiPS3wOccQ=_*ST(2h(a8k1)doy@~FW>N~)|Di9PYkc`(xO)E3Lkt1VBUt&8ErO_}@9gG6K;lABxJMePo zh}UqzFr6g>n}&o|DJ!d#K!}?kOoJmz2kGEr1OtHzle(lrFg`dbiD9MfX6kV=fz%2Q zf~n7fy5vp4eJ1@H=ml20@=yVr&1AMXFbgXh}cWD zCb-~~Ei1j*Tc?BqvbsTQitXWo9`BN4vG5}Tz$?c>T=?`oAQJK#I=20l^91sUT!Udie%q=}IrC{8kDK$E#1 z2Teo z)1v_3Ywk{4_|-v>2Lyp70}3?J2dAR<@e?EnxDfj>S!v52dO!_%;Bel;DTWOOeA^3lL!8po5C(prKk}BEn&-AUx1}y0$<}8Gw#be=mj3g^Ibv_8~2x9>$POwM=cbv2%s(iTv=kegZisL z?53~beR$yJi~;0w2d@QVK``BL5Q zG2H#R`5bU0%Pt=*L_OxV4zMMWAp^+3_9of@Aizvu4?G6Ov}B?D?dxj^0FaY9t_(L=X%z53Ph>6zCaJNNk z%n`jFRU#Q7h7y>4X*||QWCuBps!l`rsth%T-6>&eG*zCcoGpaA|8S}M`y9t9ozXyt z;_p!^Do+3n)~j_myZv*QLl%o9bO%jMd!>5RJ^b?}E=aretQ4X(Z(ED8QR*_#N_l3q zi7OqnHyRO*xdTDz+tvvVGq%fhqebP0tx_DNCwp6~VbS?_W)$qOb8Z48`wp8|@ulDP zLidjK*|I9WhFJx9fuSrpkfu0RqThu+gxlrbMI;*4M&0}7WZ3k}cum{v3|cuI4`QmX z?U5Z#G_2#g#@r8(l*I^yu~Ni`0ej5^2kQ5*P{Z8c0qwVSQEzG zee=@|qWeK>D%y6=x0fSccK(u{L5b!vHI79sTk#?H`4*CmT=l;vRSW*{dKFopsBB{i z$dS3JA}G9>g!enoNF0JTJ*G;2Bx8FIhK5pJ9hY6J(0wo1maZd+E5ExldIh;ZCr0w? zF_L0f{~Fb$7;q4%(Q!bELpEk%)Ib1YShRpSPs>f+kowhhJb1h&xNy&QC4v}RxV0Ek z;Vhq}HbDy<0sV11=^D|A>`wt>U#&}JFvD~L9sZL&0AlxY>vRa!ySWKSL;a_Mg1y!2 z1jWN$**w7;Oly$`)4VC8hedm6=QK|KZKWAOOkocM)4hH=q{QfS3Qyr;msNc8!&B61 zFw<TLX}jb4{_u=CoV!lkXAU=|_zI7%qNh|pzd32|&0bH$zU2h|8x5$rc>p*;L* zKvcM`QBbvO6G)&9*GPnaOeHErBmb11eeGx%7ciQHF|w;rWQi6)5Kd?=l!?l)gaAI+ zIYq@oq@E@oJG@$GV%i!xFcGVFdLA_wa<R!L=ewH7^fynVZ>sLi-)*($`o$wN?s z)~iR+&2E)1o=T6KSBIIb?%uqjK`eX*IAwbjGl-biFen_HBI<_>Cv>0a9%^B7qPAlr z$`EcYmkRoL+=bK0D%3V@G>e#fqZ|*SGl2h-UWG;Mf&FTMXoZg8?v3~v0TS_PN^Z(wQ`VV=Xx-3L z0B4#;HK8SV*#7ZT6vBIy^tgL*JiDO_B%ABk98XugV+Fj|0|^r%As$9Z3M-{2kgIL4 zn=jO282YjVsbNJlOBiLb^dCv+M;%H7+imMfdB>$Pf0oXnfw?bS~Lc~ zebrH7Ghgv*FnD%ZLr#G>}eo zzMLs37>vAmV6+z1o6RK)MgC7-oRtrb?|)Fm91I@!H)6gDz8KnBYUs?A&*l0K=mXv; z(MmRPEEQEiQ8zYm6XlxT9((ru9Y{?sZM&kD$>pVfPLb_tqIK#h&S<~V&8*Hx?K9&B z%2pAbS+5tho>}?2G8fq4&e$sedfqytmM|?>=1`%oBAADO{!vN9<|=I4v3%^@NwPYO z-251fs27CYk2eVVSmjG)perrwoa_o6Mjv<*7!6cA& zRLE+-%Dw<530#!Q5PkVPNoYN-CCIOBZKNr_?(KUi)#AL7O2lFQhRp)eP3@u76W|bm zp~|9sJP@SyL9)AHjT^vr5Vj__^%yG$Zs5UxW6uM0v0!734pTO{tCIJ_d(Jfj7?yb| zm1NcoxooDWd^rxhWxZIJs1=>7!{A$GNE4)=y8`2jvI;zj=_V8K8Ru(%X#;z=QL6EH zpbW3)!?Y*1b`Xw8`@Ai#=ZY8;$AUcI!YIJxfxf6%ug>8{c#}7?V{_3^;EGcp0?xr~ zDaf~gdzR7HBn%mu3-Y_6>AEXg`|6;O?NOLjWufu{KkT?K1tffD7-;P_zJuT$)4rGM zM-zXi;-dRQYbsmecJC5`P?*C6;LB%=aa`ri(a{*H9dWONdg@Iia#9lWq3@fGS$;0) zz_tYX zXr2vvOmwy)$iv)}92kHy?77)qoKr{5vXKrSBek$1$#!&84NSYzkXf`4uQNzfo%&82^yAZ-MFHRt-GjKBUDlcmR5WhqV=Nv-??(U zHJjC00C>Eel*$mTJ$F>jv|*+5)e2FoTb~BM4X;*lgz*|uE6hpDp^>8UYeoeJKm-D? zzgO>-N4#T`N~@{li-XE4TfPs#WgeA>mJ7hLqWJI^zH!IhxLt z$4B1}DnfD6KkYLJj0+ahfjdw`zq@ui!bJFepJUzGp`A20|Y_g+eHqEmcO#rOTZ1u}`x zNDYWCJ~F@5VEL1zqK@9$9NzH;X>`3EJw*8v{KpKU1$mZ=_kvRrAh^OUSaNwZLv}4J z3Zr5m;ycXlmnUA$PB$Y^a4#5Y31QPAj@1tXeT*dop*UfBqr_|MSu&#`P_#DN^MxoEpYe@vxRh85k{Pgv2wULB22 zRjByupx3RddT!u@#FL2kmS3b&a}1Ql386&O4XATCnnEt>B{_tymdlq`_}E<&q{t1# zQ2+t%uS*i;toZ>dfaLQ^D&fK1>II_x;GuNbYqjMgsNQdpj(Mz4dZ8Ye1^c2FE*V+&WAB z+fGB|f6b&64D*?Q(4~ia_VP&Hg6-o^8)UQ=CfS;eg&Yg^ghO{ELlt<|=e^LF-~rdn zMFq<0>1LDYCR(TkqViKF(IhGpnsC8ZLAhSboWXJiNuF-GaGpJI-IhS&1uujLwmX#z z7?X}C!1_&%D0J7R%9cu70s`zPDp*m@^3E`+sIxaifqAWAy=)C&UrvO`am^ zlUPRvl7zHfT^wT5$b+`~b(TYIxHWR5J4T|O0Szv8Nr4=rG)eJ^+|cH#AsXQ`RrPEv zjh*8@yQDgz_VM~O&X7t%4JgskI_|@J7}&sdXfD;5qOtmn08KJ?zf=$N?TP{5JnR1Q zR8mx498Fs;jhZ!3c-#ZKzz@dJ{>4S?+{8o~%%6=?4N_d)dtz`9O6WRMp4)n4F-0R_ z;hAyKSbkgwzkhi$I~c0f>O@SmXLXK-4mkPXpI_(dHCQD&9}=srJ1;;Qo?RnAE^lf{ z@9^~+HRIt%Ro^5wv&hC_C0mg4`3nFph3BXdAGFGh}L!i!f~yuX=LVa zmn0m6qyg+b8BO0rPd$!$#KE{>fFae4TEU(|2J=!6q(JERE>d5S^-LX31Gxg#l*C2U zZ*wnSn#LRGcshh0Dv$Q}`sQkqUDZ?9L~9czUA)*?NAl&?MU5r*h)#2v*J(k#$l>!a*rP<+(~Z)RM_9 zR|MGomkGspRDv(=J+8VCgl1;F=;Y6i20RG5br9;<&t0T=K82>DhBxBRhfa;Pm71`i z{qZ`rMzsD~hF^oBh6{wCM8S4<^wk4cn$|xzHr#Y(X2zv{Bu#0ExHycP> zK)s=me(wn2eaC%Jobd9oOo*0!`6>L9iiq4p6JTy2LIK={xmFxx)7nBnjHfA=53`)~ zRF^#WZuaH4sEuyrNh%oR_Cz8i8Z!naAiCg>8ZR?8%NguQ4;=^e*|&AZv9;u|ltvN- zLDR$=g&GgEa|=Y=U)Uvp$WM_|V|}#@ya|p)!eK?_3V`V_<&90iWF7k7i`TYvWeu32k(p@QU_qg3gHAOVR~*9*}w zhWOoxuS7V(tf2ueV7D%VbsTMHBVdq}dmN}T;(P+ia`|+rPJxbJkd6>*Ny**>wRk4t zQ&gyBgpa2Hpv`VfITSJ!AEFmr;m6Km1bE!8c||?hZ_U6eaG3Ov2a12fNMKRB0l;Ey z^4T;#_^8a?;nDhQPh(VCSqzwiR|T6u5hHtu5aMP4r1Qdl6C(89rD!#35-+Qu_`fI3 z5)7AJ&G-Ux+HoR^C1lVr340Yk7vO=B=N7|)(;2&n#pi4k0-{}fD4O&@r3iclT^>bX z@o=fEP}I(>2Uckp*XwxUcjppk?>j1K_`!+wASQf;R0SCWFr1wHFjSx0nBA9{H&qA3 z^%#ro?-*)UMo8~q#>cJ%5Ee?fB@?gxxTlz$j29v&kYH)u0Ia`<&Ix6 ztD)iX&xi-9mgwx9W!8wCc9~YtaIN4CxAeeLD#FW>H|%;jFK(X<*fMXt9q-G2G@^>i zkxVp(!Uh^gp?q*L8X{>Hz#BJC)sv#r`=A~}l(!o$#CYk9=^ki+hrDwN)#|_nr3nD| zA@WfljiOKrAUzF8dv_LKxqDBcUNkNh;joCRm?ff8HCiq5IJx16QA%{hLBO*6-8%_T zu3u*X#~Ik%tj6w-iBbeM$iXSd;Wg!g;>Pd&qdqb-1iv@go)5t+f2T@;f35=q|3V># zH=GM1z+VxnMdik^W-S?(a&Ri!QK^Hpo%kRUK0FQ)pmZk;Cm|#nLsw@V)4Pu2YPjW7 zpd6^N8MF-U)otb)vND8e6Xnc!47J`%mM~0S3Uk4B5Ww(i8e6hZ8=mxx;yO`-5d6*A|_PrN#hsBj4dt@ z+nl-)K&zc?6#V!2c_7eyvxZFpweYL0@7#GF6&)p>`A{Uwvjd(MDFeLQ08TM$-uniCa zt;Gg4i6wMf>64?XQ7)d1DFq)2<`%lF9eX4ZEqw7Q&?ejumrMm2 zwPA?mU4NV!YmHHZNz5>@q@FxI2(;ztNxJu@@-(=7ftD7Lh(%h)yW zN!-w^=LM;X&yvdSz^cL7sURgG$l%m|Y6S1XKnDlH9D%G@dl#eR9wyRo-tiy;W9R!& zb(X6pJ^218X^Xv=gtDx~$)WjS&N{rGvIdn$Ej`BCGhrm^o^DH>Sx!k?=wtVsA=T%3 z@ShhzU<4gaNJsB#;FWgk`4rIqk55e~o%5@7aL#)dg=!C%p12CMGd;ZxEdeLJ4@QF?T>3S*d*p&jo5WpfMnkHMhcL7P{>Uf2AVx^c z2oYlDL=m%R%OMS+jB!-JWUuHZguI-OSns10tP9%*xx_B2i)rZd1$8N#ywu_f)}cAB z8No%WOM&}>|IzZ#!gw{>^ET;ZS}2KNtqF~D?r6GNGzx_s%t zZmL(iBaz@m=_Cgc}TnBpwaso2~AmNm?6(U}L7d}EvB;d04RGJ34 z?>Qj`oUb4wthkz`Dovo>rztA6L-I|q;PNld2_Ph*7KrYfMotkchj)Q?Ild|-GG}sL zcqq%AgjS97?M+N|$ycz6rX`ZZwYj|SG=~>-Hm5LzCe#tP11pwBU|EU9Lbcc54o1jT zJt>=}O{KZ$#?7%5K8_Hm=%EZR&Nw%rY7{b;!q*`ScLs8B;}NhEazs+Wm4w7{Q+M(9 zy;wLQ+A|NCWfXXdHrzvbaThbIGnC|$>)WuK%2B3=nq6Gr?o_mhe8hxH_5og}$5a@E zkxuzBx(X?SK>e0+QXS~Ist!_y%MyH;RW?wv;Mf0>#6X&guJpLSyP)b-^YOTadynH_ zKc<8VG6bU4qA`AOR3iyW)sshpV<3T-0N-1)AfMVJ=cSSn6zGsLH)PX>wM@HOuIb}( zKJ=q!f?YQlfgt1Zs)e8!S$qaoUAMq>BFKhoQjS*2VUcyI&Kg0ttV_q?&vhfW59t#; z9O9i44=AKnQrVe2Z`Q%8x94;-R(RD`84%b+PCSE_VG|pxuqIL8w(J+?rHLCbcq*po7 zeXT_?hR^TE<}z;+k;AZK0`NF9N{ulsljja%t47m^c=z7vaqyZpavg55Z#iyJX?a14 z=bjGa7{}{j*gh%nJ&gxlUTWd!z z6U_T_7rj=rKl&8GLeaQ#wUD8^0C<2&!1FLh;C+0zC#Q^+w}7p^q_2S2_;FZH1I&*E zN1^DbMGlkXb`tHp!&R7#a7IXyQ-e{A@wWLK#f~t&P+PolGM^!r9baHl2;IWpA)yx4!(#l1!w#L)8&qn0Y7;Op^Nxu_+J)`3ze zX~<5x*xNc4rvwz$fYEmtBQ<>gv^9wmk#l!|XPtCh^~2z61mar{_n~1!Pb!T?EdO!A z#yIb{bVcNT{hx|I+m1~{L~g(V$dR%0b-jW)!{mrxG)~+D8fa^J1E8Jz=Hm0t-mAgP z%BEI&0W`|(ZA(^!ne}Wmj;zNudNt;My^=<89L_6nw?18mL%Gz+aOccyi{s8)j+M{VI zh2|EB5|~X(gfPi~;g|(zq4^Dh?yPz+h4Wp==s5D(Z4^RN)_zay`RnpDXx4w1R0Ip5 z>Ln0g`@{y^Sq(v9 zcrGP!|ni8pkvm6Rb>M zfZugJ|HJnfooPOtw%|#?Ja=a?^2wXlAtCtnTmdin&Sc3({lK@gaeG`@Jy6WP=Rcq@ z4nhuvojHTtl*lEyM40X*4eEfb5v;MhcTxfx%K1u%od5J3(At`M36yk?>0n~}XbY*L zKN3y9p_I=L_PY=DK)g>c1Ii52evn8?&_vHwAy0cxfCt+=ohU|(ZeCT8oqN)(rl-)bChPv$Sdz5k*XMZH zRa@R78$vOk2FL>n1dGo=2ic$OpxP>H-Zn|;0Nvje7S|7N=mBhlp&32)Qx)iEfZ*TH zmte0S&BL%(&7ffmM#rB}f-Ab~M}P*_gF93gm9otf7JSd`-}7b2f3=f*2msIiJmFvh z*X{%)=eK+zE9-?d+O^B82Vinq zVx&C?om`VDA}GTQ#ie_NYUJpD!G$QN@^EPT)pe@HoIP?$n7GxfB~UA_XL*0q-CwLy zYl+3lUsb-Enyn1zw;_#}8v3Z3L~Yr8Fud}_jdX~_Wax+TGQJ5tU%C#se(lvLzM|iX z1h8W4OK1{DZRSUX4(rh%G>PtudjM=W3Gmx`-vN?v|Lg<2Dl$gBF{4@zw?|cu>>>_v zQ!%mpvMJdv;xAUUsD1sqSYszLFcjPq8QdyBBF%|LhSs<__CHY& z|Iz6Z#Irw&qRj9(}DBzzZBtZ0KClNp+^%sc{ zQ#Q)=^F-^p7ibZHvSwF0CMqYFfr^k7YO$Gy*sw=?>77UJsbI!^a;7gfBHpe#q!Q8w zbL!*@3niELM;%m9omx@H?ww>psXnQ!h+*}q?^)6M-%oT^j|^!mnqVHYHSof^{#6sC zxcv8_1~&1Igo8lT+p52^p07ah_MeoMenk%6oFC!+m?)-Y!S*Ts|9=lm%vB6NRKYI% zi40);&P15GPslY`u{&i4uwMy(LYr3?+Tyd3YqHf_{v z7}s33$1yh|N9L0Z3y{N~p3a8EDqE(3YMwuZBuZISJ&Z1i4+QAhmLJj973+zyP$ljg zzvD)Yr?&zijRW7|LX8L3k}ChOs}ztuFg0EQJ)Qlp<3P@xlXdV++XlR z=-}7K21qqNOhOz7vn=d^J#KC8sdA$8!1F0vl6R+YiT*9tRC zABykfqB8{_rVALjH)BB?6}K>|CC1xhIQK=`9RyiJ?AVU*U}WZ$$>LS;hqs|Dz*!{+ zZxOZHFu|p@DFsohs7-(jzk2Xh_L4cY?-(j3S|%FqZnXfT^h@vqGCwl_xD|28Bvda9 zv{YQQhHs?ZxW@0pQxM-lUOkB^d*@K4jxr7#1=({`K~dqa!WH0>0a{Q_sf=iSycX=F zwHDG~t&%QghQ?FGVF(Cv6B^=2wJZ#Ze{VnIb@14G92j!$wiyEWy4f`}`{khzbjbfx z6;ji+qVoRRi84&Wxf4Ar;KeN?{ir@{4}st|V)`l{!me-QzC2Che#wFp~g4@p`p4;XJL zkC4Ai#b)mHZzXCla&{K+3M{=KI##S_>3^Wit8>X-HHI@|59RE%CHF&SU6z*5|*+FJ1D0H_y$lx63y%6+x+{;CB6u+iU%=H}0(VAu$pw=v zyfRxK&~=ku6?ldi;M-QQF%3z@zrIAIRp`K08l#7Q82Lfc^4KX1!>K zTBLvoEf1>-LRwb|b)wU%QH^+Tu0;rufLH1;oz@y{y%7e7n*xGFrjgsDkVGQ=&k$`c*&#l>#Q&unq2BPg<kATJyM#4?9UU z?HD&tc4m^xCg66@zlhIRYxYP*S7GlgBAZZeA9ht;dYD;<7N$Fd5)Xu=84$Vc6kH2H z1#u7g4U)LqZv#`u$g~)DgPpo1*G@RJc z=vI|uumw+(A}IN=QM$W-D%B zPw_|#S>5Ft41;exYC57aX|{?ui7CfXi#lsDZNUL;Kq2ENS+Ai#qtLRko=~Zp@v^M7 zWH2q`upZ-I<``T%If6nF>siR(b5&p-?fN8`$8K7Lg#u2Sd>=(2^a5t7a%P_BEPN3X z2EDK28tXT!HRbjB0jvz0l>qN8Z$y0Ps zLJd-%D^(xaiU^p9G7l}#drYy*&c7H1ohp~AoM@jDqjA#3aySR8r^{~UMGCqA&Y06( zwmUMXrJU)Ew!nQ7%G9lAp8`v3jgwYHxG8cC?5~YcDKZF~o=!wT;2Cl)(o<{Rfj&T> zM2EKfEk6y=T5&Lnzb~e(eB28asS*#|^eb^1G2K4By_#f>H)hr`o$-cXp*&+cq;=Ui{SU%hK zO2=7~CV*7J`>!{iPo{FQb-&b&y|0q;LtBLut+xxD4g zh`d4&o4{p#JvTcIVBvFxe!P0HoG6TMvdXIp6?Wi+UWPW#v4ADJ^i0}9&GWO8i?i-q zNR3mmo)|l;w1m)Uulz_10VSqF_e|(&D&#lluIS49R7m5CJ<=dZc>zA;0XvjI3n*g| zY0k%X@m|=8<$)izx^+pSj&gm;DI|fqje1HH(X{qjJ|3K%DooX*{-q_&EzzpB2o>a5 zCvdPQ>vq5zAq4?8DT}O3M_BXE)A%2{mDng?sSwEfH=yhJFBVL@8ZZfwriNA8sm#PJr z4!kcBVcL6gK_OFS%T9S#J3FGgB!c`apuRdATLH!5@ zXlH*_%WvWfh|%;CvfjYwI4U^Sy|D*QsSICdTJ(h~H270usz7um1i&fUvtE>WS`W+O zERs4Y)S=wT2LlOnqY;c#ctz*Xy!t!J`T46LvrxZ@CUSkLR*u|Z3i6EIqS~n5eh;Rn z$DVmzJ`w4Tp*aXDzf7QPETT~+ZoduG%x}H?AKjwpl@QFbbdAVi-k>5{FWsO!9#|pI z^0w&y__tso**Fb8Aym*z-Y+T-y{U`jcd7vUO%h-Yj3bofllz3&S5A_9Q+7v^XlNc| z&Lf`ychMt?Dtu?`%PF6zuu0jiHn7hsF#Tsg6rFbFa{`*m6%-+gz5bg4HQvCg29o60GG_G zp3cUdKw>XK1yP7bn|`FD{ve|Xa-wR?xK&o35|w9{QyxX>zSk@`O*w$$x8Yt99Ft;b zC0xhhyJ5`f8S-^h2=rakOx)MDyG_IwUyzY62MYl2@kzbR1LdmWN)Tto{TfRe!OMu> zOZAu+T&UpXts(bP9R@@pC(f1~1J1d@c|c6agODUIT*u#Y-cM-cr(tcL*yD7H4`cYI z8a1*3ED>E3aMz%^F7r8lcKl}4_8RGD#_$;roUUC^kMIwLGO}_BD*&(2dMvVgrm6-d zt`)fI*WM!>&fJ9&JY?h&UO|X$F+XzHJ9Fw-+NWw1g}|R~ z#8Ms6UDgnV+~MB?*?=^B4g_n_Sb^Wlz@gmuFBCLFfM7U;9Mmw?nY-xWdzmK1ZCnC! zAiz!?2yVJVqs#2y69ryhSKvDU72=B6d7;KWeV6(K?kq;Bz|&VY+HiN$kh4}Kf=*9=>0-~13z2^HF;2Fxc zKo}4i03{cV#`%!R0Kz+Wolk@aV$@oSI_q_Wbg3Fl7PuB@VcQR<8kqHNUa$}Ax=Cs( z%pwYO>C6DAVE=JUa^aF*^Q}~I9YHz1$-TH2Lh?!}z78>^Xo*+riZzW7?v~0rc%W*p z;X$N|+O&lgurR%LeU)vulV(CeDR;b^;zVoFN5vw8lUpxxJLVPo*}6H28uFS66kfbq z&_w0%2Zi;l%ur(lBq>-8lbfe;B_}dE?r+x#y~N}Ee&bv~Frr}iU2@1W#7QQYH0S+P z(qq&$E9DDNdGrL@oV`U|KpuO%s@HU~wjUE1=%4S=~q;RyE*WrSkPv50yFF7MMpiAqiHitqior8Ix!#D2WH45>m zfTr&r(j8PrS&};$MZZr2d)%5Egg6Z&Lq*|*h^ctR9+w zn!I`F-FTr3W?9)QMm@#*D{JsE#2BS8#A{)92swo+%CJyzJtP_d7@P&)BP+(gkNG-Tchvx02FIJ%7y8Nl1GUMeTsu(R8V?e7e!u$>>PL9J1J*L;PN z%;4JR8&q)iuCEdXI^_C*G;sDQl?0PMRY0*}x#D_u{0JEGqwDcWSc%a%X)qd&?p}CY zu8`P}dsBXob@vu*l3><)xvnp2&JU`74D|u`SFS)=IOz*S{Fw5vTtA26TJ%5m53+AH z(_WRuG2TpTwAO^Xfr#$>lhk*^**~WMrZq!#sQ%%Vf|xy*h@j#43sDGO+p(ri_pMi> zN+u2L(XKrg1p+M{q`Ty7Mt$UXntpO+slLa^-Ijn{_FI7rnm5t|y1;0QGUto^qD6ir zb$`b?2XE#|6M!=J32>cq{IC$9@LIynX5wO5BnVNGQNZ{Ao&vDgWixRsME}$VbewdE z;^qoF3e}irGgm4bg&_wh%@U1s7F=VL9>pni4e&*hH_=3!&hU^$?}KTb1+oq?Ts$!W z7+g9$9Yl%n3-};75l3+5EE4e3D+i>@h^27x?ju1-siqh`jZ3xvoSBMKVn2n?;%@PK zn>Lc;J58=eQ38Btpy=|IvNDKOu8794hK0s7AfJerw8J+`eh)QU;a|@0G|Rk2?E%-X z+^d4x#pQqnd^_55pZ`S?)uI`0)O!CD8m?|sZkOti*?H_0OaQSiOzML==XozdI<;+`@Cf6RskldH#J9y6 z*3y9-Gb12}UK6$D`&5Tn2js|PL`|Paf%4ZECvezV1t#i>j>)ypi_Yw%UWcYZ1kGW3 zzkd*H!Tozd@*x?Zz9A$DJG{#Vy~blazopwq4KvLKK&*|GLxm!g z$~;==<4)31?E|X>1r^s{|33jt4SxAI)Sk~()##}9x+O2znXP-1rmQO4Lb}7aZgTCd zqVu+24~X{r_XuFdHlvFRnDKTL+_30z8p!CB3`a=m*jt4$vB&H80SCE9ioikWJP7A# zZ0K($ZfeA9g#p&$0keQ<7v$>un6X@rAkw!$4lfs-4k47ZGpmza2DmcDC(2NLeP7fC zkuwlv=kFnu&CpgR5)jq3e(KJ)*ZpXQ^Xv2RavxCDjy?1G6#lHf793{Gfi=an>J>%w z4^-*sEE+?8qx-{nY6~|8e5c}Cx+zHU&i=O8$Nn6Ri_rJR z5RH>nha&94@6n9NJwAxa%$!~G<+4_6&a1k?xIwbvF`Ycq8@!$ouLNxU0 z$lQ9|4rjaYP(IynQ-RhskKye(_XMuU`R8vCUx|&E0=R=OMnU*-mo$^ZNv|OdY422M z4*<9J7Rd!(4EbFz5w!tJfl%(g7eOrg8VFXqe}r0`{y{U$oPBbGE?P@#WnWu{NzyeU z_X*Mq*tlzhtDM_oLJ*P3AiON)^*qhTZjaG!6r!4eRbScqlG(2bIN-#`(|A|UezN{% z?FY@>w-?~56km?1pdA1^ib_PI4~vFKCZlD1%}889-;7+ABmU>eV=!8B|5h;&<_m)IhyB0#S9K3-{wOsVukBk2Zn-eE`8WJ}H2N+RvRT zw8YgclAlC_F9LK-S(z8QpM8CGwpL-tsub94<&AhL<L+f)TU(QErDxnxmeatVzeaFG%lZ<(;f~xQg@<7t@kkS#0p=^i zB(`aP3DqKZIEAO$&mSVtP_8|V)~2(|@oeSM53-F0SB`}1`t=}8Gr&~Mf6X$8`CzcN zb{Fg|BK?YU{!#ZkwE`A{4~15U%~yE+b1& zUOi8$mVn1H!54lKhoSRp8U(!MWdtr5cds1lBPySr1u`r=2c|YQBugvU;X8@jJhx}Z zf9x6~_(Xg7lO}ksEJ#GbuU)drR5be7@QXvZ0w@=pr)M!GDliR}#V)jHsc8*K& zWZeZ|=E?O7+3b*tx0&9W-f3lmN`xUul9=NGvrHYSfUdjbNIP-Bg3UZ0xZ#KntGUBj z$fY}fLt~KjRjV4wAp*q=M6WF;ZH^m`M zh)Eh?i=ilQfz8|cN&(E;@^=W1kt)V#xxeN}W#iDmbA?)uH5%`kG4TFxgzna{b2$~< zeR8mu=x}*a!0OPc@YT3`^Y6`vu$7#Eg^Kl*v$~^m?|-sb$gB;ru@Ik4mnvK*IWqw~ zCCc%ZtmApeuU0*mqC&Vc6;BwItwc-w7c#;1tfJ)-$1d`u@6<*UIPqRH72up)O-%UL z7O4SLUi3KlRXKaBT-S=7tEa(K_OWt=LfG@q;zEp(IwC@i`E_=flNe zRvN}i34rA?9!Kl7nK%g01{q52lmqS9C;e3fI(EyoeMMWp^N^1%r|E*=_2Lq4xm|!EpNI+_o|dqy#i}<_5Y?rHQgt^E zw|40!9zPn5Fbf=tHs7Xk7slH(=givmh7<;#%+b?8e*O6b=P|n6`ygNB0lSV7&`Tmm z-beAtf|NxnHB}@UC67hHlBIWp``vc`p^&QPvG9BD+uxP*cstL2nihC_&u75DMhgV` zk*K}>J?J8L@FDn146_ESXQ0tXHeNt_?ipx6t8pon40FS}AeK~BGmejwZcA7I>KoGq z9$@!vP+r=Js{k+DV+3jwYJ~{B9V|Syr2?M>_EM{+d;1&dA}Fr2l-M3p8sR%+yktb|NlRS8D{HrTBl6gCT3}LR>_L8!3 zyXVa1^?tpculwu8Nn9M^LJ$1Us)=G?-VyQP{~s-M!F#E6v+65G_1vicVf22)$G(OE zGtr>p#_LfnYfiUH*p2!sj9~6OC+;TccA2}=Q~STi{SgQ;bIWJQ=v4d7y&RPL!zoSx zLVPaed*SX_5<#2%p21Y~&39O+iz5n>HZ$VZrF_a?KXKehN2G=Vz*j6}(9^XR4(bla zq`0sRQ~E1HS|d-*#b^GvCj~40{ztM-G=Kw2l>aTm{p~X^kiS5Vthd;URDv~C$p%4O zO&7#v#CMyH3j-R}VEFEg7Z3-ZJOohkzPmojM|w78YysW4-JN~zCv1Z<-ku35%@Z*G40|mg@+X*(DBjWm~&E*646syIg?CW9H?CQV-K^|u_C_s)2X9@ zV+Fkz@}d$x_j-CXC&dku=cLd^M+_IBz|KTB+DCOphCv9co*^o?N(3qR zixs2%OgV|E6QivQ?9W1o@jn6?_VRzH`S)MTi#;B{FBe20=h37GGZ1nJJ)3=exfdm2?|tIGH34w8gj;z18l zj0jycJZ0dR2c_@g#G7K(|A$9KC51qD-M3DPBmjj1?^eAXK!rRy~k9f zU3vUVaM8V~WuvWjdlPkpF=903sek^EwWDa?#YL?G?J@~V+(-p;cc-CWyQ2vxT6nAl z8R02C=V>!=IWJPBo1;$5G>C;(ceZZ6xD5qp7Oj@8+WcZdL7(Ms<)=Cfsp; zA1Q!Boo5>`((X(ah(DV%W>$|9xtx1j3eZ?tM5RU4C?GTO=7$FY^`8YA6lpp}DhSv)t z<{c-Yd!wGy;Mix&Qi^JxX*At{-8nB~ihn`-j`EvP)|+X*XYrFjRgq|=bS5RVvBpl3 z8ruBXBBF-FjH;{XL;S^Ql+cF*TDtZFs+c|4#( zcJ(cJttw-Is)*S9n1UvwpRv4X*zsgMQXOmR62TNZ`D=*=1h1ZD2~8N9g;*b|O*a!c zxZ7$}&EE{~xg4>|)rXH3yY{d)!&hUYfH|e9P-NP3GCPs@4|Y!t*}UD4Gx6V?DRXrY zK@_R4+?{N~WSY*Bo=ZS+^FB3Iss@{kYRLKCS56Hze}#<`@yJ0u^YL6o?xe0(lbE-n z*YiJg8u4D{-w)CK>3QjLfk;_N7c=UMbNZn)PrYq%rjn=pR_Y$zot4B<8IE7TX0C^? z&b7VjZ{sIHIE&+dvjJ^kp0u>MPHpHHZ|tG^AIcm~cs3pYV<2xGfu)nRX56wedVfkI z*aSyiKgw1&A3&XWM?5Rk_GaHBJ-))$qw{LA8E99S0A4%>=#z=K$!eLuGRFZ zJ{nS4a4~2XE;~X>yn}`vTBYtcxK1?zga@5U-M(oka04b&z`icGxy9e~O}wmBg+)sq zi**zXt3otbS=dk9Xl{nVz}mB@J#u*}Qq2|=&*9NZF0op5CI3830>9^%Rz=iY+V$87 z;iVo%6K!SvOOkGm{x#xLQ6!=V?@r9P%+6eHlyp*h8kNKw-%ezC-#7Ep`Qj-Fq>fAuD-;+ph*2x?UM$>abEm>vC2Y> zFy-goNU-kziXsXclG|%6}7~*2KAg1 zppW>SdY)=yh_ElYrceura8Bp(@pYu`Fs!~$D~mC6!xsO5Y~_I8(!PXHvgNV%;{as^ z*Vq-`L>Vf9u9~6r+fenXQ{uTLRTFEDbNb#x5?Ytgm#x0@L%g}C>drMP-V%&U1+l6g z5ie@@{&*gq2FH~~)#F2ZF|&6h9~QnzLL}jeUsJ6_mK6zE_&r`ul>vuUS`$h4&y9vI z>iTL;L-C z646S+C}Ynj)=V5{7(xbA#}jZ{-+iJ4>WoMM;5qgY-{1iXXrB zHt+5Yn3RN#u|F#$5{@o5)2B(Q%^dfOrV|gpCRITsx!!1xDqkAGb^(u+Pc8lBMpI{? z)M=xRz9?Q!yH#tyxKBge_{#thZ_?R3V$d=+RZ4bXZqm(}m<@R`X7+&^1B?!sY~Za} zTv!tgWOQ2JikDH**=bd_089IjmM>x-H_wlC97FZr!>e-36puLvnZjWlZ-rt;Ni@`6 zzJdg9Fy3f__;EJ9OTe?<$b&K%DO~t;nj^gX zM^puFcD(#Jinw}fA;$H;IC+BVaw@O9m+@7~@XP56ylMbAM4T8~V8Fkb8N#F#U!X|S zchp2c@WfLozP*{U=3LydiUaPu5jGJUz=xxH&!Y?>YLEKv+M+7)no@wIrzhL-f6JMv z9WI)6aReDFpJAE0ckn@}jR?lqjA~WK_a!%b!ZpGSD~$Z166vzwn|~RoLvP>tl;*V` z2i#=;jiZ?_o&(-agM8-B^L6lHwva4K=OuFIBUFS z$MQQdY!lruuL$aGEfG>So|)kk2Mn-EaF-v~N-1#rRF)P8PpqdG1#@sRUm+v0jf+TH zC%>lzf1PU4Wof?IV|lHoY&H_7sP+=0VWjG>HiEY)|GO%aA1mz^0f_p%nl2Srdt;rt z@?OV}Vun5yY0N2;a-ufM_p*-ql}8+2ouh2W?0I;1ai|`?j+l}6k)ij+nCPv6YfXht zLoRpLpxVD0_Bx4ACIeB3xjE8rC+OTNY9Z#Os!}5(uY<&WT^O$hbKjf^Frc)OUexXR zT^&sA|4@{wmV8(Ws($f)Ua9)ul1vb*>&@HSKaY~Rm|;s#3rZEem4yMuhK4CQP zR>N&Z%^Fb%S}TU$ZCV8?ZbICHLJzM>LP%U_uMZdLo-+0D?CrQF^G^kh?H{hrK#(UN zBA!c_>e`|Ty!;CWMd~D3CDC;WGV8I5VK3taMIVp1vB}KIu#nR}IMc_Nl5B-Z2jg)`U1C+rZMqU3qhW_E|BVf* z^42MUf9(%!u2n3}R)_w~|2?&f)2@5Ro(8JeW7cyn=Ezei(RlKqcnMI@>1qqkt2n0C zSBuV!hp^W81M<b$e1*4#{hLEGdln533Ac@10a)M>7U``EhWMJF<_aNA0M0eWXp2 zFji^qGWn`LC|ME<^W;c+q&BwbqhG9xXr@-tT< zi(z&WfB{Ny5Ce1Vl3f?dsb3t%{k|-$2`oF-c0#07VB6|I55La4dQoa2OX3kd%9}Mt z^u;cfm0#ZtV2R_|)+yF-T&%6D*vD42?ylRivr_Hx)y_I~&(b)RX_7v!M5kV-CB$|X z2|R*A4oV=ds>fZz%&mBxl-0>_4*5WdE-3H4TpOq#J(Q)IWt&mGj*{ZP7(S~<8aUJ` z@Q95=5|H70Lkr1u#NyRJ%BIB*W|TU_FuSQ+S3<0y>qb5K>53AGpd!@M%6GD1@6{t z2_R7tw@s5R( zrpMj|OEh1SBO4WUQKw>4{p=#yS8pHn(Z*Kwwii!rREFhw$}pqjY%%p}MAT~Q)HU}z z9wpYZB=iw3^5a#P#A@;*2@I3#WE!+Nx`*YXy&j?K@y>y9R1qrGv7<=qNVqsWFgydW zkmad^a!Zjw$wOlJp_ic%`Pq1d5#{ZlgfGQPv2$*HRqrV0I=rZcH=LWBRIzAQszJhi zG9g%v1 zIa#Me_gbboWwg5;;>-St)1{PMnYL0|y}iqR#S9EDSO_bJ={lp7`RrF~AlC1@n6AW3 zoQ0`6>hgCcVajLI8Xu}|OLM~urtt)dJ6A@*n9onJJSIwR&NiTX$7nEG<+@ST%1FbU zO3!caWPxtK(lgyaVNJ{ev_^I#WAucQhQHR#;k1IAYSD}Sg~PL4>!L#P9B=oQvJiXk zFCtWXyT+^OV!iY<*+8LesC9JRf4Npb>cr`^RBdjFQ(zISl}MF+!!2CN?!U)rq)F=1 zylPf%w=JT_@tSlwYoHeLB<5$wN->Q*CtQ2g=y)4P(OX9%%>Db)3Vlhhk;u098u@F5 zU>T2o-@E1(H6lVAvo*T1cdv9xxYy4CNZbqi(av_yxgzaPKL+5Koz|r)qTUOqoKFbQ zyx1r>De7*%ZZy&pj*1Xm3g;Ux#$`w=IB}GAZt5L#F6M`Q<#6l(v-wL=N8x6xMGvCO zSv8p76XVKp1RJilTs_Roi<{`I6Slxz{t<0jHGR|P z8u_QG{Z?m7nW)?+UU3RtMUOGrm`Vz!{>YITzOLRIbpl-}=mvAxm+jLUv5gmIA>he_ z88jI6FX`Gal{@wxYVnP{VOE0P*+Xeww(BZb7cy%c#o&64Z@=G9Ytg;J2(RHkpz{RE z-tPluKMmthjeqf7M~jRNZ1D#G@TI zC}Zp47mQ!^QH1mcYm++iDxuF)X08k1~ZWYBXPis_Q;*IQTW+ zWHBCYo@oU6>czSS*3RqZ6i}J4a#X0+PScvAzQ6U-NP}uFGECAH&l)zOaKW@RSoz>y zi5><0qZx2u#G{f^3;*~eUOyCTcy^W>FMKIaSC@%j@3vyqm?1=tQ@mpN90s$`AQtH{cg6?^I}qp9?bavpt)5c{WwB*6r=IyWvm zZ;7Bz`1M6`J0GPmHW#9O{b06LH!oa`z`9MR)48Q6M%6OiHoIo4RrhPEedYUbp?PGX z#V7AQln!B}2B>C!IM7jaW$YcyUZQGp(1C<{>qBuHau$5bjQVi2eQShMesFK9LUnH} z^!li~RuvbhlP=<@-C4_I`kK9|uT0S}zrNEd(fvM80;m3x$)Z7f9L|)h-kpYbu8;w_ zac7?9RDjXXV1An?8PWu4{)bjSnnUa3)g)#A*$)lX{3V({ELx{=i{3gS8-CD}KfUaa zNl!JeDlA*AUbYPPE~u0}Bz(ugD}BK5U1}Pyb@=nA0a`f$_GxDq`MUelzh&#t*a62! z>M+pu&4|D-jni@Tqag2z{4YG*JKjtUbh5>2j4HEx&({jn!CR~jk!T(*Xn08GXxm#h zJJl?O9>V;N3d7qfhnY2*MA>X8arO5F@zT?E@8h;yQN@RcQ!vKBww=1Zu1`8r$*7(K z$ej6DVRKT=8x}7w*6p54lT{*efO4>9A8`dF_V!4#YK}76YM8eXw;BZ8vO(0n`t@W4 z*$WK&3_UnwWxT0K4ZbO)YV=@4YZ0)lZBnoPw6;Wje+S3+X-l$P4?3=tiUzxVgjPkH z%wK|HPs~iaf?QS!nUgAYTyCW76_Xw4yY5@3Mkpn-r>uLj9XeTOr)pSOr0D+hRE5mf z?Y};Vx1kOHz6bydcdbH)NA1=1>mx21f)>#~!T32)3ksvK{C}LJdAc{I#i;JAK0g6b zR~Cj$#8FN6-`=Pwd&OLS>!~YK9k>vEp}Om@vEX_Tv}S5Wq(S#442FT# z-*+YJRONWXzfrJJI(cAS3D<@jW`zsC&ydrulAcFyk>E?G0(oKEE2JUDV7k zsA1+Z8NsJ?h~H|#OfA#m4X|ioVX{$mI~nOm?h#dM>zAz7{cSUuJ#dl{ZZO=n!Lt3e1#0};v`4qhCQ(#pR7*s}>@nH`zFRKJGu1C9IKJ+G z@lBTNJ$xE(8yW+p^2#i1Sfox*Xmz?bHR3eI%)AIRJNOW1C0D6Kt<5yZSlu{WD`CcA zAK}G8dJ<+n7!iw1IXrJ6XN#2`XJN79IRQ=nKTu5AW8Fvd%JQqpnGSD zI(sm5f?C2S8`g6Q?$7D}&#YAx*1Ys`|Ec-9|Hv{8x$4(X>k!8Y`HXCEkcErzb-PA` zeM@fUXFv$ng57E~%ogC!6=|0ypm6Z7mXuH9;!>xa;_w;C4&e;Mo7HOHbdGQWKmEeb zprZxqeL{B!&_41oC*e2cic7tre|x#ws;EI)zNFx{ivGU_>U= zgE0p<-pwu8q~1WIgEgEVjLUH9E3j>uM{&&Msb(5CN5(6OvW=g>iz*$4h3|l&p%kjY zdc!+QH+war7{HrksGActaLX>(7%w5w@upD&JItq1A*wVEniRqCxxYG9mos@xR6!ZD zwjjZQ9T_F+SA4K0(i&BcKEmg?Ufu((mF0)yE@!j&PmLST`76$%v*0tMk~q|s&6#ri zz{h1krQO;Xub~2E?3PiU+WeJ$$Qg4`MlpUkm z=ceJ1`)#LYbdjE+8i3KU$Uq_eZnXp3HKs(MkKk5H2C4c1mfWRuhinfw`|U> z6`#2;RW4-LF(P3kX z`1DP+@v3eVjrDt)@QwS(%?l&CYJX(ZLBa0B4His1_>08k{N6?Jjvma3)#L5JQ~xNS zXBQf6#k2^&?o_JY4@Tu&8ZrtUnB>8P#$k+q(nzq1w$3TvFJaf5Fb>j{Z<|HxFxzM^ zSN-1$t9q*6JU7Z$`$yBfTg$X$sUF5I;e$B) z9tH)X`@qHU_XTKS`>iLlfbR2ioH7}^MUf;YlB}ZO_&ovwG6L1r-T!RFzA=B9opECg zI>Fa(_w#=&0xb}MD9%?W3{JK)9z1UG;UyQ+WUngEiOXt#xgc9k_+tUnznNk`Jc-PH zeJ2^W!dWR(WKf1bxc9Gw*~5FcNp++0`Eg0`c+#|F4Vji-;qT$wP~XZSqvfoe^`5T> zXC6e6xW}${D)r#MyV4<}|Cy;H#~U|I%J9iB>2ArVwfXAU0ofJ-&Xhl_yeMDy%!EU> zwY!9Aum;)0;m^!GQdB^2=%s8u8yI$FT4`c@DTAQDxdao-Yk?yB8402WmQiyi%M^d4 zbwTwO8f7PospIgd^A2NnqvoX&Q91r4jeDQvYR&YUEBuKapPLz8_g=a~H&5RXZ>1!p z@Q-1w~o%za6qvA|~gLFVu#&9hWv-OD29?Z#{Q<&%zFQo|b?==?h z`{k-+OHL3=Pu1RmTdYauszVZ6K-@%vY;0@WUCxC3;r zvq8>5H4hqPGilg4!f4MImM;ZWyAKD({c&USu!y#EO73R^_~)!AIaAIT)$L7^5E9Z# zQlHtqr^JJTsC}mW$S_?GCT@+J_#fS;fEY9&{Boc|X)SDjS{;856Gxdjy*;;4YW;Al zo$)q9XnyuDH@rjg7Dh*R{p4MzMyRJAVpPo_HIq%Y$Uc$sajJK+QE{qVP9WpzPg4N; zACslN&^xN7xLmE2%q*t3MndflqhhGQdA23y#h_U5zi~!=cjaY6Cy{vi1_x2tR+=f( zz1nH%8bMPFj9Rw8xL!SVrq!s2x9+sKdSrvd%<05rN-2XDrxW)LtF*_9I&$Jr$N0q8 z-b*E-kp2D$!j!zjs;8;qWz_wyRaUtg&LhYW4d3~3VI)D*P|sum!@>RppS-oJq&&eq z*yhyf_UysvW27EQR4PA~5FVZ{A_smkOY83ctNi|WQ9Qr97(GT^XLb8r4mAvRCd*NZ z_oaOnV#SL+Q7-CgGt0`usAxk{N%B`NcU#LuWOAIko!2qFMYC z%Sc>FA2 ziHV&)3n){bK8QE^!$&E2lLah2qIkR4MXKnedr7M&fVJ9aI9C0$j}%Ix@l!DVgk2On zth_qgpnAKF#FKOvy%a~*?FWAm9-X$bwh~z7h0IYyoMu)&N3zP}dXcVrV~nz&use>H zRuX&P#~MoN8J8A}hYkFZmW#x%xG-)so~RaoP@J!?EG&tX$rGpQqTaWMl}K|Gah}G3 zEAekZ3cOIx!5`gM;A{3SF<{Nangb7Eht_0)w$bW05Vla3iU=*~rv3ie?e!5!JLe41IY`AFPmupjH5(+3R;`jetm;{xvP{H)O zjD|siQ!)rNeD?$L`Q}qbNMS+`g8rQ)1rpZfL^GiVy9?dB)gY2>SN%5(|5kDLtx}RM z2UB6Jv7o3jhfE47_(yIQ|D|y{PfEB#t77$T1;^{&bO<0ed*7JEx=7r@!^4Dem!65o zezXAIXSW-6p?Yg0qK5$H*44j}&VtnE(z+EZ?-A+9MV9Kx2VI-a7wwX&VI79O(^T>5 z>!W_qI07*x91w2+CQoc~>UHI>my1pHiGftA<;s{T`e_=bD$9-5p)!i1O7tw?Zr5If zng7G9%q$QTUK%MSB!4a;(O$BcF4%cE6BA-aUF$uhqJutux~XKQ0+wm`8e{( zvj66w;tF;Ba3sstCQ{)LB^YBy0`_0;vFZiQYbrz?Suow>({d9g&VLW4M071(4=?&+ zr>?$pA;edDogpAq{DGkuDiVkn^4!OHjp_+5mnL`w;0w{)^VB)Cf9U2F7dpJomszY@ zRe7+`t5Junv&>jiw5UdAAMp0~yv(bLvkVPBP|{eS|J;$R7K4FT@edpVFWqa26vX^4 z5stdgui1762AwvePJOVekgD=y`P}gJ=>#=1>j0o-qaA4Q+cK#vaE-e-${l^PQCaCb!09t+c&$J?2;&(=UT%9r#2E;KYRCL6wcq_{ClCBw|E^7;0XXuf+ zw{wi3ozd1+?QyucS^aHUvOx(88~)Pm7gkaEq1qb_x2lBGT6jJHZU3lGJ->o~DAzPT zB0s=;ULnZsojEZ{9>-pD&H}0n=yqN&S)IILi@^_oP)kJJWuqh5!1k+$@8nnhd4Js* z;fK{j?%{_pKovi9KZ)HgwF!USS^?PcBpx+D>6Rhj1wGlJQVJ_i=1c>kFSN7+F z_!XAhGOa|z?u9VN&=ROfBi2^Bdd4JI_OSwFBYxMXERxUA;b-z%^bO+{$jv6b`JU#tJdv>MOKYOtB77cahKK{#U{KaQX=lEEY$wm76^yUK}UB&-Mjm$*g5A2vJ zPg8g)FO5;`H0xoprqx81wb=)Re~&!larw^veUd6ww!d!KQJ!i!7ckGALrv+hYWcZx zI0=1E?u`)sI!J40Cd5g|+6&KU<+|T&Xifc*`jm*1>EC%h)VcQHENsj_R^iwTX}6kl zMs^tWUhF&rs@m2BdV|EE4|X3)22n)pDUqwK*>rt0X#BI1113x|6-n_9-LXL=WkFwIt7p?xa$mWJ zYY;Kcoy_i9tzP1esA})FYDye1t5(BqWMy99dzjKGU1IHo{I=}V>ex=dg+IOat1%1j zNMIHcBB5Fx8G8_oH`MbZjf@Q1v>wu6{b;;VWW$USb?#OOgTmWbt&&wM6(xYq30kiv zdQ4pB9ub2}5=rHQHm8kQ`5P_B1JI$6bbfsa$wQG4NIV|hxi z?=$m7!p1eFOLhO+qP$Y|!}(g99_&qPzV1~nL3P>V&q=v-AzkWJ2$Y{F?0^ohLNmT$ zwF%J>XnW48TO*zXAxI${8Y5oG3l|a{#%q=1B1WNAN~}7Y(A_t-W5N<&fLTC0uutqa zq?+@(EmAFUCWHhnnM}an)3kt9bhkJm%|d@dWV|D-Laa6ZZFd&CQ5n*nSE8PED^0>m zw|DM}RERH~S~ z`akW}!ibBK^kz)YE7QN2upyGaSXyWa1|(fQd}Fp#C%HbSQLHw&f*UyrDvf(09ON{( zU{JOp1qI%IKFhxs93)*@_9>#N>^`(btI_wQ*5N&3vO5UKZ7aJ8qaQUiRYJ+z&UAAw z8B-p`Z@Pm6!Ub3)x1P8r*&w0z37n&(I7=yo+L=VMzUq^0i4q&XgG+k9ewkOI%bDjh zq_Q`BK=9-y{u6%x9@!GEH3yV(GkdRxNajs@9Ftu@qpfD$JZ@#OK9__6U)rWw`hG7` zO103pH$#SSP>bb>9xIo7AJfOmkK!9Y%&~#|X{h(elOkES7E(Vad^|5wQdGt>qZ2s= z?;1G;gx%?o2pgXahOL3^NoNYYOw^8mLG9;e&qB80jLQ)@<$|pz^Zjt?9_pBX)UlM! z`gK^!por#2gH02?h&`+Tc@0*WT3HkkyFqw;P|*`m())a@Q>EKVx1`Bjj=|CrN&0n~ zJnfyQX|BZA$>E%QiPNr=Ez@}SYBQ}zi5iXJ@Xha}iG}bn@aTWiHwEtvuBRjXk52?) z9_ws1L>23`OQ8ypQGBXt6E*NBemr%Zi9C%8(g~I;`5PixNA9!~#B`X3w10H8L~@D3 zVq3b4T#Mt;yC%ydj0}3>F-V3gX!%WR5+O|S1mT~2n|u++LO>B+YcHPeREj%l@l0E@ zSOonRYAsWPNI+M?HmyGD1`o}OG|Ee*6fB3wWLJQ1Jep~h#HKt|`_&R?1Pi2iT++qm zx^n(1V)W7AhmR%+M|90*%A?rXLxg|sU7sn_J)#1pq)<}rlI_(zJsdYZ-5ymot=tl+ z5pC>LN{akSzTs}&Ra>TSeV(c{aR{7h(G*SzZQrhlTVt+T@6X)872__;moS-C#T?nK zjuORPcM;`H6U#Yxzxq;(!<#Y?6v4#c3H4yHk!{Mwtf^NZ(vjq8FI=5$$Ad^Q1mEub z=Ox%1_K1PEM%u-#1~hPTvvsk$POt{?yNNJ>4s1+w&^LV~ z8sO2@sgRNwHb@W!IPDt{-8+3ruD@aF#^P4>&naRFgfXPXy!2AT&eK1da$}@QciXO) z(>UfPw50p^pka|vSG4++NkPIUr<^sb>!G~4q<^+t_v>!5YVfo-OYye-Nh8v0uVuX5|a|7;YE!+2&Do>NiKFeAMDgT1c!h zWwnwuISH8wkL=59`e(2l9F2DDS(#FTy_2;DJ?wrZ;G?{CHufXr(<-9j^4T{RwMMwT9^5w1D?ovh1P;S1qU<)o{jq1Wjh4K=po zdbo+lNH<3P`*x28FvBm-s=%Tu8swN!yQbKK`$C8+#6~Pqi@l zZd|&RcJGI^rl{?Au7;A?-6o_6zCPZn6Rwk82E(w(kKx;HACW@ z%FGATWl?i<%Xs9+EcjWf0rvcPsnw+J-IiO(m6^{W`O#nU%G5VI3*>oU-pvt)+s;Y> ziO*MBF!27Y~p zWI_*LADM(s>z_<2OlTX89Js3|;m5BI!XlGgnxE&ZgO7w<{#E5zIg!8k ztUc^wWHWrU3EyJRpH90RGcJMs)AB4moWEaD%S^8av-Q}*C-P$MNjo*D-FkkignH5Z zbcb%wVJSE{39Wu(f%?{+T0RcW4b&pqg&&WPH0sI)7Bu(ouIEG}^+q3(t}?JG z)1=!&S?sO*pMNQRz~=5-Kznb-%YcI2ZGt2<{mgbl&sP&K5s@B|0kr(TrWuu8)z2>h zsqJ^9Vl{mBn{0<3t{Lf6vX}LK8I2QuT}KnW?sqdK1Phh?Z3a^|N^jzs892>{!go(J!p{7J!9r2{zUM9|s#NW-422S%0pD7ns`6o` zk)*)1WE=I&*ClzgABQDdnA3Vd>ma7xE7$lkbV9OPw=W(BkVCbkDHy;t)Hk9jmr{y> z4g^H4Gz-3ICJTdmTWz>^XIPx@jV&;+ee@X|p6&lT$)81j792izSEihLc!P&9>)&@; z_2AGyQiw*++T1{#wPUOT)-)}|5m)L9MrrNpn1474S|@%$52}M+kSvwgk|6fB^%EY; z%R4r&PQUlO4UtmeJ32J?m1`|}(6+)#=)u*uaWH1;RIn#lavS2N?0zNJ#ClG5a3!ed zVBg}T%IhQW7h&T%kwbwPbj40jy$yo~tLp=eXx=1)oF62I(fu2fgcO2Fl@||#L2j!^ zC!&n{7K_7wr$Y+N(YL&t{q6YTYQ684QzF&udW&Z;EsCYhC%9}~rY@&KIiwrD&)T%s zBr*!cv}f=D-VJXY0JW;p*VPXghBKU#T zTdLNPCI{ZCXBUhpxKU+&{(ASL?L-xV_^nQr?!GcfbJZ|m)bl_i+fq8%TwvO6IQNUBpKFcjbTJJjsvdKR103(US7PQbS7#tx?2lB(urPuWI-uk_Yx|EA zwYETlwBgz+@@Uu>3x_HAce@W%s8`&B;Ssh83VZ4+M6O<w#K(pE(VE^F!3pEHm_iA3oyzW_X7EWK1sVC6?snsNUK2@a$ zKW)kKs@b1M6{tnuqpq&IFkS+X?%O95=;03L`4lB^F5c>q;_(j-%J?KA#FRCUVKN#s zDt}6L$djcJ>V5r_6}o9(=U`mC{hr3@tlMAgsjrXJpl{_U;MToFCRc+Q+|;|>a2j^# zMFlZ47O4^YE#A;AidajyAbj^zDXyi30r3l;n>-^@Aj)2_VY|zf!(rDub-KU(=X7}# zGjBztg8KYjnNnKr`L;R!b*-MsnI~9fOrv#SH$+#KP20f*qQC9K>wqrh?pNR^5hgx+ z&Z49eMG>CGDFx5p%WGn2XdTRfp`4CUtQU-O)r~h~Jz+Ul=-=zG z|CL!|mvZai&~HNY%{PPBSZ|iO*q77o_b`HoVX1*r_uY%74PtKO7s0YWWL;3Wqs*x9 zs@^_jW0@Kbl&$vR8px!2lCyIPmnI;kmH}qwcB=l}8LxmVq-Kl9)}G0KQ=hB|wF``PdgJ zPY*s{YoU_XC~2Fm1?R^TM%148;j~DV?q7VZ(-cK(FBEAV_PnM?-KR#(ywFS z5Kb7ve-t$&uHbIF(uEY>>TaBV=Txqx|L~bNMoJm#KQ7aTQN0B)!8$WK;>z4*Hni{MV`jRqjkDVu{YA#YW6e>N(7+l1JtQ%pZPA)(Cf}UFw=I%D{!3 zY71jMe~XuPXFb$^unFBgMOu@toVCrVCog|&JnT)b|B_5K%gUxo&KI4OfxKtmA@o>z ziPb?sVTBA#w$HdvEQxLtMEo9%JG>1bMDL9G_xWH{u((L3l)GQ7H)^`6x4)O0qm@~s z)d}l49lGhf#A4n#=H~sf`iKOtJmw@7e1p|s)@%YdQ_R+WTkV@VVX3lgSbuLDJuUQs{ zP+Z09pr3ekoI3_Tmqrq7_K5OGI1wA`)e$8Enmew~K;l2AqK^w`=0fEcAH259g`->3b~B>XMg`MGPD{vDD4A&HBYPk6=Ug z?}SG4?|(E~P~=7$qOiy~;q}79Nkz~DRav)}028HODtwIu8i_oW6K{(0lPSE%kqO=d zp0es=)p11MKKl)T)*X8iPL{X*oOnlm6g%u@7!w~ZUP2rAcWtRk_VHZ~IsNK+X(am0 z;Z{D?7RxDKc=>c$@a&&{KI$|ae1wA~(R;2Wcg<5@PnP8jKLjiL^G03$XW$^d^NZ8a zZbMq!1Leh&wfb0Tr$}SYPHd(^NYTo2u1=d^f4n&wE6a<3qW2bRK1EXxT5YlR&XD1; z;@Vbq{&r?Wn|~Q$5zEA>pCzpLVX~DJ8pDeyD?az2SZ*th08J{RM56$uyFm4z|2jVE zy>Jmv1M22HvW|JsK!mDEfBxQ1Bo}ODOB&=vRv=k;2D=~t8xD5GC|P@K{&i0ZPKAh& z^60K9m-)0q;%yA;9=&;EqdM!q$tH2tlg+ySzp*^HS5P2d3rA#XeRac~sS4VoDpgFq zgrI}fz!rdw@pe;`UbdQ?WP{bLo7;N=p+T=%$$C*Yxe;-FmpScpHeHYo*&q81@?!oJ`K4tN6eR3>ANhKBR}ulWCtrIKd-G)&%7V{;n`{M`4?BF zxaT`t@|x67K9K!c;i>uQ`e;}*XnF*>8#B_XA*NQ()K{`-BL`=}thLlLGKAxeHp^!* zNp9I_;bDRnUi*_n;j1qjl6BGWh!>}T`8biOX2!&Rjm6}y>4P}9ljlg8g8Q6T+o5t4 zO#+Ve6Sa3o$@xuRT4h2&sdfS!fOmJow|c~d`>WE5U|Sk`ymeK&BZrv{q}QI+xb&4T zq6)9hY6!ygR;xxw@e$A2u|nKByjBY`oM}>(5gHLBa`oeB)KT+7=@)=tSQy>kAdrfc zFo|SCIG}k1`pxXzO9Mfk$--sCU>Lb@{!$Rce*QT|-7o{U1eH7-(Z_Je)B8-m=$rGf zGVM9kfw1Yi{jMZ3^3({+&YgF~{&L!12{=rNAfy-W<#~vZ2o!uaNss{%-@Y5-;a!@B9$M`4$h{pmW_@;dK@+Xp&QLKO+ zu`0?3-`gVw%_T2!y})Zs@z4)nz$x>jnUL|yACab2nUriF%Xl1Xj(SI+brIL zP79V@NG`%$RdQaWnK-UI9o8&A2Do@W3~a3z#Y z>Sb_{vhN|dG8+7I!V{5Fu~n1RY|ZSPu4X9XdE5vh14{1JPqM(=mUpOb`spO>YS;iR zp!8myYLZ_;S=E7ni8dHuD97L&=&bEdN#! zcyaG}nR@nJ9VLEec;+X0ZR)QVr|Knq4ZvZOX3F&7(?8;62o<1Q!Kkk%JFFn4^eWP0 zK{sfO&6(}c-P@;7%p_<5Mwyv4&=CtSsnAIAiv=0JnVU*Pd1dObRR2b!f=B&qHU+t{ z8YyHw`ZiImH5*cm;yh4~9Lv`^59~~-B(9|A_fOb=)t=89*G@zI{~KU9xIp zi+Wq96gY$l$J5@toXZiijJF*Z)4Nhl$b$I%IT#$c9Me$280&&!bwQ7p2w~Cvlj7z|uZjC2>ON95*o`j372KtA8i+f$f9m$QN@9~t3 zmsR?O8C{~{@g|e{NENUc&;1FG3+UELV>LbbXLy+m0}79BHrhL@ zpENpkv8rQW1oKxd#Tj3?*J&gc{sI6*oP7nqz}QLhu7cO}iMQXydZ?yji_BcK!^SV1 zUmOo~^4Yh?J7N^;*-R^6qa{RHaE5USH& z+NZfH45IAj7a@fvP- zq-q5ebIJrEj_~+)Hpp?zhyH;&BDsQ^#Yaz93V>wGDU29owMmd$Yt_A1-%fIroqHwQ zVogPnYT|5Dcn#oKRyLClK=eQ^4hF*+&5bqWw20rNm5QP(u2J#BssyaG8W^@YYYXV& z{Y2f!iRob+(6%dKR`a#@jmpmIvro(jRbyAY2^_fhJTC2@*E3s_^O9SHX4o6SEJ??> zA9);8Fm?oMpQz~B$nz5VN;YFZwx`M^I-5zzhcZ=Sug9ARtbX;3(b`2N654hWm5sZ# z26=7^^8Z*P;DM-fuccf`n||6?#;;)n;T)ojnC zA4TL|iI_3Jkn}J~ukr{6&Dn3Hc%gr-PI_YZGU#E}f8zzcqW1OGCn1UizjLccFRS1o zi2-J-{!b92{$tx6o**dQp&=Ic2U@t;<8qReXpWU18%cEK%ne84P-PON0~Uc_?m)^Q-9U-LUbqxP!e}B5G%=l!^Wgd11!rdRb$3PtJE9|s zE4}T2V^VhTy~gz#WL|VGa>GX+{VZ;Czi+?L;Q6^%r##7RQ1n6gshp^vAP?2{PZ&(d zS!_pKUFmVRQyoi~5olfbyi}IE4S!M6A9m$Myxyl|O!2eeYq$6T0tUg36{8~D`O5oI z8AJ+TLqZJ>JhXhPQ6m9uP7wggb)FXAARK<$6o-p84}w912fC1NCk8(?QYZR7t56)U zQfm^eWKfK_uY4RL;2H;cIeXc38RZ}NzHBpd%O*Ny^g=#rgfgn>WNkeaD0$L%#*PEor}a7uIO zO^@2_?#NeQ{(DrYdNY!ha=@7y5o!yYt`C}L&B#=Z9^T2aSP56%5dkchUNg#6w_S6B+Mg)JENH7Fukq7KQp_B_XaUqjEaPP~JJrOJHR7VcLwJ_YGxrNtL;OFfR8Cso4bVQi%ZYIi&gSNr(f$isJRzM#I> z|2m}$x6IaMhUh_xIKW_&zREYU5eTvtv> za1DIQtS|o-a`pcTW`*10F0%*EG!4^G&pC_7_OC6(n|)y`oN(M{l6|nRn;tj2>*2B8 zv=&jEPK&58r-O2j%V^v5{x)>l(3kYj_30gz2Qm@A$*Un>l(KbY`0AZy>XTb!(KNBM zc-2XgjIB+me}Aa8#9E?7@JssXT)z^EwOu!7&(}bllb54`1MMrVL|1+|+bN(PYHM!1 z`Qrw=Y);%HtNzx=Dws#+y z;nG6}YT(7T^|`#!ZU3^GcbLE!Urp+OZx2a=hfkd-+!Z{0e9C06%lFBAcC-$)N^+XD zTrwsyO2K{kf11uvq{9qunErd3W8aWQr4jE;T+Tvmb_o`Kmm3438|l|-Ec zA)O?+QaLKaDb#q5tGh3(bV?+FGB}dJYhOD9=jV+_NTo*cSg)bp zd-=%-EVb;947~HyiB_3z4*Ak)ja42C@A{WF<@SP{$6%Cva&zqdWiM(?mBChuQ+L8P z<~K(a7w9*QoLj^h%^jPm*G&e>0)S>~eMTW%e3{V}Q(xM3fW2=cA*$V_QPPF{m1@+@ zBdkmv*6Q_10Puzt2TIkizqYu|>@y&Rd;ZOu#}uZ!t!6cN&8VbBW>vS`lI80wxlMS} z$fQf1!JK579^QNlr{Gmi6BCxgD#fFE0FYFs8~IGt}8Gb z3>^kJ+&^6r*=2{ERyyNya|#ChDi4<~%5bB0E#UKefuFdn*|87mS>S4#vwIyoL*U?5n z;bN;5MIpU_VUL<@S=9V6^ov|L{>^j+trkBxJnH)6;*}&~cAgS19iW@;`>A%_+jUYB zrSxVmtRsI!D~xPjI>zFNZrZi8Mt$?#+~n{X`*`Va$LO8)>hCHKYwteRD#txtA*bjm z#ilyF8^`5ty#U7d#toAMUwB`}YNTHLe8NTe($%)-(klr&td4o%ucT98YX|e2{GobEEWZIa`bWYr6&y0CfZnt~eBU#R3$zY`3 z-89dtlwV}?S>p1WlTV9DtvrA?l{h%DjZO1}`JolZ>R%H&Tt9zfHo+{vHC6!*`p@xt z;$_djNvX-;!Zhb`V;8FftrA+M?p=BVH#b)mC;6mxL$*~nulzz5JOqu|Ai%S6x8Y>Vy&GqVLi^!Mpjl8&-EkHgfs{-bv#%T;%lQC`Y4zAR)8 z2W-NK%e)4U+JE;;1tbHrPMdI&Jbpt-x{}3-vr^@{KemjYc&AxZ8iu!QI9F_ z2#c*cC!U4v@!l^&cA`3}3DjnLvitU(D;oNUB zT>ryRq6FdLacFzx>bPtV@w+@i!f40nc*6;*_qNf_9_t-P%Zqd^fN9+8=5Y@8r_am! z7jvSl5^=o~<1V+F-Q;jK?_Un;_I@;8!YHiH@A0^SvD2zl!>rNJcWQMc)PvNI$qu;- z!e&kx8Ly^9!-`rSLxr!A8@w6{S;Cc1LsWC-+IVv@868QkyU!?Mw1-9GDOGiUSI>{Y z$-HuzZqB#?x$rg}Z7KO))4fN%7Aq)LA8CqrV2|C^mk$I@$EDq9@ctuX835!tMrjHC z70;X*;Y;P+;;p20M~rmfnuixj6-ap8oQ%#O8ZAyV&6|97yzOLE>q1Lc!>0?Ij#pp1 zN_HWF9B_=eZ*#J0Y9dl46s--_+mD`6p!R)R2h<89wPHvGXZ&ro>Haa7j%rfpeT^CDN3W;!+#T1rnio`DTf+c3XRXsj z{^{geTdm(uY~Z@_qkQFGh3x~?vs4XCx$Sl+EWB8++iiJ9N1i%(x=|X}_g7pbWZsR; z5@jwqD&7W%^zXm3S^d+^U^#Ed#0w~qdjE1^%;Dd_#Qx-6TrhZO02j1(MMhPq^WH~) zc-I|Gn{w1Y>*PwUQosG^p%GnoUpvP^z(*K~64gCaSTbB)G{|Zo&lBT1ZpDv|Pk`s% zjLmkKuTrggaMS@R`+xr;g}C0!=sbdzW2O^vnoud}L+{-?k^#B%k24VM^f;OfYH47` zgx{nzFn>gSQ9~3FK872I|C`H0gafa!TuEy;iCW5qs;_x8g;cA@bLZgowrr)mxsdP9 z%B-up4F5fuK^8R>>$ScN?D)rBoTUCyk5pjjtcy1$2#OUXBOc>Yf0Y5y;i0aE5>pS! zEDGLLb|M7F54nPZ_vs;h^kZ1(>>?^F!)VTQ2#Un%s{OLrjF_UqE^=GyB;OL;GU zjRy`hKFp`gKhJa8h0h^X;6*J{_o_aSq09DvPwEShxC>{B0d<6>mFmjbyORw#rH3FN z`eA~WP`~rU?hg-M!TEUE$KikF*6m4-#%E5;l+#r48ol%T8}Oif z_il^~`|S_VM!{O@1W<)zUqU$S%xg{%H9y~T4Pzv(O2mC;Z2MEPHa!SZ$KaOVDQ0l6 zvM}D*DH;s#a(oewIH-Zh>s~+OQAqPJ5uI409x-+0sxL8HK026c*S#B0+sRajGb|2& z$Pf5c(cqaA6UYK4mt`1*__-&jCkzk3PP3oKp zqPUfZPUMZ1N&SVZZs<cHb+tzdgeiUUFwcsSAXG$?!9w??I|ZjYrq^l(!#R0Qt0 zQ;@llIU>vxcu%rY$IUsV$fnBo3a3?!u6UwXQB$Nq_eUOu6#3;(WGaMp(j39F|Bt5g z4v(Vj{{F1a=mgef8DI#ZO_0%0l-MvT%Ak%0M2sjB5p_^j5>bd?3D%)31{)FEs)&QK z8juI`STG3cpsohXW9+dqh^s+GVrpatVg=1ko3x8V!36Zl{u)4R~ zNPv5a<`v8}g!O^ZGHfo2-H95rc1iaKkh8ip8Yc{{Tz92G@4Nr?->^fNeb}zeH5YVuW)`M_+N)SPW}QSHh%ScA{WLa$rT!d`LyS}g;1JXTY;3aDt+1$(;- z9dqXqG=C<%qL@Pn8P*C;nB-=3@8uyv+glE=ZB_4|QhEOD*k_zt&IMVmnsK>?xT87$iM8qBZ+adeTyT!Gx_B2f#foP*TrCpI zjfbx<9bc(_c(J^9%LyX&7%z&P0aFqkC;#?p(>kbk3fb#g|HSlCp6Z9Gz@PKa-&n4} z5oQJBN*)?eTdcR-{D`ob_qGiuuqYX_uD&_#>)vB)G_a%YzqJ;-w2Fs_Rb+DuPreHC z;Q*vsb!XR+*%mb@F|A6~d)`!zq-MlT!4Zpg?`l$mQ0lR)oh$B$`BcMxu(TBX*s+V` zzaHnA*Qbxcdl+%4Q9MB0Ej&xz|7bxP<+ZeTwqB3^{$yCOI{9;&^sj#5wwW4dS{P+1{5e?)qwC*xEQn=S4V5Rj}5`z10O5XxwV+crpxB*edQrD^zo*oO> zvw49A^DKWJqJu4_-a~!(YiZQRgdOIoudYWFl=1f?PoA{f67{`eU34m) znNA9*$`V%0lMJ)ij=pVtQhmF~C@y6n?@}x-)!%OVWxDg+X|6{a*BS5V=X`rY45RRP z%dRIpe6Z2nn-KC7fI4neT|98tO%OWF>Sa_hLh;5)JRgu=RIYx1i>%@SfdDMvLk7ho zpN2&~>MRXZ%bp-pNy0nV*ofzxuTsdG@;-^-4n__E442o+%OqCW=7ksBUE8&*+C?nBPxv7SDG;-2FMi_Jn7~G!7!iYaJrMsINU2nEki16gg znf}>*SVsMJs1WbO{fzd5#R2DVaqIktWkHSi%Jl$7^wp+(1)<$HUC`mI7PpCUGpCz` zZ?3qfA=be*@KG?C9vN8tJ_k&}y^>IQGzFn+h3_uCYCY<3Z zA7;U|Mbl*$mi5{7sYc!D+J)>P+D7#-J=*gsHE6nb!Se;cH@8X1!hdi-yIqfd-yimi zjE7QQqPb73j+G;C+s*NC(nse*Ll~~8UcKb^G{_1JSM`)V4dJ*#57(-h>5hWG&$R~U znswdOyMIYr;_&By^xKx$WomGg8I94y<9?S*Ir$8}NSwq**7IJA{h0o$HdNhyHWGOJ ze`Uc87G}PSAyhj_uc^__lDd)Vh3BNp^zi-3xk&YAp}=09?%(DYZrz2}l@L87;u;G$daYe{Ex<&pOUonKuK!Gggbq}n7J zVMl`LM&(G|@^80!(Xv%`1EX^<=T60P;@K~+wSAFP`5AW^b2aGk8--GRza1HCq6Yet zG`eozmFY&}^X2I}YF+Qm1#)nyImexbvAvG_+%^GU7EQ#%*xu4!;?16J=-527Ul)F{ zmW)pqCyI^IPUgl>GFmM$yk#sOh8q~H-1Ul9!6=M#-B#9JEy{Wnz`a};g0OV7U8zTx zX!5)b`x(`6#TPT(2B!03-)#B>Rj=Gq#^hK*3!>U1F10i9@Xzm^80yOYMyk7lH@FH6 zKcmjnBW-oUOvH`0u1o0e#ViWe=>N4 ze+WxrI!fv-T>S^M;sKaVk}=6Zq7LU#gFbR3!V+!_`QYfT3#BqTEYp}(-7bB9)_#MF zTGf&F^W9!k2@r#b+F=}fpiw3=O){PFx_8P-qXD#>xy)_Sz0ZO?OrP1EZ=RvV%2j`; zi8+H0ju{o+t)QI3qWQx@b@aU@ zu?Wxh*@jP#;rx?J`Jacm&qJ-d5*?v5Mredky;Vc(_y4=Fi-Oo#GrhzmcG=dpm{ZWi zU2%WrW9)lZH+_<_BrGT1C|)@t;lvu!JX-oE4eAuhQXgVkZYECb@m1c<*?<_hNCRXK zJP8=`2fJFuxMoN$Zeuy=<0UN|5doK#jo#Wy)Z?|4F0wg)9T64cgePgu>a%FE0jjst z>?jkvUh~DG$Nzly3BDK4tjJTZUz4h1f9*@zYTf(2DTjcZrD+x`@&?G$I)Bc0i}mQI z9kNA{n4y&@?;EQZ+uW?|q3#)t8GPgR!sy9oZpgRj*4)K~_|8RFrZRd|e~_8%rWVc5 zcEox7DwHJ_Iv0o9$hGL+mtRPb3r$BwT+bS}O0;&?nL#y1JZ$`KUJU*i^jf-70*lZ= zRi>GZFnqp#fOAHMs^0?nqfEBt%;h36}u9}g-6!5+}&UUu8QddcEZd9yzoV3P5W6fh+ z);8P{<>I&m^{oC6BbTtE-N8;E_GkAJS(NGD&^eF7SlmBVAwZdf7lLDerKsDXxpqCe zVXh6TRGc%6#=!ez9Wp9Sr7J+>&6OZn{sv=e_W>wD9y-!X=%Emlk z1Bk1(a|OiM%<3NMyitaNRCZ%3f1)FfD2Mhng@ULv3*&6J-@3L*J?csumLf=5tcRmc zPAPiSc%AUhFNfr!Lg=Qt$By<`qnH^;Y>;S8V{0D%ywPNezneLZfn}%WdDrltXyqnq z<3So+6phDyJ|UKWc)(gMBSBvyWJAy*ioNyl*?QAS!ZN6y=(f^y@oHVP_^DlXO`$7 zFMsM?H_(;kPh=UD^qSdtgdX+#QUg{_+L#UExNkS}Qtxw8c@TD+ZnR7ld!Emz?psX#EFVsU)y%KFmwvH% z^TRm+vSwh+qo=n5GllDiT|am;pP_l>_>>+G`d&ntqdNYAT)FN~JSVNp5cVW05gAp7 ztM8sbrDAxuS;t`h-k*X&VZ*hUJUHNXgBl)L5+0@=|6jLFx28P@L=0IptV*5N4?A+p z3E5_G%FJYmdfJ&%R}t)go7O6U;j~5D;Z0OvykA~ht^V4X=0kg5s+Gs_*Y@YDIrgnF zo$S`pTrUruZc@X)O;+?04@f7)R?jyukMmpMvG*=ZTXAfwn@e@^LTrVE(h8#zxgUEs zf0v*OsT=Dg8@9(*hFgE_)Oh@hU&teI2R^Mu3B6yeN)I19dUek)8&7$eor_SZX%aEJup(+C7@V^!)+Z}3>+aAinkc2F~}dQX^{10*h` z!Oh2PVaTI*wAsik;W6=4l4;RjxeB8ouLgAeLm$ub(U%@(m(%Jsocr{?`OU2%NqJtX zGZFR%so%a2s3+`Z;BsNjxuKk|wpo2=Nxq#T(4$5DlaSyX2#e7+LgHRF{~`F+MjydT z7p^WvW4(Jqj&H^Z=7Rlg_wuEK%llaqY6_B#n8n>KJppS^LJh7HYK`xl!8WBO6~DDX@Z9c=rW_YbF}U}f1OdBEEtY0 zTtK!|O6vvH&;sol;hc-(!lD zBD*5d*e}Mhf1a1CSX~+8ljp61gqUhBxcufQw@&vTJ3@=Z@Npe6CDIk-@z2NwY?{ab zx4bfEvHsxge3xL4QASGsI!5iOL^6~!1YfR!Y-ml}isLy+)wI9U%^|H{Pk?)HDYQ1Z zN4Jxvh@-(J|IF9Tptrhov<$~{_WqLLPfn{DoG3~mA8d_c?Q!Ro-T#Fim_VSZKXin_ zWVYy`P3eY(bur{6ew*9Ef>&RwDum}c97=K9us;BFgB>Z2vF13ry$50yi7Ki{sY9v( zAmIwMCzeRQN>}O|(>1zs|HpzK_dJlUNF;jz?FGf0sO!&<(U<3@8^xQotHfjD`@)w` zOnbWjWEKZ?@qx=M#WaI6bZ_$Kd6Fq9vwS4IRhDRqAExGb=l8dyc)HIH$$HE@o|9_O zo!@RXI}DYqR2RAaky&1u*)9EJQ)-}UsBKQw#l5qwN3|xkd>3Q2j9N2Jigdy!M;p}#=;2c{QEFc6$2PQ`_?^aeO0JncxC*15kny0`G+ksTT`5{q>k!ng^+>~{{H)bFp8a+ht)C|mfI;9*J^A6zK&PM>T!RbkZy$05nLjFK*D3^shK%7-<4 z`<-Up8Htt>E;4*jHuX67=ke2CRc*L+Q=dL(OM- zyMR>m-7j>yP=tAIVcAM4#bAi=x{g#P?(AN^Dux^Iz!JAp^?x?&j!>0ewcNs|O0J9j zBp-3vL7&^DqtNPcfY};XHy)Me?#{nD)r@Q9xgp(VJAtR*D0%?jpQ!&x@>c``XC+{R!mHA9|;q)Rm6@Fqe}XVqxL2F_%OeMdM8q+q9 z_rN*nPE>ny76$n6TQbtY=Vm9>gGZd7*5$8R2gql12>IC)PeYY^TTccFz4>Rseo^Tl z;_3GdH#554?bJS{9lCR!Z==1|KA7U;p1MqIt4T`{e(UB7-BuFf=NJuarrY>+9xmK$ zbJ1bnySM=Bt>Gz;VaN=RQ>|{2C5{f!Y>zNPZ5A@*dTGrJTqoYRfWK#W*tE!r)g5?s*UYFbRzH0iY=+x7dvx^<&C|nSCmJoB@wsb63idxG)v5=-b(dn}@a*bT zlB$U7G>5`BX2X|atu~lWMG^Qem$XolE_1VvtW+Gry8hu}9w zR=#6g$&3st1!bR_^Kx|-R^RbaVR7QnAw~$te_x6(Gha>n#EPG^>xe~P=b~taG^Qh6 zIr|jES~+H&6b&dZG-b%dLSm%iI!Cj>@Slgm@5=e`aD20DEO~{3M)cn1X zIS}i0jRwF}-fB`bcFy!+zIxZ`2%U3x9Q|oc9VE2lrI1-Uc_sYmykb&h79Akt6uj&l zsB&vr;BwT_O6Qil|Q9R+eC0dzNq&SZYMZvJp>GY(73j+c!AbVFUC-t zD;zY8AlHPj>#`Nhh`TY@ECk85>pW{V6AuT>sb-qVVTZcabfUP~ zb|!5s6X;j2zg0Ao_o`}y zOYV!of#IE3=ga7cY({6}bFr>s&nB&0SEiImM|3n}icH3WBJd)Y<0AE|YT!k$wPSg# zCGJ%f`>{$wq-8D;JZUK*IW^d7T74*XEMuh2=Wa&z9xtiyp>_st1xxqNGpo9**>{a5 z462ilglyh~!FEVX;$v==9$xi31v5=wYB1M1z4%46V5?DsqBr+0($&^ep$2pm*6S|A z`23XtrP|R)C0(P{FSqi5&OX&CMmDTYyis$2M`-wV zxiBqE9!G%>jn(PCb4a#^_QskS#lke-EfNTtf0j@Huol>I&i*QmLT#9wYQV>TUy3-w zqkH5s0xF0Jx;hIrj(pk%KmPbI)w)%W)hDXE$7*O_T#k?{lNL}z?A`Igz!)ak3niLQ zl!FQJEJsYumm7TH1Upjw22(GSKN}VMu{a=Bfz5EO)=6>AaH2YY)zb5K#xOUWK^Gx2 zoa<6$s&a%`Z0X9&3+)D=H=Fa>@OX>eRJi6w=8UB@ivpONggQsQD2%x1bwlAQUb;Nn z9tYJ=k2TOWc3V-TZkk{NYY{utPGtMY(?Wjb*bQ1E4TKk`lLZanka!+1YSDXf1oowp zia~GXkpXU#9^CqX;Tv(Q_RWi8twJX#5uI{{2=IUQ$t$|kcmIOAA325Isg8|Wnd~sk zwULZ+TyFf9L2hTP45mUaAb{unNvReVTVvd*?EhDSIr`RwN~5MX<#1hvP33cn5tZOL z)us(z8E6w`D1V6RpDLjmQ~KAp4l@QYETPRIWz)u8(OnyimkdQB}r z(=8_p=UnnRTx8vNsB6Xj^*8!LT0(Fh%%D8n{IL`Le zFNPRx2PK-i#gN_u`x>pK^dg=CzM&BE9SqXw4|haUM_?z%y|FzB*;4HLch=LRqh1ls zTsHv3Ro*#9WT1XFEQq9}BGtL1q@`E|aBC=966Yj1?9g;3(Hf6cQ+N8iUBx8eZNkrQ zt%O$LO}C`lbnmD$*>j_uS<*34KVZ*Xq$j*gvCBvUYq?_bTIUy<@i8+fk_lUS+rAow zrjG`2ug&^;P;(9;KgTewkp(lZj^Uqw86C6<{c=L8O7})yulZ^)#q1cs$j4C!a1MXJ zHc5emuRjW)VDsk6;>xLK&xSX!ri@~YzVwq^FNPk>3QaVaVZ|qsh&sVpUHsWNj z1n{B*_MkSi?`mB1#EB`+-2LHfl4KkEkCI}Q*_EREDcO%>IgAGQ{qHBF>L_GADaA*Z zKTdBz^v;qqIJex_9$Gsb<~UxGLQtCK`%OdAp>n zL>>D=7O{AA9-;_C+YwLuyU`L)bR}a|ac4>CxuwX!ow7;Yxv2zVhVyBaTSc!JA;O9m)mfBiPjZIv;DM<|a{pH{ zk$A-?6JpS)=}Sp$emsXEMyhqM8J?#{SG(awfR@mpw6jIfiS=8Mb zyHgf66cqm#4*7J%A*8s`mv~8eX>le6azRFh})X#B0yejRC1Bh?P-I0`#oxR6+CB@Y5iwXoEQ9fs0fU=_sP6i`Ex_s(-nIkvpTMB z_y(p2W`~uj*R5p$k?zdC3v0kT=mI{&zbs``>IEkw92gJ$y$_2;)XFBrTJblPx*^>~ zm&kZOYvj(Xq6aVTr3D4&r%YGc4>vr%WuJvb9qRJea^=GJz=_u^s~*CRvSqF6jVvqX z_D?%E%kK{#YjmB)Z1aCiU00XhgVgv9yLnElW*5CNXs`xqV#dP87{|6lmowpf(MxPU zmk%|o;%X^oobGqr%83N$L!n}!H;BWO>E6^$uEOq@@3PersgUtX;tki6l=+X_MHuu? zMnkmgrLBb`g&^+tTY4%AC)oN$sxppKyqN!B{-t!-0_Hn>jn)#6y4KyosLU<*q?%N3 ztr>c(#^{|cqjYs-PNyg1`d!V+7p8T%9uAz0=;AmSjZ_>xz7^3WE|e=HmQrr&Md}Mp zs3opD7pmSAvx{xNUwK9gv4;1qFoT}zZ{2e(iB7s3;=v&Y-%n?czqcS(>7W#R`{xEb zLs3JlMR$g8nq_1PKmJSOuggXom1W|FXk628 zU!;MmH!rXQF}1ip>&K7}!ZL6}X2iTob^4AP0gSO7DV=dWNxM=H@cXK1?;3YpmgV95 z#ah`t@iL9}Nol)w{=M2Q-&!s=cHZ5vlYi%Sqa0fw=b#GH?j1ubi?svlN~}q9#8Wpq z`^Tg3{TVodXO14$u41ZF=b*H_u62?B94Q>R*MZ0_j#)lh-KK?VMR&I>&O@BQ?5U{N z%u`}IrJtij3g98FQdZUjqNjE7z<$T+c|hon7jiYU0YU)sy{ttcB!X3=Wowi1p^4r&+FD0KCwGGfEGqg}=_bLfC)+JNBRK7Uac6D4e%n_| zNe5xuHIWu5OI3?AlC6ki{k|2;s9|5Tg717_uoQYi?!u0k+Ob9kKt3!?SLxB%7qp7F z)0QYqH@ zTD80~9VGPr=vifXwOy5HkRP3vi)=2eQ)=9qN}^}m18 zpt(AV0Y%tKgn*spqo{}WCr4Mrny9**h4p;V7NfYg{G5fSpLi#Q)KuK7RR|&q?eYAF z6{|bzc}k`J&NRP2YrR_>S9b1mU<^RpzPPqQU3@HRCc3%KQ0C~?6^nD_;xW4lOC|mp z0Ub{K8x|v)fpcKpyW>IO?Pa6KH>#PFWL%f^-dK=8f>H|o&S%)2qEk{)BI*}w7n5dN zsP@_hmlMl|vz30mZ4}Tq*JnYGSJHA{1TnaLSU%sbJC{6dR1Qqk7pCN_cp?j2pLeO- zq*^DM$;q^H-=8Z>B#l@z4DqgEO^!RS^;s3G5FBR+xgHHZOE7{ETRSZyz0yv?DI))! zm0@zhM>ipS%E?~3LG&Nm(J>NoO|36zW%BrfC>Utz*3x3ssP$1X5{o4vHFX3z-3Hwm zai5VHBJO6Ilg?iOJ_WDrF~X8K?#(PAbD(wq!R~mphcNy~Q zw;Y@9r2J-lVL{Z!RW?L_^MD**d(?F~pVYv5yG1O|bQkHYBWw<`@N3uGS`S6M1Gd`S z>Y#amET(;ySM2;ORf(P0LH$Pf>Ac0IFzWRmVE0JCBcq4qrEZP5My5AHo%=3MIbdGB zMEAC@-kZstW4hIGhuy*uammt6ofdK+Gy8FWF%cog6dzJTR!7{Y19diZ?mg)W!%Gd8b0`xw5 z68|z-V`hfL5zvcb^}2J&9d?HvJalialMy$2Wqsyuya%s@w>_7xmMBhbrP}ihDem#i zkGWTnGVK)9b%S`Vd0^u5E44{b&}c;>U@3>fK{tTnr{lo-_^%dEYT9K9BfiokSJw40A)8hc&1rk7zzKfX;B+sLZg8 zDk49>{sVRW+rH8~Jt%o34Z|e6xphod=s}@kvw;k0>#mFOG5>yNw(Uo)K^EQrf!T1K zJ8QuwF}EDTg_CD9l6JAm!+Otb|cE{v}nl%va-)m&WuRR`ClI zWGQ!ENzVTrfHN-pm+LZ*{@4*mq4fb z?NM%0+^sZB)IA1;mQF$}39WFE7<8Hy_pH`6F-ri%po@>-q?QpW0gbV2`0hd|LmXV5 z8Xh_)&D@aA;#jM|Lz*-FeX3DRi1PZGX61fr;`n?O+w5AHgQ5DP&CU@slCcU2ZrSB= z?7?L*@Zrz#woUdA(aDW-%`XUZS`;knS z+ACYGDx=M^v*W}n($YpW_R1S$fjGmW%E?&qbsOpp_E&@FMkT>gguhP0nKHB?xb*N` zvG~1OAU2k8dF#;HPWAX3^X-%fujN*p*a@i$A-&vwb6>C=sLFeZMx7fFkIK=*XMV}n zv(LSfp9vDDc*^;zO&b>%IVO(TWpQ&TxO};Mnx+fd7?rqzXuEbYg721eoTUF=9mM!M z!Mpn)o6)XbFS{c6+=4_qRv%`g(l;G zqb+N4brK9^uW%ySP4HsJM`m-8`uUHA9g9zH%!QJ3O;^g@@VRJHt}=>_%Qdn}=KPs4 zWHs2Iw&&Mg;{FKL8rBICkh8HVM*WgT_(6yYQ9wpGP(V8skk_az_^KZ2eQZyeopG&q z3e=3|zFP?0zWiFMg=)7wX=JX}w0%AJa=IJnUZNk!fU5`hAX73u>i?X!?d!9E?bbS( zdP*#gN}d}AqXn$1GliPP1y5;!*gHm6*R2=NbZd0K`Xf6`blOt%kzIF43_|vr2@eo# ztYy^r3bC~CL^~-FnwlJkk}!ASGQ8y?YC?uh;c{ChiMjl>+Ij7qnv zPvLWLdsl^Wm05P01g!E_-2d>!$+0R%&rUZQ$Lh+H8x7_7L=*=jh}dKiiH%1Qxcj${ z4b$9tb-EFNTqQsM@;Qh@N=t$pmNU($BNFrDp>91JvnJ98#4yvV*S6y-@c{Br72V>& zHQ(P0wvqajfoy)AtD%yHm%@YC_78+E%~J?u@*X940@27KiGRVxpGCD10YoDTJ9 z`=E509(qUEU4{5|djZHon2D5DS3*gMGQ7M)ZV8oGBcZQ!Qulv7u;6+A`*5mBf`nRo zAzr3%xyNp{DN$Zl(l$-?%EW+OKI#cAP!G&zI||ur-rSbY*Q3e)kzBC<_BLt*I|qoI zeDNH`E#bXp-K2s~)+Q0xTs_(8Z?lnP(L7xxGvl-pHu_)D)Xc-)f z3buZuWNT9$ViCEpF_vbFs+?vv&65O877%%EH>$$F`%$ec(O|}cIBI7O)Kb3uW>|~r zc1v3%174T88~zU$yPjxHw=!4F>P`gEs+Bg?RUX9!o^ zx|iLU2u08PcWe=v-!xkbb-Yo+haU~z=BPJx*EsESA4nI8b8<4p5#OSOBB=+jogzaJ z!}@pZKviBb8&5$`@6Y81H$9zeQlleHe~=z-K8lkCQ(qY0q0TSd>>O3z<-eT*x*_E-`7@X>R}hw7i*at`iG z-bIv(TsKLBSvlK(9yYC>>d6Z<&N_dz4SrtmhZ!Z+Z)6aZb5leFJKm8}bbrAmMM<^i z6C^;cywqr-+3w-3B)9x)OM)V`E1Rp<{np2_T*8DM8h8DX2$A3NwhV6ZC+*BOQ$+dQ z+H&P!v(eJ6<<~B2QNIZJwve$ul`O6OL^4fQ{05_H20r9fvO&}P<0H2z9xd8_AB6Xx zDKf&Ou2dX_RTxd(&0{^+L~T%T@F;5>C%hq%ZzD5Un)TJN%IqXY_5HTAs@w0ku&T@tOk4$+)zkTWgWvqohnY|mQ5F#4i&-NHxd>fytJb0FoDbc;I zHhiZG59Xl$x35BkXj5V1trI3w5dPtpjb>Vs-+o$x9C;bJV9lE?CSdn#&AP#A=?qct zVZR|Hx(~W5)u0Dg#2}W_YqF6k)1CL9((2_|)1B1vo$R(S2sFy`5!VDMM0w-h`8pzH zJB5?4Ihud1wr{ea=XuZN>f_$M*5#$GIOUAuRK45H5XWp=-&_ZQ#6>o&a`w;C9v*%- zT5FO=lIrkCS(j>y2e)ikUD`rT+H#|q3`)&;5?}QXc}Gk)?F2wtXpkHlx7M*xt(@+b zfM5~h$h+Er?_%PglQePg>&v)`taPOO%eTnO~hk7i3Zwf~EtLZp3`Zl)Km z6b+@EMI4r4-k%nEO0n5KnK(`jddQkRN+x4iCtPJjed0Xos8Y^2*;>}B9A#EwGu3q2 zQ16QsMhgSkO1ne_-8RXfXVMw{A*kqeUT8N^Rerl$5%(XvPX_2OxLurvZ^)GS~$;$khp=V-vV4Qgg^3~ScQb~UpwGe#LKbl6-QZeLbR zVPAB{xA$oEYR`$o8r83-uZ`4}x4|vzOH-f7M9y!szHZ(3tl7|AUwHg1kjUTMU2BZ{ zuU_4^G+^UcTC3B8YvST4N0VA4wjB-KW7IIM{JYn(JoC^!xz55dl0rPAW#%{!rR<+g zoyiDw(}&x9wJzYGL2wgL4j>=IDZ6JB_wD?fY?E_doOO4{VY%#<1uFooT z-YzsMumNM^Pz~1IEqNgHjYTdx_!2WbgwbT*reNDo%G^3q#C1j)40gvt!f?uKrgA*R zcOsfjhOzA2_}fdghFD0wdhp~CGh@2IgN$bmzaM3{$bWL6!2RDNtKPDc?B<1arA-v- z_b1!njQ~`5M&iJ8O&8McettaAGmWArG3XVtH%NVJw#DpN5)k#rb-imn-ay zYVDTBfoSbTDQLRk?yQINHzU`kE1Ms*oAq$lUv3lDR3}7suA~5g(zlW=h+r`Dd?V_s zdLv9~NTLTjiz)={BHHBo^S#d4I32bx8*V+V`B&tTVdYVbB9K_K*qoe^Jwlm*wKeK< zWAg~_KPMUy{mL`!VHL_GlNLqm#vTk%kM3FATv{Hh=O&!9HkmC&>d|$gZIqjyup3!i zexnf}lb@W$XDZJ%iBNCrE3JCU;wue>)=R&qByL1LP)eI0;vmuU-N?46 z)~sA%79T^clJ$$ z+tr}aY-P*$!VR|0?!kNJ#{izGyA6ejo|kw=;|V1A917@|hw=JE#+lua9hT8k7u>?j z!mcdf8!b1p6e9d-QW~S&@in|+y*SS;FUVDuumFqW^x)A~+)i2%t~Z^Y>Wn=U`0CMl zE3#JHPn>#V3}*fDBBH>~X(f%UyVS)Pagom+Mx%8(w3@P9p4kksn?98wqcI3tY|Pd_JD z&w!J^$gT~p1`oZ#)ksIQ_|d$>KKg@<4yLKR5~UkeWuV!4oyeV((1kZ%lWi0$N2-Ip z_H>~}Vb;CUyzCt*JHPysu1vw9JC^4Z@-A&@elFTB^S8WDULZo^Z!fV1tJfS2KnFKm zr8VhJ58_C)%N)a@LE*GRHOGE%Vek$~Kpy$5At1KX`3B7I)y~wa84f>7=1^JAv2MUX zyN|MHh4%-he462kQgsXwI>P3_Pp(P}(IuDG&n6IM8&b#-5?0}rsAf{|CWEx5B+E9Jvvs@TQOD;xDS0Pb|FZIY( zQf+d*4CirQuLKf?Bhl|ItZ_|6}wDHI@fHS z%M{ITjSSVeC-yeltyo42xCa|r7b8d=s) zAO`lNmMkdBDwCYkzv+x97nd6?ZjdQ?FpYGlD0A=A+6h(OiLC(4@pRDxd+bi#Up+M4 zNjK(Rxg>vJ|6U z{q8U~i2IF;GI(g`PbIwJDP||L1{XgH131T@w5>%QSeo`&HZpqx93z~J7(ewE&ksRU zO}cegr=ge>*Z=M|ixQQk7U5&9M&@`us9oV!3Ri=!-o+!iG3(7{#NAVl%kmUI?QPew zXZH)lE2!>FJ8E>H86Cl-*@-E1(?BWuj8tx$w7@c0ILHZ|8xdog*c28V($4 zw=))G9-8n*Bh96?UdN;0d4Wq&@1=&*D;}LwT@wQX7jDS45WReYj|LAJha#A!VThgi zJ(uS^U2AlW)Ri0SQ*E(OE<61RP#^4bRi1ZwKk`Bz#i&BH?i>kU`O8m-?05-owHQfx zOQ5VU#zVhu8=J%aYxpcNIXRhzH};C#jq$K9wO5RbuU#Rh+Phu?l;N2JhB@j+$!Xy5 z*nHk!$E1*@?OP2U^RfN=bUB+SO8K@+|E58;ARm?<6i?H5vbz5n&P3fw78}vgv8q@( z`3H&LSV!tu{BdXhm$I=&J$h|{2%Pde{V3uUYFypRYYA(sUW?gqlo~8A@oUtF?kH5* z-O|@=PN;3)Xw9lW%xt=gp}TieVBzmuqD)hjBqbC=c^AI9eAf6n6+&dhiPP%kHjoPE zlxwsuJv{xCVHve_IhPt9qG-jccd^-WG;5V#gLC{lm+Wd(-|nA}W>ioJvCnu}x97ZU zz$-zwFWiu*&+~SDJTOn+yOdvz`#4K#H~}7U$66+ihIg@@#e>r+zCPKl(8C{VmsP2$ z3rre#2XEzBxLa}xtICG+!sxT1sG4Zi3z|-gTP9yeeZr~Ibqrc+bz;9EBffWTwxi%7 zBO@P7vN_1`8sr$^B6E&u_E;>#9L~4Q`tEA=pmY_zKetg^9XxUAsT6JWe8On2ps}}6 zh-5Ytss9wEi*^6Kl2n5*W~w^w?Rn4zA)VX4(D;H?cA9ILaht6tyxuXWIsRlR?(m!6 z)Y=oQ%qUhr{5Ic`XznE-{N*p(%GC>V8j{`;*E)2}Yomp@D~t=NC`t6 z1^#d>6t_MFbGVq<{#FYj20dPVr5QYV6fHO0G2yRVM-P%9o=A z4WkpTPVt}%9+mxQz*{O1JKt>9)rv8+b8q`^s#^FU)kdSi4nen}o>7h9Z@Am8RK2lg za~+wl!Ki8!ol$lqp`%W>T{JV=gI}4&yH;)x11}JRFwBA(*@P< z*dqVI%a6eG>~cxWg?DexmFdbKs?pYcYey+SIBoLya`o=hhSjUZKW3W}ffToRKb{^d zOISL$hdtre?Wp5m!F*lg5ECZY&2lwNnP-Xp&HErT%Gl4D5FM0P+@h7MKfWW!=Nqy$ zMEfeGmfmp;vbN68`xKgxClo}4nprQ>4lkxu0$Y!ETglZ zh=E%##+%^bNtLofHJGx|EvF&vQr>~%Wt0txV`Hw2b;cca?S-*`tzUVqlXj&a zl|rLbv1OHc?->~a6aU+YByeqVL3?xqUp4qm(|GOim%{+gruVd_L}mBVBn>LV^ISg{ z4@~Ty1rsV?mBE+ZMZ-0I^Zv5Jq{3fkyJceVrOL(Em!<@cPD_$_0WSYm{s%kV-(ptH zl7w3GX%gm>w6&R&*N)QRB(nmPYo zfmQ9CZPqPj7-e;qM;tg5jYP1(E@x;{i&$YYp&6*53t`V_`u6Ml#(0@_lFP+?IvsLg z&7?YMKRe2XKv&lBbNEG=s!)}C%;aMdE@Iq|>eQN8;hv9)w?mZg7?#(H2?{V!dTq$AzykXjbHW!!p zlI~hPc>FL@X3Ui-W9)M`;&tLw$`mu}9IE^K>0$11yI$nEjJX51!xvFpG85wJ*T=E6 zj^$ubcv+iz@m*Ro?dG{G8p}7UZxZkaSylfsvwl1yn%1N_aQ-&vue{lh{-hOE*)G+) zz-(WmTePQ(fXRyFh92G+Fe-ud*QjHAV1VSbgKLa&_QPsZ0Yc zU|fPZ0HL+%SQwzDSgz@Szg?vLe;aM&{L|^uwh}I#Af*mrw*`5?Z0Q8MTC8|36P;*w z6se0o)#~F!G1ryyNqTPyCt0e&HkdZ41d5)fpuRNj4@+GWL#&V33sH1Nl*9H;-!th$ zYfooAaeZZV01la$IrlZ7P{x_J7cB2x_o3UaT02Z{lu#YiBDyAP8m`{w_*fkY zi0uT4RHx0XIV@4xTY$5kxs(YeARwat8~;fsb?fPO3gaL)A7%Qwdd8XQrZ`5+d^8G9 z9O)(Nm~J=npWyzfs9XT4wpHzZZLUENr!Pw*oVV<%byVwDqvIeww9ZReBKUcD{fBKD zkW)OBa<{mD(5$m#{O`fDCi?qI*h8Hnt0MEr+8bkE=PUVY`a117`u|vj{jRm}yq; zrylvB4M?u}HQS_zGk?S4@b>Nj5d$i(TlZ7@o|&&GsOP#fL~7wt?~6atTnS4?JOB?y z##EijCDFy|Uyu){{S6b84vv*IKh8Fn8gYL>3`u%uIIs~uKi}r-UDv1@NoB+XMb*sh zZkSg9Np5OV3u5E%8J&V>2_;q&1$<;=N}*%2FPG0DjbtK@Pg>3y!W~^kSe&R&#*%t) z>Ugc8;DVPEo@sfQ5sIulFXdch6@)vVh^1R7fS)X?9fy=aO)%4}SuY`XjX&@B)$S-L zsT!(Qe%;HA7)0`(<|U#6ohJ6-IK9>7`ol0Xq* zpd{Pa-W2@}nNk@&SlJ-+kuf{q|LDbdfm53Hq?^Qomom&V(;67@#R0WR&G^nYMmeQ^aSOA9Ac7on{JhzpX!w8O}0bg9&U>m=o(P6>vzqI<8ub3 z5#7^sgikJc!{zBO%;htQvVoY8pS%Espbgx*gfl2soKSj{DhvX+myZqhlKxV$guqgK zPoshZSd*;3LlvjnnY;F-SfR&%X3%>bE>7m^ zB+8@#CD#NtD0}FA;{$a_$S4GTf2~tLYtzP2*wKBx+ulf=P&C}FP!c+ ziZrZk)=LkV7vtysr_mAv;FmQftZuQ&LU_M=uy~#}H2CNj(kIUGX6F)F=K@%++LEd- zyvD}~cwr4yEh}G=2~l49M7K)9WveH$y{ZI#V3Xn*gUP6D#g{flQ8}VwIi|shytr71s z5A8R$8~#DUkusEroQq9{=XbN>R6V%x;5;Wr6Sa%_7-p$A?UXiTvOGCQbcI%}E2UEU z>70HEaU@q`B({*g|iPeYOZ5-7OPe2 zSp=qrKbhqdg}^e&hFG25u6t|FbGsxPm#r#jeJhUEeWoK$JnF(~nNnbo1ZR+%rR zL;y(`ycO;M-nnw`g)7Ajkk~UlC10ER>4lU;Tf*yxJ@(jr=}^pL+hX0q?;sITk5uF8 znpj!EF>V4huAY}`j(b1czbsats2Kn|h2G8SN~z{cs&{Xe5r+8AHdj!z!EF=`V=-Up z52etq*8|T`|9YHLU@Viq0 z=biiOZ1mi}akp|@q_s)1O7;ifqH@O=6&SO@i=PWf_o#wP;`p(b$EqX%gJ?(V z4i;F#jMRJL=v(T92_U$#(QF-~E0@3Nwus9$of{`iO~W2Bo@SPKl(>EP>?J|&n zs8+5fp$rBQ>-#cu91wz9UmPG%)bcjxK@&;sCn1$=yQEX?Dn0mQH(smizhg$%i#3g~ z1M!$f(G&NxST2rN@ub)m$IRCv8aoGSWz3~2W~WUx(l7Rp1qt@j(I3`fym2`rZ^HU>M%t@27#F!~aKk zrh~QbM5CO+3da>?8zm;3f|&DW6RCIhF3B{if48SW%i2F7J{iC?*yS>(snm~gEgv-) z9TOy}oUYToKf9$HRPPkCs+LK;k7Xk!Zaw5isl+1ABO-e;btm$)Z+ zAYQQG^gIgbfN^#Wn@Bg3?t@0^;iq3W|=s+F-~lPJ6>9;fKO zwvj5D@M=@K_m|zoi@o@&JV&Y;m~LeRd>@F(MHm%S1r64+)w=Um2UPOwlr(DXyz@YG zXVAHR%%k7#W;5ASeexnG#;?*fv`w(qCdn>W&xM;SFGnjVZLvaM=8rEyqu`>ur8z5X zt61x+HIJnb@!bbz>v1vW7#WrzoKT|p%DZM6vk*2tlCRg5Q(LxGsS6?w0L_@Z_k^^f zItLBYI_OKffbe~|^1Z`K;e?XycAf4YF5}s}j-B~X_xt=nnAaa}wp_--gx{okCOT@n z;muIJAGWpX$`4l+hJm)8nF{#(EZ3s5;2+bwMjiQ+2;8SXvB@s(Em`^4`& zRrKJw?Csqq&V~Qj|>fPr>vbAA)2AUk*3h4VJx7-?Ho`e(k5fhoC{zWkwSc zz4Jko7=t|BaPK6HS%Zj2E-i>o&VE z+%q}Vpo>@O);9%1P2Ot5F>ib*1xdl#f9JUGKKILQzPlRD=Wn?%-K>YF9E8M2pC9MK zB>kFbE|%xbWw0~9m2Y`>i8w?4S7TG~*aeShaL7((Wy)%c9A7b2)0!zh&hvTRrCtt# z@AV@8hHY!psHvY`aFO$;-5jsc_mUetqc+VYeR>iX?|1uSTcFNPlGIj%)6A-+G&-Mz z#Dz=Vcgq=)bMW{Yb;{FrD}85Qy1>!&2V6zyk#!0j*1ibY{8UJ1bxQaN`o`hz%j6XS$ zKWYUObG{qF*_D4w?RxBw_Yq5P?j3{-sl|Oe>!{%#v*IaKOLrUMp0`h$Oa4cP>paH4 z!)jjmn9;}tgo@=UzUrLkC3x<(c7s+D-hk+CqYoYXc&==k0P zsV4G}$GDZcQnk&j?5U2sMRs@i`m465d+*=NfB=?H&W=^6PI-xPsrvHCX?XjQr>N+O zHODg4>GY*hM~#M<$uVrcdV@87s&be~v8tcGF5gBacAME)q<(aS(S9@m;Y+kC5tgD( zWwTiUHg|tWsL{vEx8t*(B}&K|ayU2PJ-=@nWo=t`$l;MlY4GqC7s-6$`C&SCYr{t1)nEGDpiU))K>&Ghfu=I4d6CAiQ z3+V=*4KsUJbx5w$I&rgBL+#@|HedJKP`87S=&4#IRrIXRET zkh5Iyq&a4H;`>gJryDBunM(D4U6~l&YgYQ7fueCmh0ol#RQM=EL-8Tb13UJK1bQ zwnj|158Be1t#w+Ra#z#2*jh z4#HpCSb`?zliokk(j7Z@_#b9xUv>HeX4_2ln;YFgkTqp7-s1%U|EIg95!IC!GA3Ij z925{NXwm&lg~0N=<++-Isf5Mue0Z!3URVBYPM7J*0lT>ZEDkpUt`WpwQ{6RK4yj z`H2sU&iU1@7C;i&MmcIQ{OE5nv%@`m%L3h?`z%>tCze>VL}{$cFl%cIeH6!x$~Cjw zpcItt*lCxs&xT1gdi23A=}dBddlJ_1-}{kI4+pGV)}Z#1`RBt zbueLdk9DZg+h)~f_A~yH%~16}EvLX#^R#9$_>B6HO8CoCNx~ResauQcDE@PN*X>m8m}0?3b$UOdknnX8&i&i_OfJxak!?w~Ony7FP?GWbw?e1$WC6e*&*bWu z12&|xo_r@H>3JvS15rAfp<5gON@tO*6L|$%0!gS$KQ&X!kk&~ycUb#qhR^h<&qQxf{msm96 z)rui5Wiv+2H`JuOx{6B%#|?m{oO359tx|RBIGzU0%Z&5M|H5k`bOMo9c3gmNdlKDX zqHtHNdF9@%oItt%LrB?Mpk+l^%&$?u`^4lJS2?mUH|S#}t*&bMwQi>xZb?>SOWeLV zk9ey%M4J7B*=K@er=rD$9*d?6SMS(u2dJ5h4HnlYH88jFtPEg!<}z8Tn*LFw(Hk9U zUrek#oWHUb`Y|?M33iQ3df4S9L8MI&YsVu&tlQ1`y6*mXOr)JfX#2{uZv99L@Upul zYYtHF`JP0F(!!bfCgS*%UXcbJlWaID z8g3z&!YTKC1vj>`ILG~mUXkzAz05m_cr;cYj{w$dA4M>GwY}?RsJnJ*og!|zD{hk3 zruw6k#!@{TRX5dFpPrevgf0?ss(X&uC0cpMQa9ACgU3`BtH=E4)-&4nGy%$avy<)J z)NuzS>kd@=9dFlCEAdRC6T9rDR{jyD-zf}(I{wJYP~G=T7c8wApQ$HJOZ9hmk#=ds z!0suiouGPaVUResQlq%AMUCniHKn1tdQv*ee4P(OUIt5F(;TQUu7}QA7ogA1zC`{lV;*MrPrCP&YK|C9kE+$!;tgcTklNK826k!gjE+H;pCTXgldQJF?HygHek zS}?3($og$43GckOGUaM`WU}=&T&RmRKN>u>?)(y6{LUV5o-*_kXvCke9SPv=-%W_U zE;3c1j&W&SleOz7it(8Dll-xcO14}q76{gEGUJda!aO7w@f=%Cc@TMV#guL(Rut21G9cuvQi+N2&l;Mjck)paBD`tr zco&wR_l3q;KG>zf3RlM6W->4DASQg{YnBeEbXK&@(*65xHLIdl_K7nApmO1qj2{c> zN0I^*6x*lCjtklDRV%_mmjAsQT<-O4=Q9#a;*&=olhf63c(Q#7Gt92! zRk-Yc+dt}bs0drZu9nagnfI5T*Lcwn8>J1wJ4+Ylhs|9caY+x@0;kR9HQ#PeIL8we z|4xGy-v8Nc6ar!qpPFhMpUl?KA^ut3A+6NR zf1sJs!x-54X5H8}#D&jq4{hquwHMEy?8@2NE@BYS7bGJRumnCEtjV1D;g=_ADkvq7U( zo~|J=QEpbpDw2?;V)ac{6{}m>gmSB{obwOBR&L(qrgSUzjN8hdxq~TlK!U_$?XieO z;mes?nf$duDpNrzI{}M9{BlpkpLgdVw^Jl>rUK>GR@$Oh)>cFip1a?Jk;B9)6X15a zz()RG8He@xHnoNKe+X0K3fi7vJKrHz94$E*0aMvWbqGTkqW-F5S}_s)drs9-v9Na} zu3E<=@q)trf6Rr$>o^EJ0Q}IrE<7+`F-+?1lSy_a^iPhtGZJEK&k*xEn`|IA{>!GR z49DMXHb=@LDKX+Hsr#>~vO@`z?QF){V4GP+Z>U9vTDl+~6g*RFa+BQtnylDZf6gea zQkPDLf~?o?vth=@ z139sE@dX($e(;!_B4+ngeEw~cP!4PUBa~t-?j1i_B}@hnS+C2A6F=4kYKQO>dT(~y z99G({?kP^xk&WB@H$~?&EjSESnAW3K&Z*TJ)Vl_3t5KIq(uxE>T~D_je;I>v!ALWZJ&|RqH!$hk&+xpX z(_t(wBurc(=BfqR7ekc-^wT)&enVxreh)GGSm-J=jBwi~EkHL7bkS94=ia zfuei^9dfs7D42)3x%~d@5;qXxYKA4nC8X%=WQ!dsj_~a<^Qb8y7+uFdFip1AszlWc zUAG$gAfPeN_=&quwozG^418TV>R3*O#xetjhMcUm7eaYKG(7&u(@Uxfp~WhKkk?hV z>VHjpJyJWbS-^PRZ&Pd3duEG5`RvC+1NE%?bB1mVJSAa8V^s%;rAo-OCF&pS&qCRy z`XaYQ%D2Z-2g9kjg9)N_1o?8Uv0@_vH~y|M5rA(t@@8kD^paRpuFN&-)}AeH7Dj(AqXSY!TroB#oc>JsBUQ z-j^^HJ@gi2s$;dq0G<$bqM6|9&BG|EiV}Ri1fs|C&NncO^ARAX?46rv7$nYdxSKr;XVl@9ZR(kGZ5R&!t6C4v z-LS1w?Reen5DwADi30-fV53zU>RE5%LbiXEZo=w6E~iMaGZz-j<~Hgj@85WFq*Zsu zy$s#?pYEV^;kb`ANT<&_Efj;og#{l8WTl=_f0CPxVs~x;tVAJcs)1&)2RTnL>q)MmL|-h8v!ItRSvwb* zO01)VdXtXBBfd(1r}Bm*#R`qwqn?r0Dw0hSX9&VC(+!O4sYnLh)Xo;u6X!Nz9UjvU zk8p+&2T@8KB^Y`tS^9gvCoorr^Ig6_L})x#0*nGT*|<(z$h4vRx8GoQPIgEQPueKs zwnAmA?TNsKK*Os>VllO$N>ryR*}^~ul3nn^Tb9-$#sPw2^SH`Z)o5TEgKlLHwaX;7 zkqDBp<Y6AKy0X#lr+eWG|$JGF-OF24B;p)70yH+=ajg4YIjQ={aU?Jm|V<{iayU z1?m|+DF!&BCh2umyKYLb=h4{GyJI2FL!u`Be<`MZ3^2G#^AULG65AlwnrKI0VslFq@nuLlFe^RTq5B?tmj{Cmx~vjuVHDyKxtf&SRcgo)H;a=B77R@ z91VnpCT*00uJC~y^I1vk$i!6?F&+mQ=?dMLYr}v9w$r*uT$@WySMwdZ_sZf#Co5V1 zxfBNQ?@J^)kpzQhWA2h2=2HaTO`~A9HUszAVo1mO%}X~(z$Vc+Tow)~bH#)ZiwD;q zVu?K?IKrpavbs_G1ouPr011M%CMKkPNe+QN9>U&xFBZ{1!S zPOSe@^CgJoVx9~?-ffYnLcUm4qDkX3Jn?s!K#A!+r=%gK^oI7W6MkCLqLNs4VlCZ~ z%B{UhYA8gUZ2PJ|hEXjNB(d8i3D4MxYEgY?4kCFkcXQ*qb$MaEz@`aMG?_9SMG~zE zogSU1-6iH5LjW)Mv1E)zq$GYoytx;FT{DEcS)vlI-&;C2#pxd1HZ!sIm5gjU8 z#yMg~QK!-?*|118UQK4NSDkrDeI>0i>of7FKX%<&5oGDEt8%qbYmpg8uq|9E-OXd)y%eO=J0RWP%g93|6&z?asBU-j~Us zlrQhG9gNG`bOivo(}f?0$~ZXxVhO((?L9E>l^b?yF!+|&?0_2V7rCIZ>J)%#ty{%! zg5O?9w+ax*WI9JAn+MV)wJK420Q-Qx&;s4@O|eo-`lI#2!QIewMFX}~tGg~ItPszd zbyQg$DVD_OgjgFt4>T3tH)&gi`uh1f80_xfBvbx_RUi~_`-PIuC6aYmwrX357D7uat($%Oq^osuXgliTq{qVo_W z&^=6#Rh8Af%Wqb-_Yw`oY|hw_(8-?r%VFSPce1Ws4gT((ouJ;>iBt%#>RMQy^Ua4g zM0?a=vzW`%C_q~3hAD2d9=tw|3p%4lBVDY!PU3z%sK`@~xy>%e-rJ88C||6wn{{Wr z%scS!o>LT8mL`=A{B@6T#(jTe%1N{>NT;B~Mv9`8G0C>ibZ^7Fd=t}5&*BVz+XZ|w zIQQ0E1$Nt6nm*Z?jFf!uq+RvuxpW9YDPIi*rp_lFkePBr-o>B)CfPBH6Fm=sgjal@ z&qkeyvoca4cPMI8`!?7$s?tB%vKGj#q74+j!guyIs50L*IIDZIX@dIPCq%fTesuT* zBy@1&F6i>A1=5^lty=@N`!8IXuM>gc!V5T2u;{>^8W5kpBU29%e3ob_2f+`@>_<2W z^jM$YjxOL+IUZ#_DlJaRdyi`^QEOB0iJP;0=O?>qcoiGiAY@zg&qZTtg$w8Z&=>&> zWBUP3FWI752+ezP$ie)rh!_xIx3Spn4GdRf)zLz?f7~WD)5cG64&|@^Sx9hkcUh0* zz4SMkQ(bxES*XZQ$1*J({c~XNr_)R=3QyD4L^$EgBLSrMjiRQh+#HN!J6=c}U-(r`>K<=GS6kkhY3I`}VqS?KGZ`?A@B z3_Dp`n2cACCT7>e(vU%uI%o@<;>B`>G8(j<|?E0%YF-iPQiz-C@X5r~YC3wqc}0KnprUSn=Pt zZ3WG7Z6?KkmzX~NWpAVj<1bG(j*&CvLq>gU)?mV`76@tnTngD3d+$i&CVZTXmyp?y znTYaZrviED@doaldW0QCj>bWENbd z@=446pW6=09BlIUbq^8n4*ov%i3l|M=FLQN*4IEC+|s0Cpi8pi9C-QyXerPCjGk(M9R150_`9{Krwvb?%)$<)F?@2f z)_}%5!E8`1H(Ak7z?rTiM&p^`<`iWj8}7(7a)}ocEgWav(NcAW^^mSst@32kaG@iO zr_~;stK-lY=F7+o&F7KUgb(3TNI#h(;qku=A{zG$c@sTQ-0HDIDvQIu~#jaHOUDYq;=iNkfQO&{#q-?Kf=yN zm2tZ#BRY)MM(zU9%cez$Yd)dqZDy^ohh57`roG_8sG3mOsqUSZfC>X^ZJy6hxWLA6 zxMw@j?Jph&vCh0QX?u5ieVfSw&T+hq0i?Dvuco9qR@Rje=C&g<7yzefg$aK}k5@LU zV^gJ$+V)wZiG{r{xT0_sWu;anx;)WAvU7TM-h(#YN11~fV69BP6qa|!zmkSn^>3u) z&pVlDARn4QEv{&y>Iv9anM5%&uX#=AxqrGq1 zC`h5^9P$>>MIzzosqI5OsdNW+ZsV_%o|H<$6;-{5BoPe5{zkc2m};+oH_ckDKpoG2Fbgj$QcvxSZmGVSbeuh6DEx-bF_^=x?#rqP((&QpJ@U<7$Y*UFW{lHqb_W0Oexm$%Y<6lAZs zi6?kp)~3twBHplJ*4l#-mM-K;!0Uz@QN^ePF|dLgf3YFh}nM}Zl$n~rQYn;;9C8a2D~#OYns&~XJzzQ z*nK#BcIN9~#;<0xRZ$cVZgfc;q4`Rp3FGw7$#xTl?2|d8pdRXu$Dw);YWHR__A!c8 zaU5iW(VedqOUve%FAh!?A4%nyH+h~DNpT9tj+Zn>YDJ{#I|`U`bg?4MRKZLFmc2{U z2!o-&=c+L(jzbQ4Qw?$C2PIR~VUK?WQ4!An#swZ#7n)_9;7zk_b4SEO3VlJ#D)ik- ztH;Q7a@{jG!{Yu?&*b3EuUH=@9@*3?b<@3qkZI4kt+56=!&Q9(MN&NISQIF(kX9?s z6mL+*+?;NR`WG*~0|HTQsDX*R*E&s)QS^T#>bd=U$AcX#7`GWq>Rg+1A9%Z2&Tmei z->D2sHnu>|eRJ>+b~Z43=Z9Q{XjFty@LNTiD?IRKo+tP1k?7c84Mr!O&!g}}c_e_) z{%_0Mm%pZU0zHgCh4^;A%F)Dmh!b0QKiP7c9!@HfMYISVR9CRurgCKau0%Da;~kR_ zmmXFqXWm{XlNPNbf7G%F2r>4ZUuUI}^N-JxX%9~1E4M-@gwXU$U2=`+wP>a}7RF#X z{6qAX(qGklF;ra(prp+T5pZrBXri++9t{URR2nH~EpP;``)WP15Q-_SR{wrZycnlG zS$2nNotl)5Noc1Qu^=`kykfka>Z!VVF?G^sMvW2E&j%IwTeT*tq}2?>e-)j%{%VaA zbm^W3XT5fd^A~QBR9SFUTq@)^Pa;cNNuK~ug~RsI;G?6;WV4z$>>*;{FcHh6AB3G? zJQ;!Gb^p*sM9%Bu40jNVGW9XA4xV43oeSL`LDyi2O+J0|=e^NAs;5=s!Cp z8oDx2IUB_R)yamZqT#2T&x<&4)eTx}tUOtwAapjnuyFEy>|p=j-gR%Q(_Vs}!by8w z5l;uvPF*9bhEsw3^5*L(ld-0~dS|3K>UFN!I`xF|b?-(kJpE`K~a`&vG)9JBw;{2yR{ zC=!=YLQ!1bF-~UHixen}5(l`3=V3C*f zyY7snqCsj|t^6+fiq;Ut)47`uUv}rcd=tTV50B&8ck{1s;HrD%VBKo3#s59EN`uDQ zdoh-Xh}8Y^oP9PP!^fNfZ`>x|-Ld5n-WTL&N6Mq&S6dd!fe(MxtPyuqYv)%d+{e?f zs~$xv5nW;kZFt&$vI7MDC7#}g3m3^#tw-ncIOU7fgL1RkN2~-K;c4~k^@?KiI`rj4 zra>Oo54URp5ulh5dc^J@F)@>|Gq6c@T`MZXmS0r z{cq#>fcjycf)jE+xJ6`})g+xh@cD-`u^e$9EW4tzT7;$|?wDyrfmyXc>-8_M)-3&x z{cAWL4iX`AW9T%Gh~6jHiA+8Ad%Gcu4tFAD$edjSV3+oTpNyeDF)$+7-7-_8EWyM! z%+L>6{}JpMw=h!0uB@+pIo5X@<^z2+u*KscUSb^H;sZ@6^2T`&@l`~v<{XWeb%U@; zkn%H}n48fOkKs2*V0+uJA>1rT9aax~I2&=~aLI)?a2`>~?a-}Sdfs-XJwARF(?ZyR`zwP}e~1F_zIHD|;VxdnJY2xL|z zv}4zz=U3Sk$lV{M)TrCcB^=m4>IK=lyKWU@#JS2MyPi87WwvqSs~UNabHq8TAa;P% zN&x1c`JTSLZa}0W8W!~{+)FGZzUwZW}^>@{=R9)WFWKa|mV3K5iH#x;u*;&l|&#o7NA1 z!Y?Sadj*)*5iUgQ_rfd3rj!M&$K1J`w|I;1wyUFv^Ac`Pq+vO=-ro6C_fIK(L?AHz zZ4xTwE}yqPzdO@F;Ou0ixmW9pddHS;k*EoDjMQ2hsm50=ER3jc)EcAs7DMD$$JRi= zmODbLj|MYtIt|Xt6FrN1ryq5n+~tiSqKQ{tPSGM#w-saH(p;HXkZEqU$H)Qgi{t4m zrrO0OWP8U)ro}08a1hbEbSKCT?}+#XzoSv?KespvFc#nyj++VgIB*7tuO6Fej^ZU> z#GS1V6SfaaeXi9AT5VWLQn6#_N_vaz$h}~+IaN&Z8 z1?|6ZKExUPmcvSr08(Srzp2}GMa9Yptr=c;ksA?i6-Z2fJD15GpQuzf~f zB2;+8_f#)q;WiQH?l~UQPU(LKQr3AhmewT>Wj0HY#RQv{)NkTh*j#MYiy1Hripr6w ziCiOA*PZyrqsAdnMEJKw2}-AU8ezPAbu^4WG855s*See~kvLe%J2ZD`q(LMmlzZ;{ z%V1$=>jAUD!ygTzO?GTgw+I12b_7jUip0C>4zg?NtB`&8R6 zX@%I05kKVkH|J5Jj0n0A>EaJs3o^;am^}35v$d?CCEX})r(p2nL$DR`E$T%xRYuz3 z(!;O<9Y33I$08iF%h!8dR0Xk;p&-og^t(jzgja8ZqWqm7+l|0xVx|qZYh9*JTuBY$ zn>c7qgSzW$SNfc*1P?q>>AO7bh?K)0w|>|wIZb2LAdW`tGv^nUe^n4}Jlyn=x*M6$ zx3nLz%fo)2+N%D2+|*`u;vm`Sh_RpPK)3~I50st?`(Sp#5_r{a2ib^AAvj_kS47&t z)6fFxblR8X1MCm;X=Pk|8;9lKGAKm( z;_-Z3q7^cdC;V=Z#tF;YO%9N~h`u4qt(aO;229qki3nKVwgEH|PfHi4M40M^NqLBR z<#*3x7>qnA#}};d4d3|bWr#`Vf3kLC4;bm*l zv*`-_>2F<&^M`+Jpi^*gy zeO#-@8&u4uDA=9OCyATQZ_~>^y*^Tb=sHsKO00+hWzFM*I7fKtpKi82p%FyW8yhu% zP%{~-G)7D{kpmbhjgrU^NZmGsOw#z#b}L?WN2ZzB)SPsHlHXs0!v>vr5%Q3*yUBll zc?DLP_tI@wMjG&%q7VSe(By^JZ6ZR)|3oS|1d&FGllp^>OV`3Xvnk}e?&MNOzv!*U zxHT$4^DzHvsU<}B9q1ZhcH~iG{<>vhlb*sagz(x z?Ho(R8fbYOS$F2G1dbo7@pE1u7?ubWE2WX9vuHHf zTpXzq*^y}x7trOqCH>Qo$C3+WPmb}&ol>kpI90|t;_BI)>G*%`)~GSF@_ulxtZs3A zi8=7TaQ;-NhA^Dj5GBuf6=&+Z9AV*WZ`$zq1E+8TW!#=jAThFC#p>G9qI!M)^ogu0 zeKTf;dU(y1xhkBvn@k@gm6h;a)h~A=OL2*F2FiAn)`X53V8Z;HVlpVqdq}aNfG&$L zSVu7#ldiGWhjVRWQ&amo@_2dQ1>ea|-LT=ad|MRjf!q+{?>a!v+w6Aa^z&K=QM7Ry zO!DTd<-|Z`e($cyt-@s2u z6dw>Pi=&sSd*y2-XvfxsUEiI^aJ_DG(g@PAsf>l?cb$lsnzrL`%_%<93yx$h7@2Ej zvH+lqnT>|eeR30T4L>~v@+S0sOqH@Nr*AfRof2EfRQsqi>VpN5IJ|ZTtcgp3c7+?I zr^LUzzOqJLGQm!XjqF;&tTzk$?CG87qj%Snt&csBL!{RpW*ewdtqhI`R!+8CVjb~F zt;jA6NyYo%9K^_s+bWyX5#OYD8udX@t(yFpX?656Re<#UY>OyNrwNnXHbnE$bN40m9y&$>T<5$$lkDk8D^n~X zW7NsC6Diewp?!XbdgutErbZO$bHcV_x$v@?b_Xz6=GGB-_>7-q8HKlcY;Z%wPkp8Z zZ?AWy$Jcp{(Y_eu2}LM!^c<`>sYv5aE8c3CgpxL^&ySW9(u*JmDR!5tn|U2`Q9Pep(a_e!kL*l%9@u+{x?Gel$G$$LmUX;*c6M zV6k6NXr(_VZi2AcgL#;B^ZIlHX225(MHIk9{=@sQeMX1P1+xmrkL?U!~l+jRDkgpk+SbAFBb8ZE=R^Klg11eIsNdH!){r1|9br{&;J zAD1a(2VP8TCS=iTP6;g5dz0Hpaa$+IaC+Qj>Z;c-sgPN{Wt$d{I{)50J_4@4+P8?c z@GIdlYs^p^%4)t}beeMUFEZ5JKk*#YR&d>Y_=!Q&fJtD~dbGEUQ}TAjGofxpWv*;6 z@E^<(C)EOt8JE4pG5xm}LioY|EL?f7-@=Jng?`0jL!qGX$YXp@(ZOC&>E(>AamR>vlz3cmymL0uS}cnEZdT3hhTpz&6iPW*_81ZIQbf2 z3je;)MD5Rzwh-mZPc^tC;^vJg_#IqQ9X0;hbCQU_lRuZyM#`w|@&Ue577f2Wa5A>K z^3)@bMmYM2%0!9~;Geg;ux|Cdj1vtn=pypaI;tObnBTw%Fx|Ur5>nmh(jy;_1|2ic zi@;;&Z8JmG$$DB9ZP@$gVDlb#CE~Px%#qD`#>+F@tlSXr1P}h4%tqCv$3ZeMO0G3( zcpr_6RO`XLZ%XVod}60oEA%k6R!?2Jl(Gl!F);z}_yi;?*B_2`+vnO{wdyT@!$aH{ z9S|P)By!E#pqmX0vR;8?w;t|sRiqZp6ec{l^26WBv_(1C!x1jg2U8FU-4`GPe=UGKiatwM)M~v~8QhIlsD%%ReKh6+y#=G%Y4)}5OzKEwA zqZ&nkT=PkxPsbbSf}H10NH^=wHKz)FPLX(ypWl32#Miw!{c#EvchA?6xE{=W(QKu6 z#7vj#Uh$QtqdUb9At!?0>j@cL+iDjJ>Uu}Y1&&%XQ?BP~ZMt#AM<6?RWVc(zBtoga zvG%^i`Gd1A)I8mP?(z&57&ySL#e-sKJl1&X(j1I4rpRv6jobb(5o+qsmq$AE@P{MP z{Kwm-)~SaBcEF5_M^YxNE8V7;hKNtFW=#FshKEOH32EHm0I4!To=Lh$S?cCnaIxM7 z&cWda!XCk?N4Sj)Y2Z6CRl#mMcx6XP1q0m{$$)=9xXXkrhLp(@l^Fxm$caNX3N^01 zE7Lx_l?e|m@Mds4%VwE!S)Ir6pLk8WUg(Wa1*0dswbZb-oP{B&od5kjQlK~?sTZ@~ zX*0dd74>d0F5Rw-&J4g}sr`O33F?)nU6@sQ<5Rbu64XDmTHVY4YPQU)i!?^9v1hIp zrpiSU^<=v~yqEiU6FSn!f&QQ85fht^mb;xYh;3mpkL;WJ;0tCQ6{JrI#%A7%DCX=* zi|L-nfPZJ!C5_5a>=tgI@onO3+JY zO4XS%)NaHu=mL=$wIL+#?XBiZ!N)U^0`Lvx8h7s9R;y-**fq@FJFqa#_MYCH--wzv zGVJpOFk|>qTRN^QkF8F$ftzbqB`dnCneL{iho>lJl^z&dH8471e8N9S5C!tX@C-rq zH+$eeG@exmu-@v;;>p9qp z#@L%LiSU5g@0JUFZHd~P?$!%Hba3J19AMdW5pebP3{6*TZi#pVOhf5X^SYm`8MKf8 zU<2+;YV20s3trB}b?fMZ+)j!DATjk^+M(vAGX{-tTc9xI(=JG1W6ebxpgo<Od1qumzW`g)4X$21U5^@LQlf!&v6JphX8WpDcjh3tKA*~H4Da7FOcvTRg z*}_!$SuPLUGgR8Ul`EC0HR?6j2yeXq-u!yK^|@Qk7WJ4Y0@8V_jH5dJHYbYd^WJMD zYxY;~9H?~;k4F#!bE?Tyd3%bcM&b-c?vzmr!QC$k!S`LEWus1)xu=#uS=+zJgOFS3 zZt50w-uibMzSig*c1bkYe8?zbWzO~<<03lsU{L2PS{@Sf_X<-TxD$^CMJ?-YgVMpLM$d#S~=wu(HKa&6_kHrG(Y85LBYJUlTo7=xEMi4-Vp_F&`N6rWl?De!qq`79c1XTWcP>9u3uz0T>$XROFRt|>Q1Q11BCDS} z0Rzx^V7>H0g&!W`W{IQUCVkhKKSbRAp4f+kqsPg;@@nB(Sw_UetpUNP-hf6W2 z*ZN#R8o22Sto&chYIfe9C*c)q=)qD4i0;cZ=-z*El0cXoiz3y!|NBN9UZX_Ot&>NX z;A78<0<|@6Lj?w}9$>?-mn@UG2l~@(Wz=({44S0JM{9^Wd#)M@kvNz2$Ho9XGV$5_ z{7>lJA8;b1q?AlaHXW+^OWDZU!Gakg$^TA<82!KA5U(ZddcRn)Sl#rGFYFF^8*9hO z93@}`pP=^J52Mqt!S!_o;oC_wV>{qduIL7KoR#;aA-W@`+KyOBv#=t?&`&XNr4;%N zdoQSuw9sHUIbB?gf`0!M2(BXI>p|l-w~W!<&zeZ$=a!0E|4KYjXImdBiB`UP$F0?! z#gExOtHL_aO~LsyZJl}cz2MjILK6SPW#VH|#M6x*-s1OyijdL1%q?fA^Ji(u z=HFd5zd7+7eiOdB(}e!|JgQZT(Jk$zm}N})GuzS?QE!=ZR>WaoPL=G_3jdq!0=Oi* zNp(gg4&mX!`eIv;`mMJOHdE@hjhF#IAYZ|}fFocj{OC+Q1KEDe^E%X8HH&pmDFPAr z2wH{6WqR2kSnnd>>M|mgJoPXny-{^%VIum}uhZpvc;;ZYTm~*w=+>mmV1Q7m&0A7b zRjex~y_9U}rglBjZi-dw{KEU|-!+};_A_wbtV6%J6d>cwn!3Et1VSggvrAVGA1zH| z;gjzRik^IOYMa`GHA_Ry+H^ZzGG8S;=3rjC4`$8ioZCW0+G-8D9J`C3{&!^Q3qs9@ z@vl^pwZ&@HOZjTLWA1eu^f3FX9T!4K#QVhzUCXMQ57F9bq&g?9(3JPF)({I0fSx6_ zY#iDH3F8fTNNdvr?O7XTarkJ^Zv5D+AqiqP09@mR32t4%%&61-1z(CZdu1y8?R;Iv zj0j!lV(4odiq3B?^fx8*=};mH0Mx3TlR^BX6mDtUxfl8+ZeYe$rzIJthIf=Svh%yv zF4w*9=r)hy$7K-Epg9{a>5M=Y*G*0|0f##;mvWA9>M$M?4&1HKWtYJ*Xg)$!Pt~#~ zgP6)YX^R+VA7-;E-59p+P>JM)v%GheSL3d%D zM|R7dR&Es|hVR%XH(b+IfS3B=Q_%&OOX z0!6@!XalTL2nd}BLHZpZgZ^O7tH?gh> zkFXS}FfO{PPfTG#lIReAHMuo{mhLwJB_AIDsR``)i4eF_vD*kFzKHiwzYrT$)M z*NMN7$9#lxn+meNT6aD#MRQ`6^S|DOe{uwW$$ph7HGQbrF6LpPnG-&~o*Ox152l8L zn9rD!#wgw~iQ&T8NpBU@EYYOmWD95f>7aCns9eM|#;MsM{uP{!VIUM;Q&Ci}QqhH& zx@nvS19=~r)eMq(0{MWO<5mdhgd1iLPE<3u5rqI`AG*Z`d6%+7LsgzhHk3w{_>4o4 zN<042+Vvp*W`?^BZzkWfvkxTWJa|Wd_8>qXB%$seVE_9=$4FSzIVV1~OdU2%VpNE#ME(A;_FnXw#}ACai;L)nknfuH zV%9;2=3jZAazQEDll_YRK2?*=SNZ9)rTRYefBb^lK$ zeAa%mTODhQB0MKuhHem{r09-!J;*?aXnHIgk3hAz-mRfTYCca?_l-H-BGC0!cb9r9 z?vk_({x*>T6`Q{+O{qKUb1iy^p=u!;+&yL^TWIH)i0SQLq-!OHpc&$q z@LF}ui$}`oQXi6FA~E72<1n{i2l$pKHDB&OA{lm5|Gimw5BJta#xH2nTBC&Y9*$Jd z;(56QgbqF9On5weV_(3oJHy`79Nm9nBw)gx=POtfwBGo4@4f@+fm*H7gEMQ~W{FWI zT1r;7MGW2B_*_1_xvs?1l@rz`oa5vVNXH+yl4oK6K&+T59fg=eUC+t292)UvXE!U6 zY6+K0g|UR(+jQm8nuQ`{YxEO6J+M5>(Cb zkSUpD*hAg_99O56xNVK2Ub)=t#D2QZY>svGjMOt5reeOOI%6}%?A;@isvG-6L`!0~ zp-Ysim$bNCRpxGYi&zp-v#Xge{d&4t!b0hG39LvlKf!6@P{V5@tr7uoTO^X1uG5tx z?*%g6fGc4Gzj7{|smxY6j52rynD&;R4kW_wh9zp5XLI?%T5%K`_#8w{*Zb=zk?<-u zj-%q~uYVE$$hsm&-|*-xtx4_uv)QEkM@*N2y;fEAHb*`6EsYzZ1v@0fjyQp$=tBHQ zhTS`dKAkC#hL60M6OP+>4l&87HSwC1VE3ZKP0+f89T3#huI@@R`ohOKFu$iuEz!b^ zk(9Jn^GwDt1D>yaI1RKS(IV!x-zr%X$yJ2(KK~<(N5~n0_wUVlFa<)m zWzht~DtB>UrXr5SGmV-`k(c zWZ6k@e7Z&V&V0kn>dN1PU5k|kT{N!${0h6Xz#{d`VH%Q26?8Sf>Gh9YTT+81VeP(G zHi{TmzLkce(T@B)=Cn+WxEO_&teZ*_9RwQBeM@$m5#@7J@>CNtI__!P19%G{VW+b$ z5$_||=Vtz*-z2xJSg&z$>@1O81QoqlRo@cCTJhUL-QO=3O-7~zsfpFZ3&U2!21&nO zmPZ;LFjZ@pBub*?fLM)zkZtT62_^W(n!>36;tf)NwX@zX6M*MC3T|f;&3b?QQsk-U zU_R2lCv%5u)Tq zCel^0`Xo_Qtkn(BJ|5h?=vP8tunw86e7kORD|7uQ0o@D_M2eVkv9pnqglVV?LVP_X z>m|BV9E6YlIB0#5ZFzX3Ll1^Hygt{84F(WREW6|8f`nLkAA-LK?44IM!>X{q(X?*l#KK!By@sBLBTlMfosYNE3Rn(vcM`YmT@`c=tZ8i?2 z{pC?3{XLbp;$UmPS?On6K)D>`L3s<>PXI z1{qqVN6|TqFjk-MT+^)X^S0b}>!Q*o^_ZE7mNMO2eKoSf7(LPK5E+zi5LeiQH4dGd zM;4!UqFFA11rq6K1BY<$zc8mCJ`IPVInxNS&QE0~8+MbNU}HPsl$aGovRZfkPb(Jx zO59W@eTUl?%O;>B+&wLj@RSW&8c&hb9%e)u@MGPe)ef2o<0Dwe8J9a9f3n|8H$}BEIh5dn`EC8jv4-A4=FtfN7|+Ho)}7kZH6OF*6w2dY|GBhHB|}on2)^Yo z2-?A|!q=FZ?ucRn_uw zD78tT5x^<0J(+0|Cjr}f|J#5bF2G1Dz|cu(P7Vb4_dn{vll-B}>{b(kVG~(rvNkei5cECYeYPQWz`Y zo?Th>vg%yDSO9i2vme(9Q4z?qSlR+jn4o=Uy~#JNdy#U4_)KWyj5@bD>K&6^5~)Sk(UST_ zh~fo1r4D@7mu|K0G;PrkNZU5r zmc(0J=yU!D3BOp9;rT%D&7J)t58-Y~`q1?>S?MvT5I4f@kPwFkM7l`)!Ej#}OOq3V zGf4y1#2R}?+8AnjopcvEXY{lcQN#IGaaZj2sDEv%7D?$q%xn>SLhjxk~)tB1rHg?jlu2j@rGu+mwKVsfQtii8V2pOyu zf2@2VB1v(+&2+}<4k%Gnr7oF0A=cJ4QogblI`H~K2iAEPyD7%Ep21I2Xt22P)F~7W z-uplXh`jq1j1UaneoLgBrj{cU9jNB%LwK)u??esseg9fvBu{G|{&ec{TDfj@)`)7Z zs3~pMr~ES=y!e}@$OsK*>87-&TVADIt%p{bnbMty7iQ|C-i1e>A8BSV+P#TJa$#Fe z#MmbO^Rrn?mVG@REBp^hj%OdTTXf@@BY>mw^~Hc(d3TY(;j>c^&c>+4nL1M8tq9)W zrHI)W4L-|0M7DbOe($-FQOM;W9uXk&8|8GgzhPN4Lt}y=0)U3L4ftJPRtI(=-W!8f^ zkHA(v1uuc}%Sx<|;O32q2F|!`wF$&iRW^`4MCuAWy9=_e4%UG4P5%+D2z%c?t^^VBZYl@Tm96QJ_38c6^|~_bCbNmW-lR+e z>#xo<+ZpV6TMovV(9MPsXQ#9#-6*{}4dj=7Z8oFj=fj}N(fhyy*0c{y@b+f)Hcy>* zwGcw*0u2_}I>!cupFNF;bOxGcan#ydKD49>KVL%9e2C}xC#;#@pkDT|U4v=$7HN)) zrx!IS4<@aIEWT=F-qmrJCCbnyYMu0pD`S7=;IN)s|Nn{A|7oYBmc!<=!H&OYJ<`*k zu+lA4{d1C?eQ0Ldc2J2W8~})bFIV+{dl~`mU&1b0R`kr+R;ue2)6$_`C9T%*}ns&Fa>TH%J$%(x1k{Ub=sOJCYzMS(>TWgS9N-+n?g6I)TGa zl|V1NeNU!>6{r`x`fw}KNo4ds=)`;ObeS3?5~YHwqCQ$1E9*x{2Qgfa#5S%>YXNJU ze=JCj+uzSu$X6gU_z{mZQcD@+#*|&Ad%J5hReJc;9MVrwZ|;VRBk=4rcMXmHM`z&E zgKsu@^p+D*4?qH9_J`a8A^4d~rLi8lW_K3YtA%pX?OLn6I1PZ0U7)q=-mM>Ot5RPd zGQUZUUMn>(%2|H_ee2y<#MQC3CLm>_PY<&uqDOq{LSBPOodrF#3LLCkGUa+OVFf+6&&eYuv zZUZ*v`cg|RnvrSKy^_HU8fT#4(!%ia2bOCf+`cB!aty)JYUtf6mwA7|&u3{3R0OPc zyXlLn5~%TxWCK01EU^k1s4DeH@}>agHbE=bl?A;?MCwLJ)+@gKb>Lo%UpfHbBG4=buOC)rer9`6d@T6Z3j=EZmaXhNCKQ!xk_ zh8~Z4;&f==3sxi=57CW#2c~QA3w|`S7~F4}5a*xI5*+V8%QZ+Mb4qqJWIDF2(xabke38Y3x~E*o^04lOH2Arz z;127Gy~3w=|Bha>hLhV$50FDG6x=yusgsTk*(@K=>AgI6{s%cxBo z{SkEUT)Rbv#yS0K6AlT6O;hvX@U}=5d&A~YWixCRpbJlykfiteR%D^Kd<-b^`|p=1 zM)E(fUs0WU$3i6jtOq$>_;E62W1r0w-n#N&8E}P;aIuf8w+i$-t_C;=6KW97yH!>< z*L5o~biez5T8iPouM5+jZl@Y$3R?*hNU(u`ts?gjq^;{Qt$$ApEOsxpv&&BTXb`br}%xF4l;^wiHFGHaGBf zYe^M}k2^bLt$=dwDi>C}G?L?iU7{c=+`1CN4nH1^ELNUq&ndE_vr6@PCR2yK-%%uOHTZUZhc^ZB#tgVHJZp9~3e=_e7y7V^>c4&O^SY=*A*X!vw_e zYGCZ%XKtwbHHVrG%K`6BS5rUtV_|jB`QN7__2fgBpi1Bn5aO48lxU;b{)7Jt6Cv8# zl0jVW6Fnu;5_PKH7#7iW?~FwdB!JEr(??N5+T*5=wHh{#56GvY-k|lvBRp&VGCMg8|zF~kupnPR~^`y|P_T_AX|CSCv)7!Q47wu&v3j_b~T zW6i7x0z078{{ta_XU4dOt~~DWcW=gVi7bx8yD2=!@Rw=jk@|T?i7t)-_6_zcLwMf& zmhQOQ?scn$j1tWVfNzc!N#sq6X~nv=eT&w~$j9dr^$^hA7jv($eJK&_=UEvO#jv|B zQZu}oJ3HxKwxv5)Cj`LWoXdXP^?knf`%e$CyEE_C`}KOhe!pH?g+J6p zG`W84e%Zvt;dA*olK$jH2?8>Ewp9+FcCzeXV9S7qt$H%@v@lAsZ>GWTxRLxYOJPJ! zD<70@XE8z&WE3*to7`|4wr)BM0NjRDj(}7%j12SF_;3U2$`eu*HaR*FIQOv=RDuSE zqiLAl>RI$oPhboZ25PPa7YRoiOW=t{x06^_eI#>iOM2sFluZdkMvcQunGzrs7Dz=#kST4t2hml3Il6xcZKEnVYO)D3 z|8}zkI$SEWAeIX$lns)jU)b@VC=d&|J;j7855uP-$0u~?-VaZJb3zkCPBo80)+UL7 zN9Xijkk9@8^=g$(zA57l_C#F8vuCtIuC~;r8tkc_76&im63nZ7p7ZBg5tp=wx_$I6 z-^2w}l&7Qkv)NgWG$$k53i^b0k4=F%2HR;4(_=~@lDHGrWpIV7xa9wDm5;7) z%B3X6$~G2tdUM(AiUiOUrM?;Ka7IgzRiimbT@@RJXwtg{)Fp`HL<6IO%r&xth0giK z0oJQJnIK&ZJ?riYNo83^tVIIUI1Z}?1~)DRPLEXYH(QAK?xL6#6T@@~i~rQz5Wwem zl%)tx`J)yHbE2L$9YQ^$=#qKkmD=k$+#5N3HFpzt#7&IZ-)$6e)2bkI*}T6rZWDqV z&U!a5$c1KK$pPf(BX{5ku%o~_!oq=>2p7CfS`h1H3b;G&G?n(KwZ#;oGymKajriQ% ziMb-^{OAm_Q}Kk-gpjWU0Cb3e$uGRI?sSg zZMa+owf*K#DCS}MJA~Ze-Rdg#_OW;a*I)e|DeU3@fMv{^harfCsHIp*{$~5_9nJt8)C+%s`Gje?4L7l)rCK?+A9$0zdU{?VLgmFv z@e|&$3mPtHY%iL~=UvU?>ijft)oX+?CFrIZ&=h1)qdVx$hJC5wRDoxxV9j(FJq5~= zS7!PveMT93>BhK@>CcU1O5%O&St`;KN$?FW0}n9s*FYhduOtj``-`iVY!tHMlN6UP$TmJP2TKb%O|G5P+1(l5){NIBu z9QKQw0FhqoQzM3nsv#_)Z!YO%pHN&8oG6v8=in8!l^%w(bw;F|@dLH6P*xuBU3e>DhK;Uv#mDHO(eq&GHvDTmR0kvkC&biGeOS^bxl zkWuyVujDkQe~!qj)>+$M;zC}fR406`6kJQ-Xoa{ls(oDW2^Gz6#z~w%X_XJOb+V3P z0E8{0A153=JsNFzSV!K_!(W#pR&k;GU&x!x>k`KczH|&mWWQ#_c2`JA;O5o?Nl1C? z`;>wKtkXWpR z-5!5t%28!=KiJqS?47YWE*@Enves1f_s0|o*ZEVoWTn5Xi3r56z&34^3NK8$6l{rC z(T`b`82Z8$rzv|-2bePDl|Sf)oQq;PJ|)QI9)C|Hg5dkG-X&+Om;@qIg?# zC)5HY7v-k1y(!(x!zx6=kk^~8r% z3y6@2g`ckLO~To1Wqyk7emhe|d|(0Be=Lj_GJOt>2!zij*Ma`+HY7c4n=Ger6;u~K zix?9^XXF0J471^*!?}qXz{4CeR@2^Rc#Nr(Cpj+-|@$qL4QLfLfNP}w@79F z!e)3U{h`BJ%pYqhMtq2I4x_i6F;SRW$UGx>zmQ-YW(~&_ z>W$bR!qmHzS{$|8al`Qe_f-+V(JOZ`x;IbYBH`r&g7DVS6va%W3hw6OlATN)f8wS!AUtte461 zC+$Wx9VIe0YaZ3*GT|P@2~iLT6mVZgJ68*4-mb)MM85a?B%VAbAjQxXz9+vNzPwfA zx0{M(80XP`wb;Py>y?^8+;;x8RG;Y|ekZQdt-lnvv1(~?aRV=Dc!BiWQ&%Ao_vy28 zSt}o+n~&hH5D$>*e6ZZ}#Q@h&_JeQp{@iGctPALA^Etw~L30fp>0rPrqtJ~MA~RI3 zLW|JZ%jF`VwEIjZ;CFLj4!aM#QHb-OH{heNEdXZ-fyGJ{N!y1&*3DuGv1|r!+W~n(&>@^bScnF*4&1j` zbP3P38dR74WnXG)*WAI?hkID|{MtO7tIv(e0N6KOCwmxD zA8mtIGuQ5j2K^1N=aWoCJHQ55yI|UKHGO<|MdB zVDq4VAk47Q;aQR>4&5CEkZ$W#TF0KKi3;Q$6r23bN1nsIfscU$=Hq2Vjjaa^hYV%> zn0oS+Or5`^jfhBP2gRMl?XRx1iZDd@=ysGCf|G22MKg#T9B3;{`pm#9zO>x{rcAy` zb5J2$1aWYy#^FS;u4zw%233*x0y%-$pa5JO4T^2| zl4u=Tiwffo8hW;AkfWIg{^{E zncS`DEf+z!ZdD}Ec|>j!Z1cH@7l!9y)K9Fy)grzGL?atk4!0!>5MBs;1|vddX0!oo z6h8#5)blEc?p-N5T%Feitckb;S>yQoD9Ceuixs5YS+pwab(Axwk5bcz5Uo^T+d65` zQVYH@g8pz@ygBqBeB(ck6R4EUSAv|iJSv-T81MLGF**gQ70!lT0suj>#>tC_9&_S~ zJCyQ&n5y72Z}>GKngolGFlY0RS}l6Vh|0ph6J#AD`;Q%or+jW%>n8y+@O~*AihPBf z=!)|5Uoe`EL>LOsdHq*e4{}q!Btb@}E})UNh@va8-mGs@DQijwE<||qTu@*AHB8A8 zXYWlw3-#aMty*%sjRtOCehU9Z(3+N_c&E=K%ecDZ)_76YvIYA;@g@y4MvMmx;ar-e zg~{cL1I_+v5yfRZ5T#mS=c!hB5{xLx_S+qU@4_8c%VKCT$tw|YS2qs>b;%`8xAUhO z)0SR+P|a%4SfG0(l#%8G;#-A7l@W z*9tfSTo%aRVQ;q2CGUB#AHhHw*QcJ3r_s_Y5bP;chD#g{DTno`6!;n70W2+xc;vnR zBq2B9do8H6NA^mbySEI`DzZ`R1gmETCqT1=>>1HG2a_TbqKHMiiVhOEsL=td#D_G< zM6twYUOi_O$%l1Kydp1*&@^Nc7t`f`ame-C$0R5<2p#>%#*G$)qp1iH@wTk7K*1qD z0KyP91GJc9U&14hyPtJubpHz|0-Zo!FwFkAn$3WweTY)zi~2QAzff)(l7m3PP*_$AP}y>o z5@^EC_1TvBA0mJVgs$Vbksl{ehq(GrE}jc}U9N>q zyCjYIo=#NpruZZI@Rhda5YOD~p;rY#xI(Yvg7t7?zi{#h6sJ+cjInDO)}b72%FfC4t6I(o}JCZx<@E z(U*QJfo#|H%%lm2gT0yajuJt{^kR_(LVfZqgv1`a)$r(gq#EwM`nC~c!effp+o#_A z+jTgD-BhKE`2J1ekhPtRgvd1zAA5 z+OA#D1bX=(s{qx0Z81b&Xs%QZMCs}M@dBT>=f7d1&D>r}B;SXhdJfvqF5ZqMz|5Vl z)P%5vmP2yv|5eEHK(pdnu(sWnY%}}LE2xHGv9dA`e08f}q_D=+ zPx3Tm8hIH)i;?u+XLrO+bl`p+2U&mlo+M|@P0=DM)R8Ly_@!&Ie05tjU{t?;1a%we z1)|)5M>d<0ZT+a*Z-5ta^JNEB#&@5j{eS8!G_&8ia4im~KfEf6ze!F97rOC_i|hHo zsc(oiT)6K`3VR$*8x`COKZbzG_HD@^wEVl!`)=Pk8boIC3g`>4PzJbZmnS3G3)iB! zj{PV|9Jbp5N*tTCy3#*PYo6_V@4PPxBtCODtCK}&I{HGZ;%?jd@d)~3sWQ}SgaOzvq0YXXgx0$9dHj{VZY?m-O`g{x zBoGqdrd0U~&BHn!7+N=iQqOJnqK@$#Qgo z4k?YWhq3vp3(Ca)BH5{fjf@ZRt~jpnP)7@V{CX=X$kiU_X??tY0$~V*^wwLD|ICyO zSmf^8;~}p4$5?pWf#b9~+6{gQ3V5BCm4g)HQamoern8j<|$RT&|Oh=j{Qd{1Nl01 zkvc$~k55Y}W;an#(P>|rsqm}WrHPrEEYCI|qw-a64V>NSM@p{<|D!EGLSaAIM#Xa6 z59t;h)D!$a9~Gded_h`)>07-0RuT46vl+lf`-|=pq;0|EC@BAI6AaXN0;{$=5ICU^ zhU=aSk#d$Y0H}@nZ~H2)H@k=ar-Vs3ua%zxL87gYWAY{*nK2mey=g3%QXg6@m2h+G zw?Jx;{&a#pa$GB%UmyYuo^28ZjhiOGm)_KNQ4nD^GTEpDxWp9wUN*fHd33dQVt2fw z_i!5n_xns^*dS_fv;6cNLlX;4{SEvQpfR4JBne^GQDjYT^SQNa?7Yf-p2)d6H3m-B zpX)<=BfPfXqG{r#<8mFwLNprzVmg8HWC0iYo;+R4Hw;}5du9IhQaw|LD0SWG3Zp8w zclI%G+9C7lw!a)l%mfLf4ivmAp6`4xR06Vm{yZ*SEnP%i7&iMjD)^k92V;Y6pI5PS z8NJAJ9cgW`{_@w!fX^M2|Evf_(Pjmt2|$f2CT!7}yGSX22&+T~qOS9{Rq;Bmwz+gL zCfo=^91UK0f!}XO^KD6E5tO=RpllB!{ST3H@65HTV76vTZFc&2ae^%jN!eGEBe;X_ z4#$zQ%n?D+&iil}dpGKYTf(Qn{e9aJGH!PAPfQna4Nz(z*o?UtIL^#MML^kV`^FZ|GIL+X^}&4TDngAe$Td5%6Q#)prms^< zu+Q#0%rS?fbcFzo?l!+3SnRw!LJIl3hYq&{)f;VyLvH^Z9S3&!azSbRSBsj9yho|2}-WpjydP$S}fDt z^K-U5{I`=vklF7msR3|&(%^1yq-F&$?z>Hi7)H8lCm0a`ZU9*3eJ_Phm>BUk?-RTy zZcGYuGrlB8XVr7S?7H(L0K;iHN7f;G5VTNdZk|q2>;-0DJj|VKYqT1!4m^{LaofJA z1OjZwNBA3Ce;1tMycX9I=m%U<9AV!!*9y3E;1^<`4_;12$jk%Z3zz*Rm$%I-njlud z(nb$2HdRS9W-ms-Fs^h8C8wC(_(!~+Ii3_Vdr8PI0n87s`y zQ7cj4=ABkT?Fpl#qQP|{nEuf#$l!KwYXkPfg`BQo=Q_m!Og+vUIGXgiY{C!!2PRBw zju(_`gQVWF8G!v;P-A7^tYDaddfTe(?ipAUoa_j|h?m%!-@xWXz$s?zj2s5$SG_}K zoZGagRzmDp&=*AtKTEjo+C@wmOL*804+#yfcxR5ux~^4D|7mU?_A^%$EUAI(&vYweTLLblzZs34da zc?zuh4u!e**YlQxDC$Cz?eM91CDtqs1MBI1UdhH}P>1g1%nwNA?EJIDMBg;A5?r7A zlmU_W4F+suh&RjvU7BQ>KDS4=3eeK7ra2~R>rq;ayC03rG%)uvrSL}X^v=WI2<^@p zb)-4T&~tbH6}SCqF4?TOqmepM1}^Xh+H~59d!f$pO0apnyXPcpx%$Fm;By;Ba6PJH zD#k}sBuv0swQp`{E<65_0pQP7lI16gL=*9d*Efl{xw8A@+7Q_}+2KNU`!k?z{z|KX ztE=Y%{bBaT3lVp%GK#n}>n@q&E3f>aRiPs7oK#1OLRJe&s*?CrlP9e@E{rEcHcu## z$FZMXsTq&rgMpbM@}X$Aiv8)AU`6n#1pyl!$@U#QIXDkGwPNS#G@F`{Q?QcOwNZrT zteR{5{d{ENn!{(({tX8!)a zs7h^Zg?nWyO5c0;>2UD!eDbQbi^hw!9 zz`et7Qh?lvOqy&Ivrq(*U_>&5HQqjSUSvWE+pn~>crk-0^?Ium9oF=(JdGrxwlv9SW2yN}<4J5YbQ zM{1zAGE8*)9Jio3Zy9I-;-)sl@e<1lU_^MWo;4!e8Rw5D&>FKJV~)VZ_edU}kZyw^ zV(Pn!2Xs|xtWeg(z%}k{4yjbNVNw}p%dR2*FdxfqOV3O}jwgK?sIT8UIO&oGQxc=u za1R;;euq($wcUas{;%ayjH~}`J6!^lmdjy({zo;#syoHNmru1x0x<6#d@#tMiSXB> zR^tBLC0h}`JfRK-Z#}h84xsjVYLn73R(-lO#U8HK9P(T6B(w1YS}hVP*{wRf8c^iS zBk#})6{1bHvRR($6J|d)81kncYYe-8ienX#=^&>9%-NV*)|nk^3$82SVgVQC=i#*w zJh191#DG5oU#${umYg$OvS%fr*U2iJ3{r}hhMkKa!_UiML=DE}Wg571Y$@8fnERxX zn!)Y$>!f-JOdcdTvO_LGfar15s&aG1GnR+ahW#{xQhj(qrieQ$!!(1!ThUxD%AFsE zIbn;l0m0;OMF7$_U;_-NA^(xe;b54KsM;1!QhtCl+G! z@I6`sdUU!=VdOa1%MH2yL^CLFaW;-19Nh|IsN@_CUNE&?gwNj7(`0A3&wlj$(_$6b zo|LN@ckvdy4U7&55L6TW)PywnOnsoYQHfU0slYnt^2fk`@KfQ$-ti07Py-LZh5E)$ z)F5fUg`q5j{&CN5w-QUZyX6f7i=ZDJNF*V1v|TUOs85JxT{v0$Pve{1Zn>p@f2+QuZpd5Za2@9od7Dx z?n~l4lZVKutGP2L5(m{`D{*em`$H*g#f~One7a5ZD$!iJl@^J*Z#PiD&*`3mzHm0Y zTpeK#&Z4{kg^qMm21eb)a#8oeTP@GS8I5gG@NwxPEsd0XH!H>MtCFAq%v$mY;hRJ& z$uTm@QBFHKlj80_-)3yG1EMxL4)6wmS%!@fIYS^s(9K#IMU)Vmv?nTwkra9$e)?Y1 zDw(-jaqdDZMZc&=_qe!{O>H8(AcZ(P3C8UIY!b&iS|oemi8d4%T^*`BJa+8x(BMJLEr;PnZeMrLO?$l*q9{fbMuO;s*Q%6R+T#k102a2Jt zU?3Z~fSVd?b=1HJwi=Xg0BE+imGIw7EMA0Ou@uBaAA$Nif1t5g;Zv*UY!D0mg)PMZ zJwU?;r^bvF`rdcPE10t~x27+$$T51-Kqx6>weERQ`dx>~u-xXGjyI-CowH0lZ1PUHa;>_+OMYEACoub5s zv3~OuVJ_Q%*%Ba}IGe0S=i5GX54YSZS9I{f85@&V;KL1nBytQe_#Rab1wNeIxwI$= zhxH1Div_$V$D%&!|h$EP;bG})2Joe}ZEKYg_*NpfSq*Q&P6Ly*T6C6MY z^+kht)m5L78hB=n1SkmKr4%(q6jyy412Spb5R%4^yC56dM!e|-zFh(PRM9b3wx5iSJ&$fU@f2A(<3-wF$ODKlV0 zC(p-2nAZ50R!5Q0B)E-L#Zz2GNCdq3;CDs^vsWk%Nc#C3(2%jQaUAoBkp@`dY+rQL zp-v$WH}-j>>M(m_Z+2)+WJeTt@>e6Pkl;sh$svOe`~DU58kxI5C-0LuAXDFUSgZ26 zF9@?>skkQxDiv2V&5J^GCzya4gy^$d=!O={&h;p!pF%}r6jp)dF#Z**%CC~!Y(7Xk zw}op5W$MX}g<%)qMy(I(d#V^hHS+h#aA;y zbx?H9vkk~xBcX43z%{LxJ-=3SVp-0qM=|@Eo{G9Y@4`F3X!%mbU$x{D<>l&gpXgi z)~NCed18q_-4;(Yw=9fvawjO%<0v87?2l5cMGE|dyAmz%Jy>~CA&M4N1#vgomMMau zfvJAjXXq4M0js*!yN1i`E=uZFjK_JA?n^sd9bg0Q$2pwVN61|u1_O)(xKKt!8VWKF zy>3)cmLpR`HdwTZdoQ$z;=Lj7I`&wvTbp0Vw=5hfrbyG^H+sLAF;RWlNYgRt;I}v~ zdfzI5qSvvH1rk=Sq^Yq8QCTM8KOOYWC*x2`IBo%w@Cx$2%v-6HE#%IxOYjXu$>L=c z7L)}noE_E&x>1aXG2~hA&j{$=Hc!{FB|{)J_T)Q&QTFXyv=kFME9pD1O9NIPS3?`{ zUmO;ENfxNh?PCQ{TK@7YjSxd{!STVcVNgDZbfB8mr|u~o4)HOEhpC{}tU{XCU)~Ov zG;YZb91s-F1c@!=PzWdL0im?_=6biWY1=J< za+d%P^`(?t1${Q5A5P``+!F$YF(xMWmftG{DSLzFtRFsy_p@gi8D{2B4@V1`Tb;`X zFl|?9fQ^_ddo9S;Q3^+}@-1K%yI(WBrQHrLt}t9_C?>lFHlX*@I>}y-;d=hEfEeR? zeif$tJHMSoQ#(fM9S4)>wKMTrPUb7Q@M_EscwWOl475>CU8?~7C=gu}AY(=XcO3i# zZ0@$PqkziWzc3)Slar+(Ho}LAA{8w~ojGYGF^k*Q8yfh**A3!GLF#%=TgAiWB*F0% z`Sf&M2!P|C@2^cJXq-nHyP48M32=trM?v!6PNFd#A@&~hqPKOmYA8rSYS|ueKLtGC zm@W^yXOV+&%G40XIiRAIXDx>!A2ecxST;C~ zxho-AE(#JSS#^170LIya3-GtAm&uh-e_p}mTh5|taa_5F{X1)EUXgTEvBo9UM$Oi#X-@n4DqEIy<+xmoL5`#M}Busehu{%fc=r*d`J7!d8_^dk{D$oRSSA-?Ufb`d@uSe*dU`&{EX%y!~>{qI}VTxeu5u_+s}9u zQI*SK6N>jqb=hPj{&~sP43t>;{v4In&ZMiSTysNf6nul8qy-~GD21m4x-w{B!EZJd zD=GG&f%~7HMqp#kquedhC~~ELzAA?NFlfURWGhYyt(E!`zsE6;#{rU4=0OZ&w&D3T}~gj>L_RnBy{~>8=%?Sv%p_a1fT~J z)&{QmmVGh`YrO$qCUM*I{(#(g!82esc;r+ck1Ga5qRIfgC_L8)H>37C2aNN|S616> z$LsjKd1N(sM0oQhqmnyUKb2#$Nsm|#cSb&Ffc9O6Y7Pc2UaPrqUuB~ng>c!O1@G*R z2N4&c$h+QaE9sJ-Z<6q1d+(>&eD;OuS{26f=TP6Ze&i_lMZE`EM5bP*M24f1TsI0} ztv;2kVZw2xyaHqSJ5ceVn~SZ^GE?7E5;(}BYsjTRr=EcqzN!ILC1<-w>wu!~$yF`6 zySNnyptkO^xQJcVK<7j6e=YVwypOW6+i5AC(`G^(67|F77*@{gE0wx@t{!Ox;c)l- z4G9G$;t-vQ?eMDhoaf_sqsiCA!w|KJQ838nUqLNz_&^Dc@^eb82TEzSS`eCUZ_}VE zyKI%LwuTf8k+BFs5XKX791 zSFgTV4hMYdc_C*az;y4c$plyTU71tG=6`lN#cpDj%gi2%nakac$1^cx9ADBrpLcxd zI8jG!%4n&A3t#*$mn_CYhH(3>)7X;pU zv=~I3P*j81xlWT@F$LqJj0(`3>Kj~W)~yT)Q_(YU|J zZ!kM;B-3QyI_ixR229J2otqIwnoHPv@ZLNq)=_0N@4O@uEkT#Ua4m&Vwq2=T!k)sd z8aNnz=~52&NBIHMxuSy&#uUeK;zbi7b@n5d$(3NZry_C@@b;PB^cKQ5J;18!{O72W z=3gbEqwJwvt3^HYrFkMa?~5Anuyf}_@fcc!7E2DK>=y&{EWSkpA?7?!FnY=(VKO`1 zs3AJAOKHHQh2_}b06E7PJAx8$>j*;Um8OF_)dNhH{pCf9o7^? zK&wTVFz2Aj1T)!yuG%j%Hn*q!s8yhU{~--x{fY=O*zGLvm0L58+Qxwqr9s5r#*6h> z?Q&zL1l`TlT5G32m2mRe_eFy~`^phZ#Sj*+&NFIBtQSYvReds5T;JYL^RRwngM@F5 za5Yc_91!EgMQA_Nua7+=6|tU|C5uoy{U}%#f+p+e&uQV$1dzwazB`Q1c=Us0A$Nay zOA7*`k67Giu6}VwUWzag!MynmA{0g91-!BI@kvOTx?lkfXmgh^kP^~LGJdd<*k)=! zau1wS>q)0OCt9F#+B>C`-A+;?;r3g?TFQsu0r9*;?*lP~B?A4owj_yP8sq>Py-TlC zUAaE^V*@|&M|RTbTN|ZX?o}@VERc8#=&Wdk@(8yUMuN}dFTR!+LdElQNzkw7<@k_y z;deQJ%m~{f*@z0<_&W9}PEd?xg`jl4W}-R5XLifnE&z{{2Q5#v`) z#4+`nAifT^mTUVmd!&+v3w1~WL;%XNRY%XZgmrE{zf>wGfsqTKh+e#&vcbZ9tHKRSKq{Ry2`c#C*GfwC0j0(8b_} zH#~+U_|WU(LFW9LTQOVMoog;<{3@JY2(*rKxcQeWfsyQR|C~zpTqBuda(lOJ`2lwC z2u&r_i>f|P$lD~Ei2SdNLOwR_LpH-+t`siiF1QnvIWOcVnDHwi*_K4K2o-sVNchYF z^*!^TFy2#YJJX4cI{F7Afn@C1DC7uN8AQ(uZANEKu@X{F)QK^yN_p2vp||%_%3|x| zAJuU5KVN`T=yQrDwG%_wq4@Yn5q~*&nSl?ybR~(k{od1H9?wYRgxS$NIR;E=`^dox z_VLM_B32uKmF0Z#Cwh{+1G&LI?8s`IOsKi5)Ma3j5KPR|BXOtd?xoQPb5$jFD{5$Z zQ-s~QYPNyjo%|CiHuay!lp4-zOQPVwhY;%(({L1KceHdQwnH$+y;0j9hwQmW^FV(4 z?6hQMmNhDKumrqksaS|5Z)HGkz4gypC4y-N06|}7f;a57@5yRopK!-z4*`H~erXoY z=l$hFi`&QtwF;!2&r|EBv;Jw#W%?vVMakVlN2=p`<6-z7JgO&(Bg{ulWsdPHh-w$s zQB|8eslQy(7h%nrh~@}$?u=G)_wrxlBK-I#ohiWc1?E7D4Pph#ox4TLFb@5WoD|zN zOtG6Yltrac-SmWPj`z98R^^Hf$b|1h&8R0Up;FBDyB9+m0FHGf-0t|hR0BJ8d~q#w zRR)KK_|^g<7rkNyCsv~5v`HG%Kp~cs@F?N640Y^psXMTp$^q;s)f6ukWU zrx}3A_BjS#%WaK|^2&lFoA&B^vYYBpkCgE55-lim5^bS2?3pw1H}=bqQuOQg-5W#? zQ}}#x4FLJ|ok_sUh2O#9X5e|)Su?I6jSF%rXvqKTDHS(rKG<6+YQ;|4)hRaaR@noW zy!{JlG4<;d)RBJD)~Ya5sxIFZepO0t{XizX1OW!22(oP7Zu<3k)wD%x!6GSvvfLkOPP*5q zUow`pa4O*Ul)@fxgO$KFsCWa`=7{;SfZV{j5ejd{+FcVb=jNdWr;FI3_v0a-Ys)jx z`02f@ga>o=2Lnqae9oS}v&CAJ@-2ts|LX)Wsmj+tZiKZq+0l?sIW{~i2f-X4)aEk) z4H(6+3e0(vy%HE==4vhGQqt3L6Vy3Yh(@x-;oc97UB!g@1u_WkQM|GX@nf+ zxJu+YxTOyR&Y?Cfl`J5DjZp6-Q(WH`h=StlKh#Q4m?F!8tGGM3xrM(vHv&bTDJ5TE zAN-tMB=JmdqYxW``cgFs?k-t^*86p64*I0C1wFakBNMsSA~&A=&1F(_R9l@zmHu=rn5! z?oqqVgjCq^DN+MmoD2A~+aYN|<0aaHhz>BZfeC9BOl`2w+;Mka5qB=T1vg|L%r)w{ zI)0Z@k;8s}JO`a`aXHWoOTse175CyrJV)5v*$Oacz7l#BU5~>L3hc8a_)0Cx1IL(u z--4Q@A)_TApzxBck7mLZiaCMc%)modU4TLqqBC-8cz$q6p1|!DuB@X#a@XRd=kqfE z8zTmZujF!2wMz;SC-0-TEYRWK9@*ia@t;Y4m%Rjw_|-VymOzwDMr zM4-j)Q3o5?glxenuhW_Q$T5Kp{_NdNu6!o}OY z)T$-#0wtuxp$BW&q&{&l%b(-5I?QaUkJoa0Z%A%Xd~ndFiWUBZ4`Ghew`NKRFre+u zJco~%=l4l9C~jU{FrAdY8oa}-B3U{58>!5cAya@!djcb#p&zoO4UM$3H zuGUH|XFu=9bY=|5n|P-P5gRZq9>CzxwVFyr5Op2NUWD+#pNxWh?wuK2xppxMZpNB5 zRDZZz4=XBX@hNg;2cP+B_hR(27MWHGYr(ekC;AHCMqzdA{6;Rs$dncTA=zSPa!cAX z*i#AkG*kOoc+)#K%O2)`UzvkJf?$*D@h18k|41G^QEMRNmMY1C1=quhkkZI|Sw`5W z*LQdT2LX>ot58|C%!n}kIwfr(to$L}+s_N4X{Nug)UHDx)C2JdQx_|hw{iEt!v;S8 z+ozh1a)2RJDGG1^tGHJL6%)Y?rKkcE|E{s>F!ADBIwj1)c!bP=WFl)}rVtP4L}l9g z3z(M%Yx?dka-c1Fz;YNB>KA^6`R5ZJ-}R!DV&)jR4#j89HscC~ib;}AIuH8K%xfb7 z!EM>%$|Y$x!S=qb;Hk0SFXcx0JJ1mn_%kH6GOk ze*@a)7qFGTWa_a5vN3JdGM6I3dZJbgk)a%i5qN67RLi}Ii;NKJ*uN?E*k4Z>wIngf z;jVs>#^MrGhcMw`P9}z;oAwlSfh#~$Dpvg#5>dyD`frulKPm2GK3yjT92rDSQ=EM=AO>{<@Zf0hLb;!sCR#pGdfp z2YYJ;9?=cY~L-FpehDNk6d&X$M==n{Qle0^| zEe^0Dt>6d1h!~OwChEW6(0z!N%@8C0a8oge#Gwi;ZLd4q0iN2L+v1pA;V0~QzZ3D$ zkWayFPS+keHEd2T>V*7(77!y7Q9BzVzvv_+$i9>x#V0p+P6A8+`7d5WQ7$dvFKA7G z{{NB0DF-3JRW0xY?3pP6Eyh2J)!l9T&lM9W5_=bX?Y(@-FwsRkMdEZyI5qpmYAUMx z9>F+dc&ckB}j zr4!5^uY_(RGZbv?4^bNjEHBNY2zeM2@5(I`eSB>tpir-K#55zjMXN|BDJ7gOdL;_L zYkI$AllKJcY}w12OK~_FY-}EDnE@|PYLIIY79BcWc4X#0p;SJ_)uoA~;IHxLL3m!= zn%%B-=jNOWRy9Ft@Ym*ujt`1-2JXO3ulWB9!Xt(AgMhtY8lu=oJuN3|=+vW4;5rPW zg2{03xEw&a^2LkDwGWzDTFz&^eE}J53P&Gw;d@HnzA9q1#~y|$rw@EfZfNX7{KWu& zI7cGc&MEjL5YP?_@dz{LL_C7A&LOVvc^gKlrzn-3D3G|gf%UvRJ00)9^*A4597%A) zyva!jQQups00mAxxXu0h$kTb;r}ln$DXsugpDh}g{~15!42k3*45&ikq?iQYKe7;mq3S5c!VD#Yny^gc2A_@ZGh;UFcE_QxiZa}19QN%E2 z@Bv&g#SAJz(0CUkLACR54{{#lJx$~Z7VA0}dtO~*osS>^aGzQN3{T(POMC_v}ilIv} zf2sw^!L=Ju60^|B)L?$zWm*|`Gh2-acV1ctiEz;~72$rp9X?3f9ZM6vua%k@`KfV` zKL6PGJebLzeBZNfIt||M>8C8a~Xnk8?D?~aD#W4LUIS7&cs3#>%$nio6 zGN2BvnPxl1nMw4wKs)%|==QEbHAO{h5>)vEa5WS|vCejs#6il2JjKjmpCV3;0@jwe zRs?WRpSx~zvA|v%k@2#wT_sohR%nQZzoS&Hqp%9(9Cnv1bVrfHAqk1=ToFoR&F5AE z1?_!t9#|gKT(SCu5kn2=S_=$uc9T?ve&ZLYT+cDrLZ{&Ea;k)ON@$8d&|Hj=3Mfvq z@CJ@3vPNhZ0Svjd8NnaS&YNp@3jW8| zr@+84?d6(Q{(9OPZAR8BZTc0KXzwh8vz&Jr$p%SWG!; zigV;JqJ0D2Y=!GK-*^YI{LMBEPb|ADUPN&}s_rm9?jQ%C9JW7(D^`EHWK?2o+G$9W zxt!c{xOZ_d&csDp%3l)zb(}}u1C7mAmp~medLB4W&VWl|XN7#opRBY}14Mo-^ltymKh23P|ijzTDVI@(3so^fvPQNO1SbjrV z;q82;@9&PFAYcq2;Vk`K<765V7Xwd}h|EsDi&xO!{{d~(WnW}lU|#rFL(L;bWMq>v zg@{eQ-OUiV^Z30Q$k(kGex2E8m9m6Sz4FjvFeEZ~pp8DDyH!J36$uRg_YtzBy`RKP znsO7MyVoZUolP?|g9HLnr4RTyO9V$Q>Hq=Wdpc@!cT*{@e<*sXVW(cXBpWc=eo?9D zh$1d?hEE+9C>H@lcb$u-_QfEZPM0erKyG->W5MLjq?z;6M5mMW`JekP#e6i zyM8194=yPx#JZIOGlie`YY7Yk-eNfZm?}DG6OP4!bgM3$E`nAXid(WD{FC74jt7AB z2w>;y!p%xy5BiP!R=m+)#_$j%?P$P^%&0-vO z^uJ04ZV12^&g$d(mOi~n`WX@8u|NW}m|#ULtcF@LLOx*S91)i0gR`On+7p&)wUn(d z+*bq$Aenaa$oD~{SxS?SYQ->#eiDV4_2sv~SJPWQ3_iHEiCl+rkJ4|WDi@ADs|0dc zSxYbv(omG6vG4vlSvJuV%l!OGk^6%*)pO$P zS{VVDoYt^eb$lGP8{L(faw24QuEwMWWTx}JLW0}}xZQ{xU&FU#M7uy9;|$gr#m~b+$x|5ivf*scxMuSb8w7gl82%N zFnIO`!=%&&bO4-%*GWz%|5RGSMr}E0k~#s1y!J781R5Ub??cM>YT#z=5zQm-CJM;Q zIk61JH89c4rZFRwDu@Fop1wI+M0EynkC`)+Kna;NalH1tY7G>haxh-V-H%_9>QSKf zPrLwanM36gg90!bzV>JgqKa@-btQ|=z+sUcM!mV?!5J8B<4;I+;hnTOAmZtfFpJAO zh&2>-Ksx9q7KQd1b_73z0EdJFUHCm7!+e}S<)Q$ly_bVoghV?f)tHMQb zsa@MO17Z4cfK|xVi)$&|rS7~+3csye2+;9&Pz(c7Mj?g&PPITm4yPdE=tubu0QJ)SFq=%X~4LjhFRdQ z_AhAAGT%K0WN`nPd9aFa8`BCBsE<8_r>L)P&o`OnByopbN~joitp>?6e_V99LbyQ- zV@lS2_z`a)#uG4a!ln>AaSPeq!r2FL5aF6basc7-`_AT<3AZWw6Ij%-P!7I{0N8nu z!5Otp3Ugs*>$u9y5+!vFrZ=6H%P`9D_QpmDF8FDSW72;p38^{sC3YkWzib)=sd%TU zg)b+z;LF~tY7~mRp$hWpOhNS=^4p>Uh2V5qngNXb?j}>H6Frun;?s*J=ha~wK@f7J z=id@n(ciNJTxq^$)1MCaiU0 zZ_8%xXr&%gamW4|MYr<{O351-aF(Z4ar=({$vR5F2ESyu*syjgQw!NBHY$-BcsRd? z?YmlW{p^KnGY)e@O8xa{scx#7K6`7QH}X{Yf|#Q2)3?36S`47NaS{DQdJQG5RpE;` zMDI%Mu|%Y3#Ry2cjfI6FG}U~!xQ3s5?}a>7@Nx^^!RX-K#mIp@F(V0ydnRo-9E@Rb z*nSIeHvR4ANHsh=o{V@iK|TKQlF;<>D)Fbobx`Nl^72N#w9m9i%e!2JV1{as8`c#yBmTEym*XMet(Zys|VV)a3Ft zY&cS`=o(r5J2gOopV3HCGK_)%g5|`)0L85|=$#jo$R>2l%spMtQY*AN=FL*P<@7Cx zw{Rvm9bped>C=SC2Wx>O5scS2{pkosjW2}q*#rNITxq%(+$344BeA+LaY zpCw8oEa$U0&T_Ox)WPr#YWQ}xjX{9PUbC*$VS^umwCa}?D&ZFF^Chs-?Vp}QM!Fm& z>e!_G1cX@lo!0KCPd^<`W8>x*U>oO^?`fZbdvb*V{ds$1kPut~+s=G-*_^>abOZk; zfg83bB`{;o;`|~|MRt)CtN#dJ0L{Q|_IDrPYfk^+GBVa)lMkrT%YN|vgPa{dibvR8 zKgUDy{t_Oy>}R;j#LB>CYU8ZfofUf>3Wa*Byt_w8z}A;DvONc5nMT6b)Q1%G6caw@ ziwR@%B0h+3Mhy6bLqlHyhC3TZXJXubT$amPB89k93Ul+FIvfo= z?3G*NxQEeQ5f8E3JlG=-w&v9nHGFSOOC{8by}vIWo|x8xh(Lv_F{xl0v63~7lBthX2gM4plJhlTHR>?s~ZkSU5rB50A-_ZJestbdZkj<4%vpy zNJo9zL1}0rR4C<7a6LH8g1_}&Ze?Tk-VJep@?R~ZDeSlV*Q#P_KuN{Wy|@&k9`tW= zgPYjQ1-NW?M=uh$7OB$#OWCV-8lZ`(8#F zrFT+kxD$2nqqRDpv%at_FNC@7moyxI{~v2`eDj0bAddF$vmuV}{bn^V8~HQL5%~C& zQhN=%e3W4`{TiiaFbt@;6vMU=6DGa;zZ>v$cjf{b?&DtUrqwgAml8nQ{<{r^O3Vh3 zB0h(VRX!;NFwyLYRD`O)6&g5yTgosIic=)dC$y^@4n3o;x**r#d$nCP5Mjk-QaRUK zIY1=yrWF=Q4-VJ4ee@Lrx~fkvIe_-W&AX*~?q0Zfx{A49%XJ!8mz2c;Chg`xIK92Q z&=KcT+c%zt=Ix^DXu@YVX+9>ehzXfovlr9)LRqT!DmD37YsTeJd#3)ZAQ`F-Xsc9R z!``U_w+ZVv!gE(AU0)>@5jmhU%{wZSS-=Nf^(~6}Jonywm5TB3YE*1(7u|zX+MjL% z+v{)YS`D*5Py)B@Q^knSJt0jMYhdC&B-gaXJb))CfN8&q78ed*{2t(?bFhMT$9k{d z7Oh3?|414fX@B;&Qjp6^2g5u8N}$M_3%{NRc|71u5bK3*v=XRJ{9m*j%ZFylP8;rs z8{;XTm-p`?5jtq#AK(@Jr=9Ua;tcp7FTW5qkucb#f$;|{mLnkgoUd@NKpon@t^PYy z!`B|YF}qKAZnfnQjLU9wLU7GRQ}t=N63{XJ*|~Kvnwna-oWZ=Ml|Do9785?enfUx+JdzW2~ns5zd^C zGIi(<878~jC%krOVO|&ugQCzUYOldEc5r%iPJWuL{@5sj_rmdu`pn;`9n9Ugn51Zl zlIqRX$o-{3Hv9*QO*;z@%IRyk`_wMzC;gG31kuR@l7~_6J1vub9BJQJ<)H#8A}AY*MQ zMal^9{+gX>;NF9CrI-))T||V;HXA`1AUnUamZlzyvgSu~Z}kX+cmMNLz=>X|E?_#*yD3L*S!( zsAj`#-G~<1IA*j05sGhd1oPlq@jC8Q9hUhJG&%Ik1bndnUJ_H>#qE^AH>`)HApEVA zp??43THJxUdH|JG2>o{fyu8)bQLuQr3!VW33`7LKN&$L(rMv|ju-Sky^xt1Fh28yW ze8ydV$7#+6EH18O|FyGR%$j{1zv6y=PD=UIx4PUTIvf&BZLfm;1HsIQcmF@hehfeA z-uHMESJ_LcMUrpOLUMv&$=x%!ii|=+l8HKbz63;(^>v~NpF*awvS#7?nGo0c(-0c> ztv$&U+SWg?3K4c~YJpE~xyiumt?K~kHp}fm3&hq#*udL}Q1rb{uEmhxSxOomrJWy;%Q2p2!YvR^@1q+Z5|+dgnQ+(; z>%Q(&K8MY9-M3FJzvt_GAHRRP?4C38e!uSbSHRkofv|(UE>A-Qem#SFM`d8VtxPws zegG?l-#TW_fGnf4TtRT4IQf=>WxEx8|FJ1>ywz^Jh7qJwlN@f1^#gS6gJJh?h zP@VUbWWM~fh9R|;3uZa+?!!;OqN3H})DsQbok0#3Scb1h-8;KIfXr3m(R8Kmez-^G zQef&xUj6rfwv?+A#~~p6`_zI_ndK(qI*pELMFYBgW zUx_}07G(Ct1@Tf}%$Z;feFFDDBjHI@>u|RdmRJzaAG2Y{@UIIrAoKMM3rV%%VTi=j zUP#&^MEEU?XmP!73bYn+#w2KkVUz%@2gtF|)o@|jWg~HStCIBN^PpQur4f4imRVy_ zbKz-s73x$GAySx}bnvv|0(H_81QzV?AbGI2SGz|r14jeT5vMufE%eQ3geI=19ai|EWb?snr#ERRKFz4F!$TqL)nJjpC zV0!|(dHRbzb!xA>K!9Co$%0^|<2blQIqMOb#i?JBF{9zy2^%9ReDhDp*M2;ojpE8P zapf4gFgh7EM~LE2D7yJT3yKEgQl9kl5T~4FKa7oKn!z|Hr3W7uOFMm-7q6MZh|5Pa zt+AG_a>9i@&^y&%8Gg^G?R;_>_&BYL5cu5lfw8%Nr&AI0^CPAE3J{sz7oO!aR(5m( z9)0#**@EGI#3)r(q-cqdk!2$?WsDu`AeMqXYQ`gwTreTX6{^KUG?trVpt=&YA!wMOfgir%};CE#J zO5?djGipec+r67?xYR0W;CcaW8X zzD|3T5O@Sxo{AUE)9qe&0Yun|oLcHeJ`rp^MM5(E%`-*dD_fQ$6a7auF>{8+DgbPhFt74Ch#`H3^Z-GS%mPvjE9}dO1XNXtq73bS?yvAKqk@s^LmmzGjYDYuVxh zJ1xS_2TXOwHVxzD$l+OYLn?wizVQvGNcG0Y8@7va3jZo@Wv)Qxp~DlU%*8>EPQ6d& zMVQyzDV%ukTj*c=R3N+dC8Vmda9XC4{Lt$TYH-!RPD`w$N2DZH*1Ztfbg;)3 zQ#LSFi8#uZ>gKS|GS#X}9mNykh-Fa%@8(4FJV}-Z**`MXV(}$|Sl9zCiEW*&P|aR( zw&bCY(*VnT+^Ns`3T_v5`w|h<%I{?)eFeb1 zF$d(Q-x6)Q_u~0R`5=i%#Oq_~&o3M0L?nn(q2eCZG+(DauDD!1>}0Dxl z6L15oL2*4C-Ne@uons#NQn zA_dg-zaT4{l^2F&+r-AhEOzg^K5de(8Uop1B4qOEc}TPOiMGTe6D87lR>q{K3mP4@DAJ?4Mug9J-c^MtIm8ruUUEL*6)?r(`2@EueHB8+9ItIr-@G(lagKV=piHA^Z-+_1@kj&1 zD6dC8U=BOgQ5=(v+$lWpjZqPcxkpfl^1ZC)GUrT!M8jwdc0q<%DM`AwQta`V#dWK9 z)mAbKEKx5OKn867Z+F~0RsCK`1F@P{`3MZ{R7Aty=G=gA^!min7FVp&+9c37x!(T3O8P3=z5e*JR*e|7R_K zdPxL8Ki4Z!M>W;AREIpa2J?lufY!nYu&Ib7I3(#)q@Wljcp#6j%+^StLPRvQ4Xo@b z-85IcD9-Br$Ot~hW%RvBD`%U=d>8;%%BaM?dEo)F0sh5z?u~HOwbdEkx;kOdJr4V4 z>vjL0&yx_=r4L*%yAS^2i8}KlU%^-JJMBUW0nX^+{V6EEF-1 zdXdIyUK?zc6J{5(ys=HTVFyl16k6F9qv$x@zO)0>sJr-ARXv+Yo0} zEjitX2K?iYQz-#XREnFmvxvtZMhW{i^tC)j4E&)%p_6+6S#Qw&@s@n`t9z(b8}?bU zh%qhyB)wRDfmW|p?*g3StSGu@6sJK#Pw)g2MKs_vbL^fP^|+BqPIgL-Q8G|h-rQnv zaF|`jpJG%P^=$N6Tb*uDJvZ(>Dpm@T)4urQEj8-?dBvvs?4wQ~)~?jwhWLwH!*Uch-3}ZaTZaKPh)an zQ!Y?l7HiHG46S_3fszS9m*rEa3a-3sOC+O%p9p8Uea>KTfsjKQ*2-(=aR?SC6%9{( zJ{~EJ)gLLX^7OKrT@e>VttqR*HWO8hHzvz+-7Tl3L1fm>t5ZKaJDZ~NyuXF4Sx^u0 zuwJ4p8m2#XIW2b=DbMuJdnu70wND>6CsL#a`{L!hbM9Lzs$4o~DQxKd z_DqI1^t%&g^oJA`S13#4`fc)0u~n)ffJj-{jtVk{#DmP)mH!lyDS)O z>Wd3sV-iF`_eel#;Ms<|T$CWOrQoi3{$OVRPfe$y_<56oDt{$i-T(B7jIDb`Upe(+ zksD2vEWfxqH^%M2^+p|%xV;|b7yKzn3p}b!IfdoyVF0Et&MH^Ocefz*W!D&O1+3Tj z!U9>ho(#C$A1_NI2A=)`o6`Pkmxbb7^A0I+cY3@uquP`oGUn&S^RqDGMc0bdswCcEl$J=4Am_|IVMASy?X;R>WqA;tvgcpPrKjRebx~3n7ZsLD#>EOHjgau8 zz~KVenIu4(=e1lLFBz&nzX2*iO;{~*Uk6OQwn(_+TUplZZu^SLk(whT)w=s?XEZ=~ z#EEb;bY|62JlC7h@^i!G(|bO_1l~U;i$1w)aTazR^=r0{?R>HoN=QAWdp%A<3LtX@ z&0}8F>ZHaY$i;ijZo2v2IYvEgvm38Va>olF*2<&ylb1XSDu|;x)ha9c>S}dw>y$*Z z9^4=UD8swwX)qLf>ee)B+PGwQ$avH?}O-3y#HDaOnf+RHRcusg+nym2kXmCDue#=)#m9Xo+= z@VVQxkg~U*WWSqo>Yk($qnaAY0QG`~kBhSvEWkY*>_~*53h_2zuM?;)DbFFX_Fj=v zaTlyMdCQg-b&a_ASTnUH_+f}qqN#}{)qEvx&Jj#&aC52x^1vdrnkBZGu!Ud{1UweX zgohJ#vC^KAR!L+MNsU#SoLU)vIU3OaSF)t66Hm@fq zK^13zwye`NJ>)QCo2#Br0b;h>+jIbJF1f_cOAVjS@@5xEDj;6~ihEa{E4@mB+k%s^qG>M08O;NrdsgD{C87 ztTr>&K8R8WWgy|1{w8AWo-xR(<1ZQQDP7}DjJTRO4x4CNnB|nS{!DP!=Wj^X3u(j~ zdaF3`RcdI(%f8pW{qvBwo&lK<{nT2b*sQ05gP=T43BkwnlSQgBlY~U9tpJBGw0_c> zB!wu_>G?^yos6FzN|)wrohF@a9Rrd3f5=i?sw+i9^+-kvYSIotVE7crpbLE%53g2D8&Zj%-gW1xenFooSaIhqTj19({*ase9_e(G}{x z^XRtPy&NhEM~~ZLt4HpXZrJd`wa8TE@Qc+hxlCWVFcRc`f7aa$~ul`rc|s~qtclodcgW>VDpP|FfZU%4DGhtfQxgMgai>i6Gx2&e zYTl)vSI80Hj<*A<6F&hNJPyBj{+dJ)t4PagQ|c=dz=Se+M7ENquE(U&-k&wYAVO*1 z^8}JK*dP;Q&AexmiXH?nX+B}*4$`~tZ;RLMC45%tG%+NmuTe$Be(cmli5@n6Zszz@4{ulAan+OQ)b!?IwR~a=d+CJ()x|%7+Q}G%` zrDc?7@MuSvOZB$I%X>w`C;vXP5a{0Z5-&8*dJxcr|DGCe>!e;X2^HZFJT}*s9&|<0 zgv0*k*Pi={*fHM4Um!31GnxRMd-RIpc6G*1s{uuEgoKss%T7Vcg!3oC4Q|Oy#A?{k zTe(fWc~>$dCeR|fO&NPR29~e?D;#s3PDM<3+?`{&i}Le7P@lj16wPIA8YO1!E>53b)jx=B53REF2Qb!%;z`oSE=5V3)ymdBe@h)yza87a?RXxWHJ07Kd$GFRi06Ba*k4~qTaX_qa#gfaDBXP zm2R(1#VdNNXU@(xP+Xr zUbA1^re zMhaLpQ7`Fa`=>bcisU82@xnprRN_dMtGb`X?Nf9we>@r^cx6H&po0E7t`Ho06jflq zx>)9`C=;J4u2HX8EQot$j8(0hr*FtKFb!p*%v-Zt_7Evl-C^-kCbC@9FWXFg(|bu> z_n(_IE2YM^KspHAWD_-rZyQB}m>u&x0@S^04}U5z{b?1j04+#*6l$KHY>e{r4TbH( zvPL~q(nl7<>)wg)8KjbF_6N=;%3MD&uSmH!-Y}i$f16=5cKyD$MaH}9 zH`kWw`QtZ7T*hgS0KtAOiL633xJ2?+%Th@Wz5k}%M{g3i0AGW?82DdF;PBG*%wV>f=9d8@~p@jEZq3E+ji|8|} zh$z!0c6|}H*@r2NzO5}#KVO{Nsr};s7-Ruc{`ADZl)vRFL2I#n{V!)| zt_Vn@o%;0nD+Jg#TeB_Zp4TSpbhG*s`E&Pj z>00uuM#P&>RS!IrSE3%i!e|-7aDc8xjioF5Qd+Yf_V@sa&MlL$de9ZR1`){EkQ`}B zWJ|59UcZ&1PPA2dVHM*Z;y&vYTEB&mu@8+D>e2e!;nm~bfm<*Z4JCJFvefEDe^@od zMjqQ!rgol^1a>#Jqyutvp1^Zf#u))HLOZI7a!yToc_G4(13N3vw5 zQ%8&C`&?NW&;*gPA1{}RJEMu@`UWM!!^#(1=+$fHI;hXGPmD&C)Y-q0yEo73UDi!m z7jNz_ww=@fV(4j*+w@h)YA!%qUNCULX%P_n`{HE12r)xHUT81F>n<8;RFqMlal2ME z!izw4o995|%2jH{)WbK9g%fN@xn8b>v=2|%hAmN7Pvr(`Q6Eu4$b6l~Yi8V#C@nz} z+$LKd!vmA1p4EqcfRoi{Mf9RS`>)RZ{GXT0srmE1JNIUW_SqM7T*_bmo151}%qY6{ zZhptq>NWgO>3IJok%DNr_>?R7pLg=qdj99tcU{Ft>~(*y;D^CwZSoXo>sB;tYU17e z$36UY*=da3p;blAI|s3mH0n*9eIviZygq}!{7){wgHI?o@6u9H^YN3a<(*p5R8F8A z{rbuX17e<#QXZE#VP%&4@)jB79+vsK@5H>;?1=s#o!8 zul-)FAsYBQ2rxy1Gw0nSFZ?L(@^Bt>FaL92*nTfJv6qir9Kjs;xe?=b@}XrsJeW15 zmd>+1Db$QvIG=W`@R-M_agX{VPM^$QaN2D=0D`%V2e{9lTg9z+4O+y{g8M#PARl~g z(rG-@9lc5(@oWh+0Lw6y;rj)baUKNh27Vp9dXk90()k32;097YQJj&xP*p*53ECs5 z@T~f%Kj=Z9+wDuqF~gUxq;togGvETwiO*ppzaH&~1F3A;vz#B-dk~=LDg`OE0~XkB4W@UMHu1XZ`h1`u2Hq$TXdQ0+Y!fTU;l< z{;cCl0oaZ2tmji`nk5{;UVXO(hDzI~AuvW3lg*8yoP-*J!hwPt|K}$v_{*Mr`t`g| z+4G^W$%0peG$Xy7AR7F%XA6e|t*Ji(0f^=G>Z8lATSRbwVC%K6)Yg|qkDdFnMk}+uXmo2I-l{xbs zhSso^9H>TpYQ0?b{8KLD0Fd{lh%MHE!v}siUdxZVcWj%&Q~ZtVowlg=Pu@I1#{=(g z;LRLhA>VcXca!i0=yf@V`E>V0h5YOutw7Jbwh=%Jn+IYkA#j7ad$qPGX2~Y-;qJTe z8X=!mEtX9L=mo7Tih)fyBx)YD{{epEZ@Iy-nMqm2lHRKzj_{IBvv`&FTgN-)drzuX z!}LzDfju~ncfefeGo_&(agTIzS|~O8W)hSwmTX-Vuiz?3?JCtN z7o}%G2KV(z*Xv5bci0I3r`yf-*<@+d*Y@8Ysf>mnuB+B;ea^g7v7gU4!m3~rRNE5Z z7UF$Zh%K!_2S@(zK{@=KW0TEM?2u~(^XH#pHPERyB3VWkz=!B^w3Y+jPw9y^3I6Ls zMWT&sqByGafrkCmvFKg<&l#gz^aXD$1E_u>6Fcg~B1UZts7(f>BR4s%da&|fo~({Te$h9gYWsu>|}Sxu}7 zc?nRPk4|vF^`bd@%Jse%KM?VCd+1In{{MURT>#hor|dp~>g#F}u=nkm;FeQ9)1bo+ z@0}a*Mie2gI=qRjAxx0vcerWgQEZA8P>c7>h-3LK3Ix9Qzxq|8sKhDK&Eg1TD=6H1 z6)Yg?5G&~iSdNB=2CytxJ2l4Vilj3W|I3}#DSO4W+6V6gqIcG_tUWb4FZ z%$n4ZIeD)B(v=H@+WtM&DJ8L8YSq)}IWbWd#c(^Zu$1`ZEFif(M zLYybHMsmtOCQ8Lh1_=INg;q$ie3@3mT=(&b8ajvX7XIA7D^n!|nlTx+oVEDw;PON{ z(=C>h*-x#~yeJmw)JTdN{8{NbW~Mef?PB)QfmJdyStnM97P6^oX>m%e*qc|PPakzP zgoB_XbmJ{vh+w6cb4a2f>Xlr2CI7)v7aA@0G7#3bFP%!=9X=r0q$}rqpauI8$fHi+GDd(x?o`V(qrBA?7tZ%(^W@84@{ z;7zmd#l$pU-{qu8RbNWTfyjd8MU_vU*c<_>8;XHdcy}9ALG%ZSeBvspOnm4SND2Ic zd_1;UCF*-gaN|$vo-U!Z^T9E&+=?}GI3sdT0=HY+&WjXKL4G;{$bDat5E}B6x7mHJ z2Cm!?ItExItw%H>*1e+cexzK0n9%j$*{={e=$io?KJ3`j2_yADIIy14ilXkf-Pq(u z5&G1Nc>{JSUe$}^v}TFd6_=}rj3qiGT_!p=1nxMnV zG!T4Vfg&VwRK)bzZ3&*%bpS%rm74B6Dwv?nfwQx4)G2kOtA}}#)5V95Cl{o9c zwcEfJXgBh8%ATZ68f4>6&)sYJ!lR?h^xI##feX9ogA*f=_nrHSOVkq6;-UI*v6a4G zFcdH$z@4(FeVF|g#zLlJf-mU9&u7pHmr2n!{Z9vr7ZiM#Zlw7<#=%^S$_j}$#j881 z7X*3r>IF`Qw^y%=mv_>iIO5WXD=q@Cao_n$1j7?4r-hZdn~ZWkb+V*7!ek@j7B-$m)Wz|r{aUqP03CISG zpSr?4;$l`4Ve3JI0a4@ALWdjt)&H5?U3;;&>1>3lOH8~`;aKv1+UDGfGp+2 z(XKkTJCkF#{t4M2>hPVT=BrC*Xhr%%Z>)ja%n_c$Z`#hWd}?|oIs7E(>gZ8;G$#;B zuS)W!OC}|G#rx-GDtFf-tV`R6^LTUW8x}Ab+p|_zXTR+R8wre#8|@)KQJ?B)P}u zi|+@X_Ut3laO5wRkp9PK8f84@{pT_$hyTpo!bHqZk#fn+2O89m;#!lg6iv?4)%jmJ zeC6soK80si+oZnveQ}w(%HrbifyRp;ogg%M!ZrsTb{Gb-1eN(Y?yl6O>`4)WT(Kro zP37vLj7uTU!!R}$d8SFXOP@tb4y(;=FhBWnQZd!*q#@yo#X|~pHk_aCR8f*SPsp4& zh69W~iX$M+X=k~}SnLFZhC6*6WQB{9ZI*x>K=sQ{%9NA1T!CD}o=m_h;pa?xxvF6< zLRZ3@eiWnnH84*IQhb3EeiqGYmV^6eO}4no><_IH^44om8vgnRXLD;5Ub0Ph z&x>dc45|A=GjlnVdeK_xfOWioI_1J@$x6D>*QeVg_IF9T#PncqcZjF|6dp->Aj#3|z9|mXZwoS};1sqv z^u3H-B4n70l{EEnQcSTM!aF1~mroT;*8vjcLQ@%S%t@NML{PNnUJ}5*5vh@AdAzQR z+FG1PVb+oI3_M}L<$v+J<3|Y~q(|6{42tNwfBce6n+^_Su9W%TM-xcEJs)b7(`yjU z*rzg32-`X7)B3zQ*}(3mty+lymco-e<`_Y~?ioWfzV2P{FMu>-1cFFPTF(wUk>is507jUdIUJZOg$gqDiJ z)s+Z`VIx@zz)-aBwbl(O9(n7l|36Ivj#_RI0e$?U;&xrzbU8NculG4NtIuD7SpDUH zTO58`DaZ=fj!dU?-zB)&IZ8HU8Cjc|PTbb@^2I66jUk|Uq`w!Wo7j!*!iQ0qjh!W7^_|QmKXZ!)y0kK1F5+IF?#R*|~{ z=kY~l^ESt4ICdL5Q+u4ewQZN8OlJjYrzleBnnF*KguxHDebQK;zX zH4R=%v>>U47|WR&cLt&;IQPV?soNVrix+fKzpNKy&QH9PfJSbZDhLQa$A*C{oRIqG zZXy_ud91cg{r6gQh1cy>3BeI6&AL?Q|B|*Po(q3VU=)25UhpiEnY0#wxTG8KL;=Cs z-rnBn5|Kx_X2lOTLW;NmR;dIOY&q(8NyH}ZAGbz!$%}>!%PUZCo@W*4c-tgp-G6T^ zFXTUe6=ust2|4w2Ox{;qDlvFncb_S9xKr(8PN}4QlKhffQ32>bFbRByBR?Azsfp!F zAt2sPqC#98pzmJSb##N;P2+`JIFr(q*M85IFq}z)ae_S;VmX-YMnyp`eO4u&AVk11 z`Mk185+|fw6XmS38Ad8Cs=VLjDYR@YG&3yCw1VFg|SOkP$ z6s3om-pCRihaoRek+~!hg0<%*>xAwyp@hsi8ot_5gyc2k%B2phEf;|l@3&*OM zzmy;M<(8V<_cmHd%J0fzUN^3RT1;?_$s?R1$?sc=@TS%vx#3Ki#8{>65ABBG&CTY* z8{<|y3zFQQx@KDFq1dBAkl&pP`x7_=x8i@B;%{&?Vx74G0og*Kts#24nIRyJ64J+x z>o}E=dFP8nUtH2@bcuTRnTY2hqq5NSsg9M>2?jabXiQrIw30oq(h2wg9`DNYtTwv1 z{?6@tww`eS!DEXZFBcK4(cR8d5Rj6!Dx>gf*UU^K%M0J-LU`fD_38uNnS7*j{j364E+bmQ}fVD}^cT zj;H2YX0Duxb*8NUR`Ydx?%yan z|E=fvihXotqF%Khi4)nj`@bXARA!eds|nk#THcs_iUE63|E67Kk#f|4?^LrXm?}L| zJOj5>sxP%#a8!7l{5fL)Uo(B%D51&x@8<~cDHS)~i-2~EZ)9LaaQ6jMfWP;}T<{St z=*g+=trHoIs7`sWR#DF^6l=(z#O~)V>WsUy6}mT&(mP_w&m#7eAy@Ec_+@Uc%i?2_ zT;jE#wCbpr|E>&?^}f_|AW1ig+xFmt|k0P+&c z@>#dLN(7TVqadR*nxtBT>>Iz-N}18{au&J>UYMn;!&ary7bE(>VBt-#OLLTRWlcIC zi{nD4iSmg-PK|Cl?b31U-uVNt_5PtdlbP5hB?ti&k=4rhw8ynZ-L5&F#Phe08)X<| zhc~AcHip(Ef#%omrG4ETJzWz1?kO|!8q_l%hW6}>-xSR;{IpC7E7qTsMlSc3KNHB5 zk!K|M+A;MIqWAb^PQi$}!hqolGo*8uQ(Lfpzg^h4!J5V%+&?_BBatKX+sBDevOQ;= z<3)puHr!oUMQPn{RylTFN5iEHbKC+AmKt^g5tEzGN&>M@7U12TKGi|mq?_ahpWd^j zN}bA`wq5t;E|Ujq^Qk*Cp0cCWLIHf+iMlf;m*8{gBab-&~#EybwJEsRW816r_-)RlMIHAraQ zZg|YT>R~uBY}rkf~a!Zzt46f`&ujFt+lmg$ud}j_~JKZ(os0->^O~vN1d32 z?bdCVMKq8Tr&E?nDZ2f?Z>5?&?71G+_3u0gJls!ZC?Isf(2J=5ez>*JN8h~8DcwJN zCt!@TixMU!J%>x}q;k`75Ds$8;@@|aCF_X2%;LE`9U&qThKG-NI|)xr?w1=ZmS{~V zv_^Ecs_3=8SnmG8zt|UWbh3e!ean)l%$+-vz_=+Eua2o*ZkWZ?ibxvi7jGXng7bZQ zvW4zL*i_S#_=fnh%J*L+};8kqPO^peeZX2oI2ay`6ah!_*84O`y-u6V58)BT)Q)%!AzSO|Bl)?A9GD~-l}L^tq3Fia8z&Bh-{04p`hpL{J@ z5{0B^K-u0=&sfd7tF#8SY9rFXf8>8g(2qFSTqD&-fNnMEX8x;80o2`%?ZS)aKcZFY z;hN#Oo{u{&;sxf$YrwnRGns+mjeNMyzV>-ccodc(ac&-T>c0OU2f4fKFOehfWdg^Z-= zp%uki^+J%Hx01N}1-+1J!8%7ooKn_=J^SkumX9^<89^6vp?k@aiNr)+C}(^XS9EpV zir>>P@91zgSlbO>Tyy&NNVf zaR)7h{If<67k$GiP9Dh+C-v}VA%Jl|#;JrmxtZY5J4-|;g*SGQ0#RjiXw*|t{^*kc z(0$-e3sHMulVRtJ+%+oWBT5R3Xq9=(3duu!%V*4?w}482|1_hSISpmwfEdOB1Z_@v zFAF6Ny=8Qp`s&5mHqyo8i<{J^>m@>q%on11^3mdI^{^|p)aa`Zzc2z7{AYw#L@XK+ z@m`Y!gFMxSl=r(A@jAQsPtfJxc9jLQ^xFlc1#2Hhn3(4EU|dOQS~Ghum%`BDrv6s5 z?!P(}iDIgYHST}K5T}fm(xU|T{LOKa5K{4t48gctA#FaHdkIC4S) zlAAS)A?hp!idPMy!mbU_cr{O1O;LYXtjqKw5z#WY1RE1fhm+|(70ekvBVX!`j7b60 zy|s<%*Kdkf2>lWIM~+v~1o1^$5k2fwvo+?Q1gJlzpLC)4AD!ZqlO%{4?J?CG6fZrN zRGa}S?B8C=a>}o+t+myM&M;bgvB2jM00J0|rlT2#^%xQc*i#<&ookdboao+H4D%Q! z(jKNYh#sUddtYUwmD;o$5;Y8&d6qxDT{qQMs`{Y}?D#{sBwV%R9xX*G_AJ9bMh~i! zKuMYX6LQ2f{!Ul1gZ*~!6byegTSa%ao`r?Z?Qd1hF@HN<%lMs1ZnifuoV?`+f`1BZf<=W1z{ex4-6nx5lrrm z!_YcGhYykvQ{i!mQf6cfNe8-@J-(J8%jOFsZq#j?!i*aA-2P6s9-mcs`)JEdiL7!=@zi8S}X(Wwpq7Kqh;gax8=7_Lc__)Lv5rp^*Qj&ebx<;~bs32BzpFLwxbG~hQ4co%YE=}L z7Q$iU7GRIipuy>XdK!Cn?s5)@+03aRuOz5A>s<>5x$`CiscV0IuH)(94GVabUwK{z zE`DHn5`OD6FrMFEeWa38Axku*_UkVux#?AfIm!G{U#lu&M?&5I-yfMqVZ&rKdn08z zf^z&n(iX4W_NC@gX^`(c+FqqI=>>weNuB{&AUXdtagydkHG z>6%lKUDx$ZA{38_OH(m4YNU?RmH14jnUc|yl4T-+(?Qf*Gh|t$Qj}-1T*QQ9vx)f& z_BokP#G8+!NiAzs(206{H&EaWIhgCT?(l&WtobX4Wk6xi&X^s+wqBzP)YG;(?X<~i zcuwjqNrepasCYqdb!;V!7M|Q}0p5FGaY9|mTdLVKqV5522!;by>gTUJm8=dMZgJpn zbCQog`;S&F{!|*W4NCYbf)GP0veoiqW|t9MqW@(HU+fyj(J9CEZZA=fUjh7-%l9B| zaCnS5YBF(`8`z=Oh#N}6Y24~-l%lo%Rnaa8=CrPR&jfkC`oa$&)_wf* zYy~~K%hLeAvV7cih}+B1)KhHlamdM@*0A`4QF>qLL0^NG}xm{ z2Qix6D_4OazyIe>iEv+*j}G`NUO7m;^rDLU>?+ccpilTDB^FLQw-0a%3sfgGqOOeIONy#Oxa^1Y)l4J#=5QiqJbo-bT z1o3}*2rtgzGozkQz^&G5q_1E7uhvX+*j<`Q<-)Ec%+O;8lkTG4o%3%gY!>4YeG-)V z8u}btOJM?*ZB?^od8^h&UClcP`5Lb-v~R2W1!&GzwV*6_NAAQO3qtH;{9M@$BX_2-UW%V;3uP3E$3x{gU_>$bb+qX_~bT&A-fE6pus-WE= znyeRN1UCEblLSQeO~MFSriqVULHX(ML;*?F^T4QG{i~HPE>@T5%W< zu^-4QF3_DNmlT%iVO3G4VnYzg7u94aLuIc?vxq#Lt61w1Tuo@iiw4T32l)>NNkB+_ zKg^A(zQawlvka^!I>)@IhttYN%s!6J@&n$d6VDJI-#;t5T2G5U}nCzoz-f;uGTxSM2sP(#BQpCD=1$ zK6+j@KQ!y+1-All<%qpTi?qu>oMv%;)w%=ls?A^|b1wFY^P z3~TwsLp-32rF35i+Y=XEv>vjNBVyGh;E|VCYK@{WL~_;rlxOSR*PLAF=Dc8T|MTM9 z{LHTdt0?Co@r?T~7omPZ7ZK{0f0hiQ7~f}ta#3=`MhFS<8|Z@7W{_(kLJJRDr@{7T z4jY^~ScB#MdYI3co%}>;&UdSbRpdvYkfjIYBlh1+A&Q!>+&3{&AZk@4p82RXt6tr+ zU2EIjA_SQ^FO5t*%1R(a(*H@Cs()U*Z9t(JDWVb47pz*PbkqJXTP6mFQz|hWqk*X6 z+TIW(AhQr5J$7gnR0Z!BHb?9M*YN1y33U72<4TDH!>mTJnrJ+$?iH!h%?~?gOKCe2 zcb^c1pe=q4&jHH`M9!1Xru`_)n;$79b3G%sS~2rVqJ{Rsrb1f|{brts3HNWCnFEE5 zT#k4I+Q5G0Xkn|0TCywQTI5f7@QY+c6b1Y?eaMYtkqP1!xD1RK`=LAm+c#Y=;iM!t zg`KLAQpxc|vz4B--?ht@w{Y&A8K~`jI$y-q$?X_Fdn5VmnM>mpdFnFV38Mb89%q0z zb2{2@VATBLvO>OSPaK-8P{Tjt&3y?uN05wm!}aMpwiHZ;LgY_h4R^+iPLYTnT!=ZO zH8Tg}8|hL(_Mw0o3@L}j56)CG6siwL5J6ui)Jcz^-#G&6KI*%tTL0j>1+ZrD%Y8&w z=C=a``@+#ENS6_^Hi5GwK30w3XV2 zoW0_uqKSaf73TuiaC=LlAy&|Z0!j1Mu44*Ig$K2IR-rvD9i74YMcGQRNHVUj{IL*v z!jW~@4BtIcB#O~8so(nANeKb%sZ+aUWyqiX{Z)y2v6Jqqvr-a2+Y+chFBZ*l(h~0yU^Qd1K}9^qhq9T#69(p(9~7W}F8x z1jcQ7uDXGNucVaM_Lk0#ZdXF}gg=OM{rj`UBa7!b^%6t_4c;%^*$GM@w?hPiyy!@9 zL{#}xVa6Yaa-K^g6Nv`_hkELk<*~dsg%~uR0T!6t3U2vaQ;tLP2zMAKJ@66W>p%)`l= z46X(ul8mS(%+nN0hq0pkNJ=s&$#8^E1!v}!T2F8Oc{o&qk!>)C5I4{WyNRzO9y*aG zu86OhXp}IjmZD4RG@*w-78PDT4ssWU?3*S5lEhLHRNc1^iWop@L?ujFp?>X zr8==luTdz<>(kd!m`GflZi^DsnG^Bl1sZI#A?wr$31Co$uYPq6Bt<|u&6CgVi5W~} z55aO2V|7g3?D#}HzlVC)R;>adkFjv=I2Nw4R$bK^VolKqaEX+Fdn`FfFSzs~4QSQ` z2{(#ieNqIPIddmDOc?e;|khw>QOS#jL0T;3!lFz4UrfBX?am((#?^Q7|o&O zY?{m(eqOAyAcElfCCWTMuM7Vq(1e5&&$u8~6V(dT5o@ec86=0M+HsguCWbRyPwHil zuD{d~=pkh?4@3ZAY7P8cz8s>3gT3MmQ zc>$3mD=G;WRnI}ylPt)Tig{0Kjvr}cq4zV;3-C@9=*p$TG*0@Zo@m_ARtT5Ij)(`{ z)l-*_E>e-rje0oY4x>6>0!3S@)#(S*HDaGaROsY%5OZ^zL!Y}jQx%qtg7(njo?hc%y9K}ZteqpuIMDc@>Vv1SOG(O}0u%ecgzxy+x zZV&5Vr6h#S$^2)lvn~TEW*I*J!2@d*2Nckw5sY@2r=m7q&{_RDh#jOa$g_WZ049`AG>C-`+CZo9&Gr^6P(v-=imTImBA5mJ8J(5r;t1Ib z`|}fCl7w0Q$%0JMr%nU2Ht$2Y(5qh~f!^Fc%D&}Bis7{Xs^Y5>im_V79uNQ%?AA(! zU7jo~62_IWCbrToH&65TSyq!ojG!4j2BRIZxpq|oS+IN%hc@ji1z69e(&h4v43v@? zj<9vls*t14Uy`ibU5SLp)#HHPcNbYTIaj@?Tdb_7mQs!7RJy<(>tVF!9u(65akx>D zA1mk`DU#rdxR?-cB9!=9y!sTi$L>U{Bv0aDAN8rWY*nnTbEHi77oLzCUecw;s*LHq zBL$Kb730SJ?k$jvvK5JlA(w%+k2+IM_Tm7Emg3NWR~RJ^L9hX zgl8Qvo*bWTW&?X=qKYn-Rp&;UbUXfivMP%CVKAz^?52WD?e6oG=Nls zt&Ytg(m+R<=wMO-Wx5diIPr80s-`h>W-lcx}yX zVVd@|mS2Ete`vU(#9F&5J3uz5u^PooOxH)rji1FpG^H?NM#Go8kK_ud7N=G0KIsF* zHIzGC(8c1ji>8+Y9zS(AZMI9BAtd*q9gZStA`Q3Gx%8m>;yDp2=Nvs%RA zyNP$=L)JE_H%2rl>KiHJAr@(I*H?~p@F<>zv6a;Ji^+pZdIt8aXZfHZe*G89&??Y@A? z0~AJ_4UDnA(~ZKk*#_Ny^falx^Ur+~1IYXHITkKob7G=WH$S-#6|wHGES$XLYzvb9 z+kvN)aYsrdT^U64H!ea!Gg!Ary_Rey3R12CIHsXd`se?}${+imSiH1A?J_XaObl;= zrBI~3P{{nN@mdp_{|V^PeELs}9@jZ63xo&t&`MaV{tS8U&yM9d{xcVCDNtXbxo{w3 z-fnX0fLo7bi5^Bi%%D}aT`7>fyPF(gu_sWGrrfRIr}+R zh?Kjj^PYz2o5>C@#!^F6o>YM6lAsIBkDM(XH_F&&t)i&A=+=`!YuI>{VUnhKaFgVZ3NCxrZ;4E)8B+%`XHI!^`$m zsnHktcEH|;lJ4qk))1>UQ?!VMx{gP7;z$eGb>#h!Z#e&+xUQ>xPf}a3yzZwUkIcp(ew~@QVB=D``R@EuVq%hSNC0ca*{fEhj zoY<6Y)6H*sWug5(v~lQRr=kQOIkLp5C)ste(MUYEr5P$!PPtyfH?@& z?8Y5D$1sZ+Mle+Ku$|fvgwT`7p74$SPQct+>52Qu2SDCEU#6M8+BM!#K#=HTdLytO zuBB0?>dmaKn*(k&DvI>ri5Yn<>its3s+`}C>c2}XG-OVPQmZuTPU$daL@P6a=fix# z?JE)uRO$X9##!*r5l9XDhih^|^^d89jO` z0II^5-f^Ig&0{hk`i`f;&cDO4$L!zlB-DDc#AeK?uVNs*h`OjfG)Grdy-)M1t6I}Jjg>qrPey4hQ#?xA4=%TzVP~t zM=rStyo95V)2ejy{@0CWjGsR+0)A^xIYB`8^q-lZD!W&}J~IWl9DycPRR1=FxxtW5W4lWbueZ&3n4lhX$7?ggCR`$UPicT(d~C&j4l z$gBvD_+m;i<6M{L7Nzc7hUnoEmWMSuJXytH^E#tGu9|PhYx+msUfOj|nfmZ{nSB9D zVV&@Uk1~pG{ut4q#_M_|L2c#Z2|KFHxVS6=i1L1gf`a;dkl=sY#VA9kSqEmd=#$mW z5qRMF>TEM&?*-Z0=DoHTM~>ExQ)iW{r%bR~b??{@VK#T?33XkPNYr5 zVZ2pW$Ba*wvG3u;T=o9*|IMHuhdq&n^QZr&)lgn@9oD>@DS%+QErpWo)tj_X^=^pQ zkD%tK-&>b*N~w;!=SwUU zvu4KHNCP_!=U7!ss|(@m)tekZ|M2#>JwQdf)dA;jkMT+`GS`CG$4silLYQFGQ4D;^ zsIEjq`*FOWx%>{)UO*-+b_8S-QUOA`7+~{5}9j+eq$5sbVr7 zLUZ@0PAN0vu4Kl$df=S6oe$I!ptwA24)aqoJYThG!2Qe8s&wXYm4mZ$A<*T14 z$r5_Vk`Qw6cD(8g-M;s9hbtb;W>Rd^*&)k?`I^=iMRuN4SR;Bg0h@f}OKTmsP9u_T zSYqWgf&=I~oSDog2+%*95-k|7?4! zHj^(aeeN~d*#ptxprW_wKDwYp`p7mIJ)-Xcn|i z9c+Q9l|KmV-b@-czxa5_0avYBOP(p;s#hEPWm<6CuT7K?6)K|pLETyA)ab!!M+;Tl z`9!*k=^Q&KZ@aUA!;1LMXWRAob7m3y+{@ei-8viZ!k6O(=c(bWc*zk_G>-|Xx&3bD z*MK8iPLJ%RLYi;w*y5?Ee#rKk6Elsh!bv5;_@L_{J!QA7&j{4F)2+I4`gX0A@xc|M z7kVD9!JwJTWX87gY#TY?VUE@m4Q7uhjnwF2pM&W#^62Y@`cAk~Dp>vBc4zYOch9tf zsQLAO=@3@UcNwj!yE9&Z8iHO|8PsCi*IbrtAb-#^ff~{8O2BpRKddz~PV!Eth`Fl6 zWuQ=S%7nB|C!3AR@IM%tEZ4ntf6Z!9w>TDJ?9=-Vg{bh}@3Cdfer?H8u`M-D$zI@w zPEm}pC)vZ&+{j%p&=aj{Fd$xf6xpmXc~$zacU?qlN_$Ph)9q$vR7OX%L_)fi%OL<| z!+$ggW9v4<&DZ@8(-@(0q6AVTyNnkE3uxRC8$Q`8{9-kUT?|EFR>{;Jw{^dvkI=o} z`)i@@pL22o(67Hor24$o995aJj$FXkPv#0%cSFE^bgieM_in;mZKhU-VNe+E3^DhrCFR6KzQWvMsEOo(oS~7~UZf7V zcXpFLa>GrrYIZUX$osU@r?b9j?7|?u3re|YrQrue&+(qix6<{W_3W+~uabXd7b&<57oO9O-TTw4OLvwY1=v6#S8G9*z8Z9j` zTxRsV`A)Va4$~hO;|govwril@G!5xF`#iIwpL+XL58m3madxe`Zu6oJb#SK^=+QeH zP#58}QHAW_n5}G?CV+yt%sGzdN7ps;UBQJN+_g1ql<@S#X&&!*>=&6P%5wj)D|C14 z7Hl*YxrGdn?cp`VF~wK%1i$NNpf{|pJvN50&!{(&Y+@XL_-sdo9V|Am{g-Zs`wt&*DRIASOYdRF;3zF!DUa^{hk|)S}G~-7z7ccS!sb;q(7yIFX7eb?t+9}spH9V zo55GFN@0BeZs#2uDZ^s?;mz+L*#0A@av|38I;jrurxd3+$9p#bc268zUaS6oI{!a7 zYj%b+PFW-L?*{#$NxYhR*QovBNw8kf*v;mz{+a8QsQ$5L`UHZd*T}Scw4m)2?3N}f z_)lJ>wd&4^UaDA}Qn=Y4Jk2N>ES{fyeCCZtk`QC^1XfiQyb{v=)=6QmiM@WcSClmt zR3$z$-Y04QSH85{#Qe^Oy7Ja}8ASR8Q>HpbyKjTCa1Piq+kSh%jGiXEtI8BI^1oEVcy*PTXYI-~o3Vtf`u=|*nQ zI*HP;9HW$ESeZ;wQWgdhG>Kl=A=UfDKcu3^eQ!Ux^cnTSVjnQj8CRzF^+JKEd&3}B zukW)>8=W$^ytdMACe7F*>ul_dg>iJ#r7`~Cs)LNiLGiFx%ONo?bhpWn{qUc3-WA6v z0}o9&7bOt7Y(`9|1Q6gSgcw-(TV~`c551Ui_3*2^Ggho427Z+r6D)P;=Q%{LY)OvC zul-N1QWQQ9jE;QWh%oW%cA#hP{u0K$q&-z1SG-9zu@++S2WXXrkV;hGw@z_WCRFRI zHqHl;+)FMuLcG<7h8V#yv{63>^1xC#2OcPGnxJ-1YVEr6$~;j*r#$b$%+rr3uTtNf znd=bOQ);8#U0o?l0zlHG^ZAia#yS|I6_-ipQSHi99g+FpjM_?ZN6d(n;99SVfeqgR zbCo}fktHY|L5uBAA}YAnQW}9qVaRDvZk8NVfFz!U+B1sjt=O|bY7O1)he8(s)=m?3 zeiY3LDxzhr*H@-$sTY`N1hlI?a=I-33+`RD$Yl^~Ew7n3B|8a;5$yIh!;L3ui-^lw zkKQ23B)ohGjJZpl#id84c*FQFu)ecZ0#|4KO%=i1P8il*Fe(*-&$mrrHTYO2YCD&i zbyLL*l^7|nfCmx%(Q+{!1WKt{cSigT3WuM~$|`Z^-*GF-xS-4au~Ect93oz7^kb#e zk*rCLf^Whr&IQQOe4NBRrnIP0ePB0o8`eCQMQ)$@hZn{mMM%Ut9|{;*k8IC(3eFjo z#bTtT__OP_83Bv^-e}YsXp9}1uaBd1d%z5c47RK?{0OhTVDD7v;$&w##AlZcTWADS zymi|jn5smMjLPb`^21d{F<*}=X27*p@gPH1%$)n1K$&H+7YA8B=g`@8>dBn|1MZ(u zjR`T&&V$>xyrDI!&Mju$8G7`{db_C*Mya7s<=OwGI#;#FYS}3863jdD-6KsM7NNqPfjo@VG=@e zt(4n8wFe-^l9Tu$VN|VHY-YqE7<8`D2q?@s1~)}jZZ@k%im8V?HQHUOt2WDvufV(EH3s}c?5W{K;@157egu+R$E^03n$^69HXPC@n}&J~ z1=4pgS?EH$ct(9)PsAB=YSD!{=ftx{w%GS zu4exBS_HKyNZGs12QQU{|X?U`GL@5($nCO^4O9ib8qoWjBasJtryZZgsB^n!y_*?mE%N#%0PHP48Vg0F~qF%&hct!B>hCl zw&V=_zytbgRm`H2-YEn3y` zme4!=@zL3Ur00i5a({7$vmEcGucbepNT`<9E$t{Tio0_@%pfGhBc=Bh=SJgFN);KZ zY)$Q9w@S}UX^eyftVDm zyy9&e0eO9nc&66z58LfTYxhotGdj!C68ndGm@FKNh%E#nf~mn=+ZNe%V!y*p=r!o} z+m9(2qnNS(px>htQ`Nfr;7~LLgGYwHF;>@=x+y#fD_Uz5&6`Cc{<&65F6fHY7eYnt zgW|!GNvw%fm7aF7?yQ&Kg8Rk2s5GwHZ0)PQwK#=JIlg;gP4?e?0CchZFd<*QF01H~ zdF2k~({=99)yDg{9W-De%k)8^#?Nh9!!0?tY&Pn!%ijCmE78Msn={3FaPIl3#&|S; z{53J&F!x?Al;DJyWWYuz$53uNkShXMA%L@Q0vLywkQ#{MFhm4pFUT`yFpbRFK4=Oc zsoYY@i@=h%pOuZ`N~1oZtfUZHZtO1JZZ+>q7|&4llhzR}DT4+$%zZf^A$o0ZqYY;L z?Z-`3YTXV}ONjCf_?IOk!9HRO1uNe@Fdyl`O{&(F=(1v*<(ht}R=R_40%g?mCnK2_ zhGv}}oV^((NxWJhVc^|{54b$C!RTVZ?j_xgI;NqXiVUjCZKiBK31#Gx)jYyrK&kc3 z4*~~jEX60!-9uhx?lcHSG!#@VTVlFB)YofhsQCD?O|5FxzKAfspN9MeyI640P{yRw zL#_ZgtoLsALb*vPSta~4!BW$Ip`C(f&oa_|1eN%v1Q z4H#P$2jj0M2H_uP)=k&_TSiFWyQw(et_LlPW+w^l!HT5EAfv0jC9G$?IA13F2DOJv zoX-i5%QgrC*_LF%@*NB~(fJonWw$1p6EO(3`?nm=*tp8>WV=FE77GTie*_Kjb3CB> z*P+msuiy@xA3jfU)EkbcDyY_oRY{o7Xkn>wj~9^(>&~qi7x#HOBn|dlkL+T0a4^4l z1<`^yFq|yoHv|77@_O4Ja{WIK*L>aI(~+vwqm2x{C+E8P)K~>$a2995$IoUNZiyaj zT_S6n_HKmTFqyo%I9A|A{FP;9^Yvm5ttnP_-6?T>xAC$pggo)>3?J*5C(}&`#e%w$ z?TZ0+b!U;ilAtOxtQi82bOeu{ib`lFLgIWuL$gTLrtVXV)OyyyP3vwe(rXpG54HHAt?E?`(OT_P43*J{kJ(Um7^Q;x0}-%w`e>i6{Lb#VtgPIK-a z8r>3M5#k#>{3A3AhaCk50+x0twh}*;3x6_ed#IP*r|~aCqb!=@i+kZN{Oh77mAQje zqD$osejO^VCp?njb`IanrMoA*E28|t^%;2Lj$61jTp2A%>BeO#D0c7|qZa-kqtViz zn%7^ADu9D@3GZ{!iQ;IHAvFEC`uX`7(cAa6-9*$U7D>o7hbkaK&y(a~8DDs2AHLQ>XgvX6-PELfch^hc@fV*X4F)A@#;* z-B!%)`b({s?B>_33lv&=@Yc3qg^um|?b zbx8~&2M^$Pwe!9^9^a&>Pad5LSzau2wEsUs1BwfF{QHGn7c0Sh-SUOqUdXvi#_W(s z_&oL?;j*YZdc%Kvpo}_m_j=#ZNtSi=g66@blkF1SntL{!k29vZI^daw%lpL~oqUjy z>=Osq4w81Cr|ufg3lc83>%|e_C_q;RwCGvJ%U;}@@OSSeyak8vJOm~cLYshK4 z6HSAdD)oOqZ>KA47fOX~COtbEu)?stkZIpMjrn{NjbnYLfCH27RV1uJj zz3C)4>IlHrum9KUV!ZotphXzGtaT9So~d!2lkedh!t;(Y(uXrLpTln4I2c+wc zu%X18Ydvg^!40V<(x;oU2=iM%rrN2Q`b$PuL@PfuN~+Oo=rI zaPap?z9#(ZmsGv3Ty+{iYIVPHQ?dHk(eQ2b?ZQ+CnYpxJYU6h4UH30%%>X04FP$Y{ z_HCrq>Hf)Q!WPz_nw;pGF`G)%nx0Z`8YHfg$~S+&>8ZkZXDX>v`VlY)HkWDbacAdY zXO+RX8(;Gp^ytu6x$!7$#u#wkI+#DThFCia+sXtw|5Qd{{P@hs`4kRiM#7MM-t?J-CaH^x}<_*%qSYzIO#5v#$RnRYN=K zLJp(syflwg-|;`5;QseWLCC>BrV31t$=kCRk5rwvOI!C-6Eidjy}3;0j5+VDNclu~ zW1B3s_{CHUOMbr0RnF)tLsOnV7yxz7_=V8lFT*sLFn5$BCxTuje5pJBIgevZ{9F1I zl$X2Z>sce{6rBBg`=9{a%?-1w)j#jSO7MTSC&X%0_Zm~#Hy&;J^a{bUhx^HyALwmY z(>~V6^XaK8)mruN?!~if)qFBlt1C0AW zjJBcjxlNIhda_d;QdZQa4m&-=YmfMi41#ii>7OQIVCdMp|0~UeRA)ZV?ZM22nOh%9 zs@DBwj@LmK+0RTbQk}odR*F(T7*yVQ(F3M{+%G z-7Q%R&3>hw<*NFj2+ec7Jc}mG%kbQWD>+3C_b+XluI{tkZf3VkjCFHv_tMHU)pKtI z%%V{vj86R5+S4IJIHjr3E!1s+yxR2}MAiDY{6=Lb=_(UYi54HuK9D$I*)*exd53-N zE@HfQ0W|)OYxup@1-M{mln=rUv9_5OQYkjf}PA0F*L!NivHLH54 zU}m7pW|-t)Ov3$;{9xPnh_?0oe7lN0phn8om8nN-C2@cJ)hlC-BnvKq`GK1(hED5g z9Mrk}3F*v7W>RTtdI~XYYv5;E#9$#=K?ghXSMIovvJHfr-Xu%0eK?V?eR~=fnd5k4^nIPsrZBjuWB=llZ9wHkvwfCsRh??4 zyQ??7YE;00?+h(0lncKC`G!Rc*UOuu4$!&W{;G1UpO}+q|GI zrqf*nsK34}*U3CpQ!8dc3oUPS^t`jeboNvKcV?HBZ_gt=WYnrDir6VDA zc&S-4fzsK<*toQse@#MiRYfeMYi({GGR*rCT!r;=L4lo!a``Vk1r_~2e$A&<_i75$ z@n&}-iKt}WfSX39gL^;9g7I(7&x1h&Wx9!T&sX`TIAB*E144iO!1Hx$&~Y~4x$rV0 zA|$hFk~kw9%C3tgnPzh>1h+npkxeXH$yK_s?X;2W)*96aL9gBK8|kAdx}BPF_3-c~ zO=n-V=yRzR3_tsg+|Wtuje63`3u@&{mIol6^;9d2?(Uu>Fs!AL%trhoS0Suu261)M ztzt6<|NN=7>EV&jc_8D;1sQ~Nah1`EJ=Je{AfG_-<0Q_XYey&iyvoL%!|!Iv<_A}l(rWX7;l^f{SWz~bVVMX=#w85tK0xl)XgeU@jMXf>Fhhu?d?lEnJQhdA6(+P4OnW>>3&f=z{ z`pG%I@`O6GJ)vwf>krezBMeqz>Otl-5Lo%}wSrMy^s*6@$sOlAS!o>S^4-dZur7MN zLBdpdvb25}Y_1_m&OvAo=l5!uGdk*rRHz4)hufSP6USG#3^W3K{yUgXpgXV5N?Gyn zz1Mrk+GezJLg%vkG~{RD=9JI!&8KZBrCyC@4ixpU8Ln!*Y*x=@eBw=Z$BZDxi#|74 zL&lA%b~v^qRuXsKn9vlfWT4JMqmxC(MeJzDK3!sz^kYguS*ljZE3e}J%lw+SRkwR7 z4{_fgEft~QMHWuE`5B3k*A!Q`>U?ZNW%V(&fKB+ue~dPh zP9LTf^2o(o2?Xyw3?1hVJ~mf7qdHcBp<80NiiX`$r4}c&;-oWpeji!9p^SWj#g~a@ zJqDTjG#SO*MfO*stg$*|FC6$2tmuCIL$+QIrfg4D#Fe$T9m$JvQ?^6H8Babs1D9A2 zJxif--EJeWvBuk^ge|&o{_GZYZaUSjT02Th#;Bhc<(lJu``IVNs?}hp8PeP_XL%|T zC|KmG-465W8IaqFxS}dy;8;eW@7p=}KdhjX} z6mjydyweU<_a>9oSnds%3nTPH4tQ40ZLtN17GA)H!=)fV*XXd6w$WG%JZp%sV*MC7Q!SV6XbdZe5^{ zE!LIjA1x4r#O8PTd+inmBmRyi3qRg>d<-7To!*_piLvY^T7*r4gOf&ekBu(>>1LlH z8vrOX`F9oDC-pctG8*D!gH+7 z{B$iGV?BD$>{?~KX&tO9jR$H?s&b|2REZ=AxrYnaI%r)x%{C7MgU~W2BM=i`NDQ>Bp15!C_8J6jwf3z^a(_3SzN1}TF(AW%Q zitb#zLF{H+RJ)x%iZct{`lD8{Fk*9ART-qcS3!aY~jUQGhNhq zRN$ZQ&n02hNGF#YRWY1NxC`N1;0T1>bprSZ1m?TM8N%L);{cxzi7l)jhjPDjO3`EC zm}{YQ^z|6CPFHt^C?&v2lJG(Cd{`796s7R;6vJn3!Lb8*cjfE@Y>U_xI&Bg?hv#Mx z|1X~0lvY1`Bp)#Azuc=9H#yZo=;0Wzju64Eg(j7+$6z@4jddDKHsD*MX)F_dCS`cR zz5P@*ajW&r#Hi>~hKycoWja-d4Xl!54&W^0RjXj1$3tdw59LO)^9F%=4j&xWJrmNd z#)rbY4l8oi65atFMWb!rX1A{*Ypby2n-!~@w`pL)5&x#z z1*)=1HTuX@oJ0j35b8IRX#qC&M zPR`X!e86^Tp?E#hA)bW@!Qp3Rpg>#3gO-1fGnkEMZTd}I5#^}ySw79Cv99ikDm_-G zhmYNE7I()8u@w?+huUyI26h7zPs*gY(0Zp`+N#`JR|>;9`p6tekSz@FoUD-=sftzW z{$FmcojBsBYm&N=yN>sdE?Wm@DLW2=L})?oI@A|sVbaH%ytE#Ee;HcbS-K=&5l2xS zS(Z*T^o;TEUKtdO&cDiQjDst6H08J-M5k~A!q3f#P_V?^|956|iZ@MFz;iQ-TGgG0 zWkBL4H`Ph6@_6_jdC}nO!&jyP8YoZ8a@_;}gFYty!S#k)Pvktx$@_3=SWzgzc=XuB z>0CuLqZjmYH(V*vVeuUlJ^J6@MP14jr48lkn(YKR^j1++C>^7EkZK)irmI!=c{6zl zsnD16(EWh@iX64i3&~W!khx!p4K6oKBqKsOt;sx*&QkiQFRGd z7(VtUK5xYQpidC5@b9U%wXvbBjFURIJT~wenbY%u$c}aEntFBp#kM1_ z4_z^a=!j=BL1S5StZG3q*QK1ZDAPDKQ?Jf4!U4MS+DTfa^v=~VJ9ztXF}*lkw0q%kiQo=(&Z839B&Z>B z9W}n?g-oD3tkAGl+M{5a0{!(jQIcGLWF;gHhQ3DPGbk}@&exq)GDc2dq@^g~^utFF z$(M|wp?@z#IJ%%DQ=wbisP!JoJiKQ)zq9$hRHLr!SpzKrx@?#D8To4F{Or68@)5_% zL)e>VF6vMoDz!3d!w9ch#sJhYpLckc(hcN$A>4$!p{2z}(YUxn*QMZldJ+Cz_zf6hQ?2_$JvaY7G`F;{o*?E_d@$9(SzS&8hh0bC>9~*bFz8pi zjgk=wt5>XD^bTZlw+z&(X*4@ETU}rhhktsW?d6BE5B5d7SdWyuu`P&dc(oKKe!ydc z7n&rMBQ|53s??b!OPOu6Gq13+dq~QXUWu=zQ5akhr!(*1TMk(VMm(KEASyw+!r@MOY(A}&+^%u;F4-wgIIgf#Wz1ei_I z2ZwEbx2%o%y-RcHxMdIhJyB1g#VdcLD#eSk8};y)S7z6!C(ZK!@c}We;llZ>z*hRf z{DgBnUVOniqZKs1Au?)?q=k4t7$>NjAwDr0o9OsKpBM@d_qyY8);p83MxKaXzKUZ1 zS(#eu)tl@pabzacs{j0%LZ&AF3WJ0%%;pT?BY|BnE;NJQtkyfH#2T6Q_$=4vUU?kJ zr?A`c7tz79bdpgwiGc}aI%_SC$pm_o)wD)Y>DfBfI@_#VEPy0&K9DNUZP-ISL}2_T z4eQ~&At^Z6a}S7BG1tij+OSvz>~h~0%J08^!lM8%h(g1$j8l_+ zQu2mwqRuR1;d(!0$a?ZSv&vSNe2?AzXs{vpMzi2ek_pPw(R zSGH1aSb}0*Wc2@+snV?>Wgdq+AP0f4rENZR-4#Z?#mJ;{N%+M5XX_7^_gyXXzM3AYB@Krn8xwWxOSKYhKrkli< z%Qwbho5661^Vfq^DGZyLf~x1YdG+G1iwPuwj4p}(Zqn7sCm>hW3sb!YQ4%m{H2d{J zBJQ^FnWlsj2L}MvR4pZb6JZ9+mqGXVjYd1J{Gih$AV>t!=5syXOttF4Yv<$}8Jl%| zCKB&H8_q;3%Kqn}8qWEgKYY1c zrbSgQF`K4I@Dl%Zjq1S&D?|CB=%IX7qGTYW3jAGW#UT{d)#OSTbhK0IR3@4A=O&y! zWwnLVA^TykPc`iD{;)`3kIA5+|8q6^k{|)hF21-Gx85BSk0r%E_hV^deWtZgSNh*) zv>r^RY|M^&b#awIDs#+3p2X2&V& ztUtBJt<5n@cNU&)^Mnr~gIEmaodEKe#-awj=7l5&;{X#niBfSQf@;|Y2}xv2m}a~h zjud0Ei|EUjlVw7V-(!NJE?qJqsm>`x9J@{xjtjz{x%_bS$MpB9U;K*}t1gKJRFR%T z@yVGd%h)HZr;jsk>T*V#kcOI|^Pdg$Fn#vzyiU z#fu#EsPPmr`~A(Tv&H>_Q3+dMG{p%ZezmcJEa*5H8fv}#Is-Wxdhx~9to@8y+KSrG z=6(ucO@{ui^RrD7-OeRhPTx&Za8TX`V1^vQrcl-pR?aE|fZtpzM1J@$V#E_4*PKLK zNep@a;U=v`5H9PAj>W2g6EleGu&iAzhMCsnnsdITrP!A1V#kafhr}D zEQuvW#~AJVGd5G0CMyq9)j9&7e`x zbt+;^mLt_k@yp4X_EkD>EG99MQ*?6amk7PAnyOeRRe{ z(nvQnkYOh@)*vxuCViCE5!J=A_X!JslS9?z;|6yQpY~)g_U=G;t zAXK8IELNG&OYntBGdGY*-pgy0go%xcD?KUGCDCT1x}OAdG)tWH*$wLM^Jx{62uO;9 zjjS?VL%G3h7@LR^;GwXO7=$;^G^}DhC>d)vOUMmiX6z_-*t(xR6vI`xFo|S8f)uqe zasg~bea7d=II%Vy_F>;_i;&!_r-U+{umTgi^MZnnL|0MFN+fl}grI~`gFSzr zZZrR*{ncJ~FN zWV~3Z29rRPe{WCul7TTQsB(Gm%n2>(AHNpSzBEb$TTqu=?m@9mNg`*Ona#h}j>O{R z5MNF<>aZD~Ym?x;qyuXXW9s=NquSJ+{Kqy2cwxT`f_BC@vuT7n_fu)Su*&0}F2REd zRqA2gHSTnu-S+w1FRvKQ`^KG4y;*C) zhcr6wrMmDB4B;F5npM5jm4{*UwMhkq_=K%?Ar7W=SFNATra2NHK$@MIX5*1kO8{qz zP&81qu>OzidsfR*-);>E*2vp-%+S%sEOkREW=81dM&#J77zNo z0;2^>9`icl*3&HLMSkYC!vo=GuMolioo23{YIK`fPh#WJOEU1+=&LfdYFIU=O}XDJ zzMc~Jr_1R;EG@57|GPH{=Xmgea#aj|+ubCUC`unGf(-6&vElRH&l)~WvO^A}%HZbr z3hwTW_i>x<;oTscbKSdu3Cra~(cbVqyyZ;4Moa6?hi7_CG}r7hT!8(ImAsF;{U?ch z`IBd8Z8U?&wGKV_cQYWV+l0^#E-$%a2dfHSD#!r7e+s<+J1M2)| zKrMg&@it7H9E@e+G?`t8v%lvraV*>ec9*y4TYn#220ixv6jllrMw#ZgKYT?XO($oV z?f})=hptN9eV38nds32L=Tu9gUU@aI}b^f);qP4NjtR`zcJey|e z+hLsCQS42wTAIi;vij@``L=YEh`=?E@+a19UyxXi-laDLdnHG{tZ6yki&eEwYf$~Z zrjpT>57NMeKj(^6bKI@(bK=+lAfKLb$cQoWmj)$gwM;+rUs#4%`bXUWX9vH>JtYn| ztc_JtHS>qoNGhB(EsEfF@-KLX%SKZbQ2v>u(%i?_XW+8eeiiy}xz4C5(XB5GuYx$* z3qpy+XDM!A^ou#({Xiv`*2A0TWs>mVHRYE2%SRZ^|7_p^(UEUpM3&C68}aYX#VQ)x z5o_Z9j?dSt&OEby5`5U3-tV}3%&u$4!qDHHmf|V9n{Wco8{nl?=g=J;T;E}cgf;RL z4-P)UY~wG~>Qsjwy^%2V2%$T4(@^ZjQ1~v>nqx>{DYEXTwM0ZZUnB8)~(+~~OJFG-TpGM8aGE71Fb68>RYVS?<(y6Lif~n%4d81Y@M9M~U+re?ixa3Z|Se^Je6JS|FElVMk;WuSl@pBCg zC4ANS`DUgU=8IhQ(wlP?tAetm?tXlDD$OHXR?ke{d(L&vV!v{Yym9k`!YC7{Mn zr~ZlzgW7*F+or{>wy)+wueZBPUtu`C0pJLpu<3xMgKnFAFg)yXBce`CVe>II*c)i6 zu>T;L`w%THolvZ5ucG@@_jt4FYSAsJa8*?d)(oF7?@+&~%lM$tKA9RSetL0IM@uSw zOlJ{+vOx27|I@V@R~Vjclpt3!?rfWNl(6JK{iJ0o>h(hkoIZM`2Nv`nl&Pl-eCwj5 z3bkuSaTc4bWwdS3&1DU^-sR=Z>iFNV<*onjjYMM@FsG3^*cw6=Q0Ls&qzubHs1`|d z4=`Jn$;)b0G?+Xf=u&;4^chqk0#3JcW6Z~`XRd@gz7kopo_;mUH!nVs1H=6ph>u!N zVim6oK=tT1!)RgjaHpm<YfqUI~Bz=3>J-muHI_R6da;=T@2k z*lA#`VfWFeo%u>ZmO{1k=0d^zh0jlDQ~x+ZgCO7ZqoOmhzylm?W}%BB&`QdxV(p^Z zO=X_?+jIdjwHi#d9(Yg8xM=-uu}R$D_5g+c{qsDB80bM>C$Dga6bD7C_A;A#sMZA- zJm9I8-fBU%XvB{udgA6`hKs2G+eh{lhc8OhChUKMNZl9Zb`w}}v=NrZqZOH6F-O=j zTcNvsw|kA)S2GbL-V9j|tyfW|(PyzuiaKnd+1XQV8^ar*oQRTB1h-kMh{ODI%6#&1 zZPM`>bo_&9vVh2dm{gfAf;IA`*2(4QdF2PocIXZL19AmJe*hLO(-D#!H7ko7cg3_6 zD(7KLIvDfo@2CS<_b+a__4UbO*jYRO%R0z@4tBOsEPsK zgQ?`7Q{JY(wdk0#T2&z!&S-_0ECdRMe~zsFdj&?e5;v8H#h}Pkk-xb%=RnNsGu-Ls zKhWxKer!>*dfOMNO5M>~5moDxcaac~%L7i*orR&I6G~*VPI%>;XzoB|@?fGhQC2dR zf-V|Dr050I%e3oOoeYg}x}Ta=nDqA>*XI9zan{nK^UQpsZmsLkFw6!OXAwYTphNYq zFl+Cixc4rvfp~F$ZXw#y%d3oAcfP$+t5fzdNf!r4?5hRb%Pn>b72ai)y4$?c03iJZ zuT#HBBg#Y@44iTo3=wXADg&U8SPo!t*Ze!SU||X1^!C}s`i@JVi`5e1s!DY*JpT;C zfo%qzW+!pWFE@fyL@n$|=v2fVM-`|Voo{x!s{6WGRT&S=u7GCKm;U1RozsU>331rf zC_|<8E)ViGb@3gmY5{#Tnw>@{{wrEW8M>^BNIuYjbiVKrKO<$dm?{%WJkVk9{)MuJ zUVIEI*{qtX7LBp16H513iIBk18Mw2$es&j3)w@m^iljI{4o`7UJrr&izRDG(mzNAa zIe|9{%@s0sw02^?M)ga~E~I4bQmOTcR(xyJpHC6ZHZ*!L<5;ajw^n>_S1_IOJ{db^ z?fTkiKU8%-G$T?d$Bm?(<+hyCIcAeXami5$gx_8p_CSa*(`WAo)l?7PEJAA3ad z!%?ORlk1)Syq?ngEF0m#@)s~T;qXO@erV6$WyOTXmKzq~+UsW%`+uwy5p|pK?-&}< zf{L}0n`B~WSoZ|j%0fHKU2Xcgw(A zL%y;*7`3vK6W~VCdsTEFi{+F>W^f$mUp%Q>~7g=yBpLX5|clVtlRO zr*DiVx;>MdykgkC!-v46_{6!oxLZzOsW=iqjearuUx6Yv=7ymiK zYtE3s!V`@5&bKCND7<3;kDIAW_=POraU+f5 zzKKAOwdu}=1v1OX+V^9C46iWTLHp7uJBkC? zr^lMa5r=%lUhHamVd}KHIBM#G7$W&rAXcAMXEv{vw-G-(_^1bYOLWY%SUT>Uc*||j zOZoKPY>kc&TUfu=dkPE?eb}34V$z_!(3heY;=iOR$|3h7!E2Y=yv(aNX$aG? zUx{R44>RwC0Z-Ly)Nr)vJ}jQDn6^ZKjAT-`vI8@q{o?JJYOyxGIuSF^#ciJ;XshgQ z!nDEh)mqi?MKe8fYc(Xo={DQr>g?~lw64%Il-}AwXg=7#V^Iv_!acNLN8!RW(G|g` zaZsxJ#Brs@VupVCxmC`qPBKwI`wGRr?$`Rn<-4gdw9z2F=qz#dAd7B<|K(DnWm6>4UFqv zWdTglsefzLYIwQXe3^Jm%u;b?nU&P8&b?+)yS{4id3Xi+u`&d}I`+WXih6!$A+Y(> zQ`{>KO0GjZ9xo&SeC48M)tc>9OT@0W3^SwX3=P3J_3t$$>OIAPR)8rMF)~d7jDmxD z^V1r7IE>0fl&(Yc;Gz3%h(zeEU9QmX&>jC7txa5dtzH6OkWg*`@cAUqM19p=RvMkH zzHlAlOkl}mDerCbCp4;O-G-DP6h_H@3B6yLvY>{y$N4CC)EDzwk_n7=7}cmYOSYN1 zp25M~`e$?1o7Y+&ovt?;h1eWG0_ z4vDa(b?Hz}Pq5HPL(%(Ir}&2ZRu`Hikh&_UFzgki7bU^X5HGRYV;yA;#1dPmOj8>^ zup0?V49>Qexv@@q+qVlk4gXxLkVq5e^9MVO_Wru>osnxHTU4Qk{>6E?UTftX$P+4F z4X!mCs<}TYVs+o`n*sKJ?vd$;E2+7gV+~?03Xc7)=cqE>Y(~x0Fm^WsTP^8kbRL)J z>W?v|#ODd~x#NE`^n(l9x}-?m^LrN3y)sa%q5!mlBu6&}4pN{~HC!F`3Vi5vf07&X z-OEIf?>d(%#f=?UXCJI8RAD{3L}HB?&6#$hNiP~TBhnMl-LEu~o}YDOXffCSi*3 z`HSoZHLNuoPX)f_WI(rlzBem-s;_Fm=l|Z<6;Hig>C9otKZBt zkkNUwG8X8OAD6X(!D$s_1J?bk>G5!;wV@*e%}*gv?)6`5jVQTeQdq0==%7*k ztIhgFs{4|u&z6u2*{cN=e5+qGOm+rvLf%n%?jCAHc030txqlo1XZ2^bjv6G)WQt(t zE5$J<(a{5L4EGvuv<(pJ*)C=m>}wfFwc^_xYArE%O}*M@pDg_UG|?hTcK7aYw}`)L zqqeubVS~d93hC`MX_0~bWU-(fUssNm zz03$W(2aZY4I35e?}&9C8f!^($tD)E1bHy9`ckbeQDMeP;s8TE{|=!@S0vi|aA*;D z3%kJHTYQjU`BIOo|Kf6>y7ymNlG5Y93uS6||5uABSs7r|OfUQq;yC7=RGQ(?vKk}^ zeqoa_#q$whjKl1;$I(Y=SO+A?h7#)%tHyQTEwa?sK@)1!BNK3H@YgRAv?LgkL7GU( zpq8#44Vxz_ddFHt*Q41{-cpoFQmCj)C6?Mr(C^#wdiB?Xh-)beu_Attr)uGmEt@LT zuaOMnw2XLRs;sV(Z~pub6P$mG$J8TD2q;Fqf8|FDc%#{#VC1-ud^+efQmN zwi^0LVpRrihkUY?~tI}bHal)^HS|` zf6n_={2wB}8r=5;qq<9k=((nNaIvn%TuDEHxBktwMoTd>Umk<;tr0Yspug5UW+YL- z)210!V9%tfX60b@ytyeqQ8E}21;{XtM23t?+&G)5eQL18EIyC*L>YS8T`68CbcuQB zrxpX4%Cr}=N&y#rhV1q9bS$z8J=*y{8-(0N+htM0+86M6`bDpvkv&*z*qEsj8X*^W zK3Sgrh#RT4e5AS)&E)A4TSIUN7^D#E^gu#vrc! zWUMW2eX!%NL}kUQB%Lz2{w;)I#$AXb>0UHdt0V3_QbzcpBE@l!4*n|(M_8|BK!}%r zgYR&MGM4VIyiZ0aVkyeYEw1;PBs-L=mzb~@$fHn(#7=VUf;1#aFZ&`3O!WTEs}(1L zbUB}_Kp5C;BtE3qDObsLg{NI1L$Zjud0^N*t$9ayIOkG!L-$5pafYue$7`WY zb3vAG#ERmNh$6Nf$drT+b0zU$`OZovduAF_z|P?**fG5P90WVj(Nh?7NG4MwhPxNV z;lO*~Xi{+^SSxO)xxa&Gr~1(SStRz#Hw&2Y*SeHd5C;pD3!l!~qQU+*?JpDH@dER_ z(v*prdR2MKtX+#vNf?185u9wXhyg-E7T3^+()&}BYNreI`b;NTqjnqe&pFFWi_0l$ z^RUZrgRB^$DR^hqN$5fHfp#EKnoPBXdYDU1r27Wm-))zr?pXG6kT=$A$wcG+q~NR2 zBdYs{*|D6R6CiPVlF@c5di@ZidSIem@F2*3Y=;TuK!l2fOkr<$`>|$=t`7Xyu1lm3 zidh)!8;xos(KZArK|f1NJI72xtfOYhNY!8*D}@fW@F&Wmz=F4!ch-4)QbmuqaE$X|6&<}~Ky#V+M7Ui%8h#9~W zn6PGLFLkOa_2F*xfSBJu%S>!cA3OkJ;tf4icYxW%gwZ2dqglwd8?+sS-!94^byH7- zfCP}e8UX~4hwqNT4e*cAI3`h<;OnfqyJ11F9DhwN_JJ}`>dNMoRKQdWjp<^uLRzae z1f=`FVW;DSs88X7$RKD)z8}x!2cyKQ6G|a)FoyYi1aYU_m4o%ZyQ^R_ zY4wE|N`)FeX}T*Ie|O`0XoS~|tYTDhcLewC2HG5NM>l|c*rs2Ui>2tFG0M~N4W8#^ z5b=ydW;)HMFbh+T?i_pq?d!L0&^li-GIXy0YBrPhZMR)CT%aGXwd+CMmqtfVc5Rzg%(vd}LRMxu*T<5vr0Sn( zGH6PrRk;%>iUBMq0Y_)H5K`!yid$v(>C zvh{Sx94bRMqbUz@g-ZX)Sk8K|_94xIA+FF`DL-;D4eTJ;nXS;R=-*Va?myN?-eAB% zxf-Tk-o;<~od+A~1#up@H6f$l_qf?6h&bD5P4bU=O$?qGONSvqHs&?%Km11W;?~A% z7g_4YalE0j{!tCs*e097eEUflg!ay=0~ltRg~)#CcUl7idJg1O9v`1;VFmYnNRfZR zPWhg1eoQs%N+pVh5i9?sPsd7TM>hMW5Up7FoyMrzMF*lfEBGppKz zTi!WUI@McmUp=;x;g17SSeb2W?2fqd%Dr=7hIutw6H69vT;r(iwioFBH2i@gwNH`J zFgfnt)-o3ZAzD@=SHAmAnX%yCwg4jgYz(W=^>F?*sp7ce?>q_J=r+wF$n~jAbFrdU zskC-iPe&@9cMl-nrUqlo%4+#ws*yq8Kc%>o=dQ=<3DX;MRm{m&v@RBmGfjoDOJB*I z|2>XN2?yrP)ae@Hc-*60Xf(miR_Xq|E3`&7D7V7^L2@SO==>CUt*lA2 z^H`(H%ycEiR#kjUu&`rCovLjItb*@1fze7;QN{;j7N=T>fjyorW+Le@ubB;_zi4fY z0eMG0bj|lEmrgo%pYrSHwhM>+_cYCwSCwSFa=;~$EKy2N$R>4b;D^~X%S2wX+X40O z>_*BUKS3k={a=)?JEfn5su!D;oAvO?b4l05{R{qEQ`V@5vre24s#}Y^TDl6qNi`6B znUxAu>s7OD6f4%|A==6~>`j#OMgMB8%#wN=4@kA{FoRe0s9PF;*qLp1A(iIsSy1eS z$2Q^94%vAN=kjhvol0M`iK(@HTfnto^iLPY0>J(d4^~}bHjieM+JSab57!=% ztJlL%O1S=L@I4@mHB%$4WPMCU13}-OwoXgn7x@MeXe{EzugZAr=;U!;)7Zuty6Swx z5I?Gc+4(}7-HXH-oKGkY;!h6QossK&M#6~tCtjsUV5)s=HMQfx&1QNvqtjP$)M(j* zMqLu`<}gvj%7a(JuGYV&WWkm`TZ*dH$tQW30oi_Zem3k9y)*s3j752j%dUrFY2WeR zf7EDXsr^rDWIJL|ekI7wdoF5K@884gxZld8Xn*f}Ql0T|c6pWUDqUup7L{#RNxemI z-8&9SQ~77DmXvv0GOf$`^i0`^5?(pk2>X*IyF--KQ#YB`X!W!k?54P1v8|dAL)bN8 zt`?}3)W$O^UB)#y@tK0(cip7<7*u6Odqo^Ztr9_5Glr6yjbeKT#zhE115?@4`LrJoq~t&q8O09__hTgnmfngkt3^)2(8(ajRS(664;tZYj)0|7%XpRjnt@%8{ydpjkgy4>K>@;P+RzPH59#z4dtB z#TmL9!13pNEulQ?-rqf5Z{V?ZE$ez4jCRhPFr>L8=;JJ^Q&0RVTcd~9otH{db>2M{ z=-i`LgEDL@tjL}Gb+(0>!VaUpt)8RW6bI!DV*P)?b4m}RN1O<`t35T$!alcFCA+Msf$XoC2_>F6xs9pXV72PLsWnl zQ7~-QdZH~ngmr!b$oG%_JKLd$KhA{-V48dl9Wdvo;G@%D;S11Ai(1s&RS?dPwEvFPo29!8Bmdw)hO*jR;>gy#&z#(DVyqw95{ ziWbFz(@7{X<-yT5?0v{>ULfSOL%A^7uC(h(2xT2!QIu9Me4R*wA1{(c=0(0CbT8pB&M;J|%nGl-D>+)+F~jCsn+D{d0iKSH_i#?>rS(ChB$i%`qUMhzS+o!!P$3{(izg1)q0i zbD?hHk#R;VO>=9;6jca7HDR;&9m3vqJ$lb8WD>@_mZ=nMhR*K6^Fakc>v}dw3@}S{ zwdB&-4eEE@fQj&^Gg4g}Wq7^vz)Y%ZmRw4u-=;>m-fgOol!KF9i%ICtT?Q-rr!360 z#@!>cmvB2(MNq>Zw;a)SXY|Mu2>;1!I*aIZL$;QVyW8`PPYOZQ2~I2xKUDjd$|Wl=Z{!uMk4ckI6nq4eFXK+lwNJoT zDAsHBMimtI$Y{xuB!E>bFQ6 zRd8*H!;!G)r;kU8`O9Ef<*&_|Dm|*n7gZ>CnGHSTe(Ac$W0vl|_+Q~9=l>`q7^Tzrg!NU8{+SnEXhRpQiCK^jQoWjJp1{*Bns{wqgg$wYa&Yvb1cCZz?5C+4*}-FkZ+qN98@Am2u$ zdIk@3zd319iSnRXQ>{BrZ<$(*!D2>()O8O6Z2qc^Mb-Mi?oSbY|9o_YgM^P{(M2=g z<+j~JPM;m9vv19J>CxQ3d9Hi^h(a04Nsp{y7R4(9eLw9B4+WF^$j`IWMnF@38Q3;I zA@NFQ!Uep&|KTF3(*#R$=(laB*iB-zQ04GDZQEe=HQ(EvVtwU(Rwgr0RNknb^Spaj zs)}~vZMM(Q-@YQ?H*PT6O2pc>D;dAJOsMeBTF>Q;S~V`^mso~BT0I>xS2jKcmVWWM z7zx(sn`E0w@PzaaJh>}_G_))?8j6MHIq>s|{WGqhR;CWQI~MT>Go>w$tCx2(>q^x5 z!kE#W%d%*Pqc7IDn%54r9o>2K1)&-`%8_rE$!PAP$2~>9*oM*ju_v2v-Z-u>TJ(aQ z9s#EpOKbb9^M+Hra@LB%sH|g$5f{CGkD<_ptC`Bh1aIz~omTcYt8-!v-c?qu2GdRJ zB8F((ooQsp%q1QSyy7#Pe!<>m$uO3}{2xi@9T+wJ{_&h9nnEb$gyTSgR1CBZEaIq$ z8q`ROB1J(fC++KH#*GO6eLgJ-h~@s#QH>?BalfIRN|N+fuOKIoEr2 z!VO~Tu+TKb)1$vtg9-jLf4cAe<+V{NRtSm+NVkFzN40TT(MfwP=;@UeOoYuZ>8w?& zKX1tb97Xp-qx{%G>;64adnfeuMtPC4JCU45H?z}_wy1!z*@S7C$d5~CL}n=4$DO|f zYDO}a8JI2-Z-@>!1-e8##HEYab&t@^)G9U}?0ep7Ly%>)CIj&^1^kAQ@|u(#iMlar zFgsCi>GsqWBx~;|h!ydr3-WB`>_pX_qWKG~0Q!J~>i16gYef)nmqF8;ICWH+77TG{ zAa_T(G#v{%{jBLZeLG20st0D~(*EYPOFGr?L;*0?YrfWuS~?@$fV25ci2<2Ebz=Hz zOIIyW1}4l=w9$^q3&szMmmZ-bI-OF~t0LW=yD8p*zvyxzsz>S3<|7=11hx&CCW9T{ zQ0NM}IDBte8>ghqxH9XKg8RC~bv}F>SYn%7_&L4?4rk&@rv&{_m(oHc)=bdLU-z(P z>p}NK#>JAT$RtJN#tZPG+_jravY+pq+g*LBK*d(cAdRNJAk&<~#`Bn$v?#esYf!t- zlkrnP64+8mPy<@&H9u7*;JVFLPuhz^ja-z=J?=6&)Tt*^goq`!gmMHw3YNyxKx+Qk z@R)MSV}c=%jZOPTxZr^$P@t>+K$UN}A8=LQ3)DGnNKMAf1r&aF`n6blhZ^xVHe414c~cA3pn+2ypZDTYhXcS zak`Q&B7Nh{c!?fq&{}AMa%en2Abhjr{}&d=CI~J`_;2S%8y>Bj1Cp8A{N_WfNFDw? zFzVjflh(sBkG)Pei~gpnsN@N&R>}&K`E`0sCueDUx>>bHCVUU$CgD_Li>|eR=i4TF zrV+ljb{Xej&c4V>8t&B-rqWqfnXy*VC4KFDr^CP@bOOi+Go^XKsg)o@bia%VQ&ty} zqiWxK-I^Gi9(Dut7QB3bOftdZwc6JwV`XBxq$`YQ-1HkUdI(q4RML9+Q_Ym7=Mgwt z_oBG=%$wh{>h!Si4~IKFn40~`ZLw;hSEm5DsVG-evrtfL#fcyl;48Nq*6o#Mhrd~g zR$YxZJCOO4e+l*!j+2rw05ij`s*jQ3ozbVS<+Z6(&b2Cc)WAXRv;ok8zxMsyXtH8t z`TEkBxxR!ggEmM4Q4Q*4J$beIEwg49!oIi8_e!uOzJ;R1LV#uu?Y*&7?a_ql>b~E7 zIB9oEkO;~tNxRl+*6jsv=J{&jADTBaVLW|VEOB9fI@XmQ&QcfaWB90*{qaJMa>P4MO z)OS*&W@d5QBg#i{d@NR2HW>JZ#24KQKaSVaGjB)<{Kn10Z+HgdbU8rbDL4V^r!z=n z?l3%#{JO;s0`ip?GNrov^J2QR8HlQNAmff}MS$Y-gNz|_78@$JIt}8?V#W_eVMj@O zO@L}@y;@(IiE>_0t5iLB#!5=kCu}oSc+%B_Xd0E-2$mw{nMCE-{K{@{it<4>*@%C! zR!wjCvx{wY_AA*6-S4{Df@o%3N%`L`cu3h%_fa$>ZiXgBIUxdVpMHv?8-C>t@5GW~ z+Bog>FpPMZ-DOz1gS&guE0a@oIOuG>RwJe|asYpuu+L>lt_O|FY9u{oX}URI$&ZEd z0D|7OnW(v2Ec+DHH=^8Wr4{s2oQUFdVh{@mnQayol1qvhb5vVECcvx|yJ)_#xJuvg z(Q0|pCy!?U#l_Ei4Y4v3-3E{1@KDKUvV)#rYG{0Z$=0 z;#HO)7^DC!jGsuS!Mv&3ddvwfprBJXBDK(j4=3qWVy!w0GrBHT6GQ z3lNZo9$wa@4JKxzXfn#+WjWt1Xd2>uU4{OILR(&>-ZCPG3<>7d9HWQm%pLTGy172D zNd4d`U^Y14WFh>VqOhIwI0pB``6&)=*zOciGK6-Q%Ut^~SsRTdhendnZz&-jxeP?at}61Qgp(RZqU%2?#+j ziHQn}uA8|kV9Bb22DV8U$UXOocs;%QF065Ygi9A#^$c^p=GsDA4%dQBw`R+$)#Eba z)i$?yMFfW4aHt3zkfw;@ zqgwkuP=*wNsDhh^f~(lQiK_AHm1lc(hIwz}yjX?61tbao00)sejt_;=5K2VU=)FWk z<$AraN)750wF`4TiE3EB`j~V;E#bdeKzB?7ToHs_bKb|on=*BxUZMTFiylt{jVt!2 zlas4swK*oJNrM;kTDhNM~^pZ>i-siLsy(hU)M_rexE(AO>0P@d;xgyQ!Lo`f~>@mQI zYk$VS0dnpYq0N*B!@m7^t1vW_8~Zd8=Uke+l!L3Jk~l}<|07bT77<$M_aa6 zF{IS3n<>&#!ybux(6MwP-%%{wVPx+7Gn0?wddn1vQ!!<8R#$m-;_OMZ9j3mrB0<;d z%Ma(bh&(TuU)nQ9^zQ3KYb)b5j;GUogGu^}|LCrHtR`9{)oSMcWh7eprIL~7A8VwW zXfb#&Kokty;?x5%2gRG2zjfO{*?)9G0mp8iu38Z5o=;c`x*#|>WDUiZ{y~Y_dv~-H zHmT+liL$u{p1>z#1ww@>B>DSaX4}Oc(D+V8o@M7phs3x+Oua@4nMo1;71jIl8~Yo< z%?GZdoauufP!h8BaHbf^MG~hG-RzF55sZjOo@4%Y31o~ZOS?q6C~a{%#Iu&-si_O% z1$~U@^XhwIP{zr}do`lLI!(I2rEht=e(~-uF>dRZo3uaxt%MF9aMyA-&E4Gh2K)Kn z(a=&=_n1k?g?T`_ed$x6E5DOrom_mTM0{ePjCs>54zyo&eY~narT@p4m#PCVfkSYC z$TXzr@OR=ZJmjAfHPZ;bzH|nx6@;xa5l{j<=*A^GS+!W(&HQM>DT$gx)Yox%<9UDb z)-;^3V!dVRZpXvGWAwtgah;JSr&gw`4ZHiin`7;U{rle+bCVc>T8AttuEg^T`o(PG>mtU_#?}XVBb{F;5C(~uRU-=wI8NEJIV>io- zq2CDGt4*ePREc}ns%8GfUucc_9bHJZ-AX=oezn2vhQHNGi;6pX*UVPq(_|5Nkedey ze$!SyTHM=Csbw9U6ePZ_L4{_TbIx10K())HtBL*Ge;HGhMIyF2?@Fcm2w|2ED z%M;2BjQ*RD(eC|!!(01D#fwN9yLdvHOYFT#I%W_-_28;`?b%id6Uy`exP>FCN=@l)^ua~JQZp*=Bab0;f1RhO(+=4>ao^H9Quy(46 z0he9lHi=ZLZ_1X4l$9*+;PJb>O5J{8hgV~uJrIMCh*t*AxFrpTqS~`9{3tR$Se(|C zG{;-|Fx?F+2E<_SE2?2;^ZLFZ7sufg<+t`La|XFpz!c#dv-+EoTs4*;NwU@eOj!XoH!G{3esk^B>n`>d4ohME5;=&GHlv z51*K>wMevwD^!NABPbC2E3ZYlG*LEgiFlTTblQQYa`60b*HLtH;LjO$*3#lt5!zT=+o;Vi9L+A21=PSFW`NkIusoJ3b$F)RPhIinQAO9-A z>EiDNn2G5Gbe9Nc3PNZ{@#653ZmAm4MuqIZ>7Qv4gItJ8S@L%pNS#yQ)r$pUq2>&c z4+Z;{f&~(OY91_p8m~F$+raboOQQ5NmC~Tb*Hv?W?}m)}%@WB}WmA`EQ7(RFccP;x_-4PY;p+Cc zBx=T~J~nBQ5l$Sj3LVcp`lD15>2h`oO4-=oGwBDnMni>pG+wNz%bsy;`XZhNT)0~| zkdAfv?V78*VQIR~2xc5ug<`$(U#CJ354w_@cW*z9Lx>)^8gf+D-<=nz&;H>w7(8~V zR;SK55A95~|4Nh`i-2s=YRSgGPm&&@MD=W(Z@qDB`a2SOFKJ@j`T{w0J<{CStW%vP z)T(c?NZKV^nAFr7HI&8hX)+^%NYhXCEbl zi=(P8TBt`06=^cyH}BKzqVV3GKc1#2N^trupoda-L%bHh=X(>y1LfZ03eDCJ@T$pw zxt+!G5{TR1^P8k2-;{{xxpZNo0Rv~}NK2trL{C6B96vP;4#iFqsx!~qpHe9QnaZE` z$UG1xeEWH?*-%pFTZM!>KJH!fwED}_gg-{l$dr)EH`#%4pD#sg4mW?z$IU^nk-Pf9 ztZXxe>S6*&!TTpXSlFy8$0cgI8D_~-x5o;IRW0@clDvM4+bf7`-t56Qy)VEsyZB(u zrha!%ig@i!345ZhymFDl8s?4zB;EO!2-mJZH-&z3ZbzatU!ncXxw`UpAIQ)>aDWyV z;o^gDjrq*I4mVb*zxRz7!7wLp6o@?YS!!Oe?bPQ@&eUxAn_F~yZpyf%eE&JMk;nt*%qr|A~m zANgw<2|jk219DxpR}B^=TF%nl)h7x2 z%nTeDXTxD}osj2;x3Fn@(m(MsG{grJB`;w-?54~IY2G$Lb(<3UMZoJW(VL3@Ljeva zZ07=^L#TqKl_B$6K=`9GHCQ-vwK_5hUJ_w{+OK$(i7G~a>-Ir+BcuJo@!0u(&pRcH z(|^2Is?@Oe6a|Gou6uaCN2uXITGG4W0+Ouk6{^xHQC&bg%$y}9v^{p8e@a2166%#Tq^V%uhVsP`(dbDPAmMC*|qIwjtIYDct7x4;C z&>Z`=R$mf*bKiZZ!&W@6_T^IkVbAMSCGF`!#~Mw?J+L6AA03^#;x74=(y3uYOgEzM z3Ra+MoB7K(;=&8kN8TzweCfLTVCi!U?&D{E`HYL?XFtx}z+b`0kJnO+1&uD21HODx zo~<9S@&-PqoHdqYbpr%TiER7v0dd@qJLrC%9u4;>L^1q>)jQ-7N3XgwR%EyXK0>`9 z&G)@Ue8latYZVWPK3H)L&kaBQ6@m&LK3=Oe{5QY3n~$4qm#vhK_x$=sJ`mh>FTb)M zAAGB`NZFD`wIZfJf}UY;MdXM{_RqjnN5> z>-g43f4i*3-}fzC8yv9mGFj&SNq5GQNOCFiQ@R``mgI*m zt#0rKH^<;Z$TTqg9nlSZGkQ2?C5hjhZbe4$^Zu)1MY{bIqj?PFj|ZxG0ZPS9d@Q{B zET_ou2i-==sbM~T?h-k*ybxEovaX?CcDZEuB}k-8Djmg$&VBq|dGsS!li?D!&XA$) zAe+TkK3>SoHh|zNT2=+8G~UDAx~G0{8xPcZNj`s>$#bjOM8TynqpdG@s%i7u zpaEt7-3nd{o|uMN@$*bd8lv%I9$+=@^`B^UhJT;BjE9A1{dxsIQ|2AcPQqiqS%A6~ zElN2hdN}0~t%?Sq-MA9>&q;`~prvsYrxH9Emiu~@^^k1lEq}Ev;=t1`jFnNJafbsM z-Rq2EAJMP_kU{Qw-s2z?zw<7GyHAW$sH^A9q%<5AlQ5k$aii@$;o`U zbuPaGZvb}XzzYeJTsL$E=j>1VHZRaq2j4?I08;9Deq?U_2sl)p8VuDSpID%IjpP$V z?;N3((P*KKy!BwsD5lTqz6gRA<%Gwd5nK zL`OvcMWV|rEi@3vH=@UWwG6C7ozP13X#YQ{Dk7yPFyvVs+=m^w-Eo@g=JQLr^x*E5 zsb<}+_&5dcJwAA`aJ_SjQ(@SnXRMDkk#*M!3!$E*VZBZI8o5AwVmDS0b-P>2UX$kr ze8+8FXSEyA)N5KDrF_6IaJ)v{?_ZuSlf^kz#6nK-l9Xg*(-p&$u}a#cEw>tt z=)FU3f(Fb*!^k*MYuA;%(4ygLJucH4_1gIt$YEW4?8;iT>Qt>>S9-mh;r50%BmUfrdwPMv zX*|phBIU~Rq`qp}gDk~9c8~{3JbbR@6LY&X)hK*)DTg1Hk3ByIKfJDqhsC_p<=g}1 zUT*2n+vT4FUXqx=KiikdwN8@kVn8Cz$zJnk4Rolid2_jZ4-zjig4cITF_(SzQ6jAy zmZNY4Q(keP*42m2=Bhe=vuYVf`+`vOlMB39u%wy8httwR?88m~CMgTz$lp<- zhe&ue+@ja6WTnxkpPtX>_`nn}@rS9NOSQ_vG4KS}67VC`#5TqOz2$H@-(Q~wS6f$b z?NRo|n}u=qy$$`6qWL)hrF3+u!tQO9=WR)Y{bi8D5e9GOa91447K9Of-|SS>7ms}=|`d-Zx0`w5)jIVo1S-Edq3s+tTah6nDQ3P+fy ze`-~W0ktvG_g+6omfQ2|R4LPT-b&XRD0YHzK!a0HB3B*S2}-cmw7!O~qIx8nI;j)3 zr&~oS^8krQ<621K(LC|J2S={Sa`dxrb&@n!xF%gd+R`9`FyQ|6*mCxxk`<4_mu_ED zgMfhBt-uH;z5Re}X|*~vRN<&5QJ!j&R1hn44eMnVUT5?px5W!%US`N;GW?5Eosr{|feLp8A6Xq_v&W z$00oFdCpMTdmDi?+=bTxr>y6`Q#_B1&r6}^*5^9KxR#vIceOJuHr-@cI5DbMZOhVVFwN@MXzW;hj-9DIcEk@My^1Jvo zCQzovP=0-3LX2ZB>y1g(Zw*(2;A45%u^C=*&#S1{_PxijYKBSoci>I3+>j7Tv#mgwXw%BCU-Aq9Zf4c=N01 zMf4X&-Tmv!Yt$zfWEIkc-*O=Nvm=Ss1aFPf8pKG@I*18epKfNF%GZeXVC$-cnWt9& zSzM~VL-|cS6GseC{O*21ko*L`OZ^(IlKW^08 zY4tER17EyG>nNRwye*~V!m`l7{m;Q&%HdtT0udJ)#D1{qBx#x6Csij(+bpj1x$koG zF-~aAL^(sJZb=ZMFfb34juxz5A1fFxTJJ0?-KM)+<^bg3^-^Weoq=@jFZXf87-SsY zfZbe~2x^n&9s9GkflWIr#`~u*3zXdEDX&;9^n-1Xp0B}wk3cZW9@}Zu!wt^?Wznu> zUMb!12Wngf>Ox(9yMcFh*0?laec=PB8z`vhN=AV9b-3>BhP><-nyQn^KKt6@I{lg* zXU5toU?|jh{|!@|QgTPnV@|QKd0w49mvRkubVB1KA-kHEY`X!GkAzx)fAXF&8!v$x z!gn{OS`8jw!f!A%ye1Jwa{ST1UGRzpWA8&&m>1dEP;A*OM}TczN8h>2t(KTH{dK2& z<}`~yUkKT`+lLhw=r=qel301y;MT*`FKK;8k&rv)AJSvu^?A%z`c;Cem|Yn~51Ps) zyk%aO;y-@l&6X}ls1+HwgT~RRxJ?&|`=ge`$NZA6JQ!6HepLG3i7X4I-;?Dq$1VfY zhBrC@4t@$>h4TYFxU&cGpgSJbl7{lb)LR*o<90#VDtV`s*XVb=dN!&R#`anK$baBM zh$VVJx)4UsJ{E87YABQYUI_XH=Vqk5lr^TBsA0Q1&6WN#Rj6!aVFrj9;c-*JfDMAC zvu|Ay17)ZD#JyIGmgH)bR$n1o4tvICQ&&e-% zyl44?v>LJ1hEW_amWNi)XyZQ+#^%NgB&okg8vDT9KDJ*WcYEG`NnTdw3}GsWfoEbZ z-!V&9IF$wtn4w6f_r1OlT69YfXeZqBrSwGi=Nu@FgHfIGTF3zqu69{`UyLC&osz z_-M3R;j*!!Nu-8O?NEm|djSIue)J&lFW=LuMMq?T!L;simx#1}p~rf5e@RTWv~vt% zt1ZiN{J$)LI0FBsR0(rAN2ICdG@zQoBTgl$waZhcVUC&mFs|v?=ya2~ zVT%Jqjsxv>dt+*gx@AsW=|RiXw>hog z&N;+m?@z2HN?v~m+z=l8K8XZt7F+D$&tp@i>+8X(3i+Bn=g?HBha>-IMRel6TtGW^ z63NcPMwP`X)fkIfG9141 z^%&TB4{mf9#e2YAov90u6TRc6UPWrcU3X)#~QU-+5;4Tc*eyc=)Xv()~DB<7&Hx@p{6S&*)Bt zs6&uBZ?FKbM~~bnl)vjf`p+B052nR9yOW+zSLsUE&Xyv2$1YPe=SJ#`kGG)qZ|>tD zaCu1b6pnZ~DBLgA;vjgC1I8xHR59m$Jel}8S9vtNBj)RFb@#j$eaa&z#0u6EZXDjg z<`MSAN&U8!_r#Jq?mU5!C)TDbk_hI_|5KFwsEc4tV|tsb8jC@&jr|jP54b?U{ifkU z)$gphBvxTyExs-SidbkXS<64j#n&j%sWRzU&(*Q+)AhuHzoKYaH^1-DnsoCBNhOcA z&OyGqcdyUZ82%fxAD1Get#bmdE9`dxGF@q>TRh0};v7C4O!!$Q#wfq{&2XN>PJnXU z__^3ZxT24bHHe<5wFqJYNvLecBSTPkC{*dS7Qpt?j#VP+LBPqGenSC=fyYQX$%Op}i_(ZZ)*9tCPJteNHP)%iuj>Vr z;+gcyWUd5)HhN*zjr=IMr$*x@d%c^kAt?AU6ycxu9)IE}%(W_>@uOC6C}qbzB5xhB zFjLBSsDxF`1cD86_nS^ZjR`OQb`deP8ah9+rVB=yjZ1H;P9Lxf0iovP2WTEtWQR4mfNH!iYT#XlzFcqM+- zAQ2c)3$KL;8hqICB+cyAhPX*TUJ9&f;{}5_*J90 zzEX;=T;GWbz5D_(($T3Qba&$^@d{{d!RuN5N*K z>5$WL*#B@(YV_=P_w7>DkDJ*U_v3&p1LxpA+G7K3IO0XCBbZS~AF#K)BHcGX;;Z(= z+q2EOGPlV?6R19mBMmQ=Dl>ci;&fGhZGNmp!hmvHIC33bd}T0~C{$4Xxe=P?1E)wg z9rwlYX+`&+{Tk)Hwoj}>+=p6Cesd?{E3uQN7O6WT?#29Wu9MWwqbkVn(EXKkV1bY4 z3_)CR6!4wfYwh8LrC%Ay3XsNLJ43(X()%*n)Jo>&y1I0dwDoG4pBJ`+0&#i`lTZ23 zCQvW%HlG6OnYaDKumr~~if@o2A*ocyKi&g1_2eZli#!j&k0o4rqIBmA%X5uJ8<3&1+!?RZO zn#SGCZ1S4u|2u1HsrtzeObr%6@ibi#7+?YiP2VB4FCdo)c{B5r*O*`16%rt@V4K%c)OoXCKMhQlyGsZ~&zjIq0M2c@95 zn`G!3Y>R_pZd1IbyVxjsRqBi%t%4n4tW?4a@w$A2_!My(=7{_(xgmDvzqA^%RgMJg z%{xA~3Uqs29YBJ{r}6S^9?ccs?&Gzf1g!VCubLL8O(2zmz1?4~RP>X6IE?GU8jaV$ z)yDBm=BV!)OX~hTbv&0?Z?=vh=94X*q>*17R++tVWgUtUyk+m}nW)QCPyRGjA}$LH zl0E;+R4rwDU!DPJpk-)H29BjO3!_}rrCuDvX>jYM$E+q2!at3dVUt>=8|&5UhNkqK zj|*CD9M8hdX_K7Ve76TsfZ^lRNdT2vjG7jyVhf*=psD@*bne7nT7m+-q>=L>!UYDx z9PoPZ{o|<6QT^vcoOHa!G!LM^XfNqh<>CfB8?)Cp7M2)9Za0IV;k=jQ zN&0R7FeX(){O8$YV@V^rZKdRFVSziY9$oaMmlWsB#s+m$yTxu(L!}3YKdX}!>S6D8 zjr$w>J&cAu2Us_D6J9-SHkhvzrllqWW~7gW`s~+fj=mtS1(M&u-Q%O-tnimVmdv|6Sl5`T+!>x zEA=Ja&Jf6*+!qiI?>y83AK&{pQ_JWZ2cQU-Md{sIk|I*N0 z(v@#bwHV5#XU4-VVUOP2xjTG>bd2|({~rt!tiC^8N_O8%IVKOCa_rj+AXLShp39X8 ztW*tN(&Mb89vweSI%O!+W@V}f;g8M$%bT8&-r-8=OIAdR>$l>%Fqf?0#>3>=@<9Ff zhIkQ$vCZdYV1tcMq}vVqr#Y))jU?>e9xuV**u9tSD;qWn`;Baom(2IQQu-oMSEw`5 z=}j(Hnfr%4@Xvn{$mS(Gr3-&hauRxgnR#0)gI53ZAjnH5YcTIRYn!R|8wl@4W$$RM zy3+Wp#_euzwG?Le+?)XnXYJ#a!ThDj0QbXBQ(Wt)ak=K!2X~d3oc5U`cxUv)kaS}# zS=ff>aXC&+``f8R{d99Nc{j`y946y^m3!8Tq7$WV<`v2Z7a}i%FL!JV)!+V!caUb% z*Ycp_+50@mV%&IqRxKYoAo5x-!L5-v0zeZsch8Xm0;ZYt*BD1Ggnr zu9bxJ=&(YqUiTv}e0{gWTEZN)i%;D{^ zHdNSsa%^&vGzoZMqlG}ar%$>?_fMxpjz?G5fFtJF5;O^_cEiXV1c*&mYmy-UC-UVh zXR@B~vT0%&1rv7g8D)AkZ*f2R9O4a!zFgd@KJ&Z<;XxaXfbDL{<5$W?d2M=d;7U!` zO?8z}mhF0$4bC1Sbrs5_EBHMJYvtIOiPkIYZXO=$?y6hGlk?&$rLhh&vM%Ad?obwrNVKzOhLmD<1jZq*q|mqU`V3M|Sq(@7!RRFfWAN6X85_v1s# z>92W>_zFHd4^#@rTxiuY0%VodKAAX>?lv3)nS{6Z%p&N|Du;%Y`HBU}+_6Twarp;# zleaC5*GoQAN=p{MW~Bagd)K|E8)@uzp9M@TXL1 z0M7@lnKIq~dP=IEe82;(2BxuJ13X4alS6Q$Vre`p{`Iq-=@N5203jI8CVU+hdJ8R?X88W>u*M+iqb zb7VZ!^HPClsn*|#5 z8wm56U+ugs)+~&^t3rL{johQATxt1+KR;GhsN?O3I~|6-@6Q2Tu-p<~fAc-uN6Lre zAB`0;N&94{Nq2)IaNM}V&f3JaM_*=%4~G97_;{=U7j&5%m;*Jgyd}jIZ+oY>O1=% zp%A?MUB}jy^3jR9o~ok9&A!5r=~g4?f7C>D1M}_e@rZe9^A#<*)wLA$xF$jZm2_!F ztp2wwZbDHHKEi&Y_da3C=IZ+rC7sm=AC2pMm}KxVh^UM>N3Lk%x0yN;eU8m4B+GsP z{RYpSM%mAio5aj7#tuwg7NLwX&pvWw(3b!~;ZvsPq7Z<2E#kEF?weRKyPnE`-j?vxY zL^Rk3c4F1$Rac9um>GEy_C1$4xv&5;W-KEP)Crf7Ij4S{tJnO(g-hIf`=vOG={Z%R z+iF^!t*V1blpcrW*{bb+*X{Sdkr??}~u-tat9(D*sTEMyxZR@$J7u`r@5z)1Wy~r> z814Nljp)B&Wu~33kW#&tFHb%1)RDGm zZ%nG|A4bSsA$1zz+J`hQu5&@E0=Lx-TAPS%4;1W{%rw!h`*3PJtMphCMWthaujuk! zEY!T-Pbj_Bai6CE$9aE2L%y%3+V!Zp1!ewgda>e}zt417)cCJ9R;wI=PGf)rEEARf zSBIznt4bqSK5x0Y+vRr2T$d&LG|c@p66NW&H|e6Lo0GFpOE_W5$}088tAJ~k4`Z68 zr(5;9X&#|*BZz=D5!>-HaPE+#7U}Nsr)V8H?B`94`$W3n{Rq>KFOG5OPoAVTQy_R(O4paW-2mFUxEFOBgy_^iVKfP2RZ^q^*8x;7`tV6BA*P=&o_1J`FK?`Kc0 zS>%8`Cl1qU7{GXPwvC#Px8osx{wJHP7ADWki8sO=g$+(9jKVkk*UFs|*-oOev-)?8 zBMTNU6U!@jvn5_~q^NVyJ7OVIMv>vK3|nq3te~U*sK;Wu9!&iu)wtedRU-Qv!OgkX zaku_6FK878@@Y;CKI(j%%=-%-En#J$LS*kzmb6s|4?n!Ygua891BdsijoPiFo(J%`K9M8LDKW1WDM(Zb`HqsXp~Wrh>A= z>n%>QOLqcT&xPq~+yYQt&pxOSsOb+7f-d3$z;Ea(x?(qn6bw8XoaM2wKyd47mc%V( zTg2KDk)~{UQL7@a`#ksrLrUYUzWT5JG9e0lYRk z;z+d4>D3xrYS@&j$B1Xa7y-HweeumXu^Qd1`YB#P&$|4(vaaF3I${apRQXp))zYl$ zBKBf_`ZY&q#_O{n1#-NC?(|UPpZ`iPN_XZ}Dfn%_RI?z=q?*Isk%d@59N09vdVbs| zS>UXZ2(aMQZJ9`qX3Yal5Hazxfue1bAmqMu#yF0^?$ph)4R>iRS!u+i8!5KABUc;v z+doi||LY$f47BJ#j@rL|KXeD?#oLGwjvAWQo?y6Jc*Uaq1|lu--zx#odKDck({<~MTU82{cSP!WZY)eiYl9^HPuCGx+G^F*r-uG`|@<dkeB=Ij~QDq%Yjd^>VSJ7pn;sIpQIX8M3G4L&Ryw;WdOQ^Vs-TNy@nG|4u1&N zi1yU5T{JDLQMZ4rjyDg;se859VV!u`f6FF7qZp|UjM1wP#L%%2;t9W)ysc7QB~BTv zuXt4-(OCgF^RWI43Kd;Zb+*Z7(+b7^C$c5Zc51VJ)L;*qFw;jmrL=r}JHv0coMQ2e z$7nW%*PKIzWO^JnwMjkf2&X>3ITtOsgi-SIVbb>`w(Mz_IZgY4<&VKEBaTe1i$vv z8*O#*(hN(xyN^>qg5@Wpxj0liB%A+~ba4&_4bgz9N1vp(P=15KUNG0$9U!Jv-eM^C+(lxBVKciu9y1B4<9m!qfqeZmd*yexK$xuz*`=%zBAd zX#|~bznG`GH{Q0gOkHwN#usKyaVBUSWg-bzHmDzd#tws0JJrE(n{uy}&aJ(~L_{Tv zm(ZBywYTDRN906q5omtHN_@uo)m@aA^ZipXp)<{Np0KSZQdW8hshxh7QzkMT5XP+a z$_)H8Hx|}XEp--A+{YTV=HWGP0P2_4VxZ-dKtnU!FB3JEe$tDQAm?Y!i8rBUF3U^% zx_?^|v4r_$@$df*lr_I|LAlF7JTqF{Vj z1Jidh|60#k)6oCry95O4>b=GsyYa#+W@X{~e{V=No+T`TKkT z5u2SW#tz$9r_Q{ZIm$-(NMld<3zLDBp@C$fs7c@D8sHpvl2bxwx?i{-3{ndqEiUN| zwz)gMM~m?*F7i4IsAa93!j&`PWw67G!=*Y&TszHjj@eK^!D`JJz>rVDT~w_W=(zh2 z&^Nm3q%3+O-_iI$zXvJHq)#)8cwO>jnJ(nC$iL%0d#d^=Q%_HeaYAIvyPz1tBjH=wP=tAYK)pQcfjqpd>v}o+{->APvVGEnJpJ zCR9j`-fz*Li&LDL{W_w^P24XNg;D9tThvP?=SAu%Tb+s}C6IgN33wTD95HA}ynuwM z$DRVjf(xW|L^yJ^w08s11g9Voo)PW(g$n^jsFd3Vxnz)#-kv z3%otDi8KCi{H{v=5H2}tGbs(YtKI>gm0DwEpk6*r3w1>~I0KK2Z1I}K6O?Ts3;mvW zMS+3yup(9}P@O1X8tpuwI^6eH!tbtbIVIhc-!9$hU7Zne$ceUJfTgw43mGh?~lEn%^{=5%Nw%4Xp^?Ed9XxbNXMl568c;GTP zVJI9ShHE{U-hY+Exc?q&B&QDK@LF;=)vUWT738u{e=UWwGJkQZR3t%M;qLzNv!zB@ zdFgSn+E@duzkex3I^uB4O;@V8FrG|^BP-LOhj>_OMKOZVf{#D5N~lRVTTE-b%1*ni z*Hd(5W22N1V+J|Z;=dMJc%{sNpY$#Q4WCY2*`|&jTVARDcD)eZK{v98@LEc?5nQoa zE&#>UsWKqg?lCCVxGl}a-`-R9`0Y>W4$=h{@C`i8UQK>QC&0)Z^GRH%1zO#mdCV01 z9xSmRXy6`{Jsm5X)bq|yR~kXlpyhJS!*b5ai!QYq$gf^J;>PKX9SlC%YND~) zjx0+oJI~>$F1-x+;EP#3zauxr%zPLJz))KzS-N-Ji$Y?cHqMJxE>SoyKfRI7yWi~M zN^#4kTFAj$s5LMuua`x~8JdmcJej3rNE!VoAwGI@O402byFyKOrh34}_g)#45do#z2n^S|buB8T=JN*YP>q@W6n5jdmxRyWt z+Nl=YSp@DVGxroXtGoAPS`9GqJo4%mE{nIETo?jG!J&t1uI@I!7jI{1>Ip+V(EHRg z18&e@?c!_YbW=9NMWmJ-o3%^bWV;BhAclP-V^%t>aSe zKb(AY4rVUu2H>4))q`)_imTPnzOn*6>eJsTB3bnXkE7a=mD*r?(v-Xk^^f@}NB{{@ zo$q!Q{{8GLt%xSFw{WJYjC{#`_EZ^8f?W<+A^r_|sU+ebpbsQ9Na^0YCWZ(Z zbFtSU#5c7>{rD@VL7dNcG41EK-W)5TZ+c<8fjKHStYYE80W^ohrBXF(W1Bj2Pr8x- zvaQwSFisJ?OO+u$UN5dx7smKFUMR=Uujv)zEH0Z`ZmOrBo#Ac{?Cg{>R^t_?&G5Hh zTpVlEqopfXCeW#AWi{>$|Q{&7#bNe>DKN<7qEwhBF{J> z(lEdK@d{pqR0l^fXyx=vp0T(ZY!IY`eRifUr$ly;wx_JDQ9s|I)fKkKDs;Obp*2x) z@*)FQ>?3%FKmDqBE&cRcFVSpKeWfK?wL}!rEz>pP(dU7%9r7|d`E+qRn2!w>3f@qZ zs$L>VJ`&07APSE*(M@8HUO;-mzfL8YoQ78raW50PRlFPI&0rj*su>Nw9mWiYy{gq1D2*pW z`@w_7G``7C=En-eBjvD_r-#NnSkJhNGc56&AEZA965FzM|Fl=h;lRwbW2Jhq;%2W( zA}=`+R+ z^o-_s3tdPSrBWQvuUDsRQ2^sjMXx?ToV04&8jP$b(LA?w&Hm z4UW)1g%L#g$pN^oaJx4M2F7csPoH_U5bQ~(rfW#7Iv+I!M{uf^1hY{9l{ogyZW7wp z0`czvi=rUo*5*HmK>Ubl{#?$6@MByhZb~GmfAv2AdoGqsDfs!H@+15Fiv*xgJjGFR#w*W2a;NnCqP$p#fnT+> z5Uxn}+ts1^G#%1|U#`ZDmml?rvD?!Bu@^jWc&O0tc^KDRPxQj*28kk}txAd*O2v2* zr0Lq7eG=?I#l!weH8AgCo>xYHtcN_lI(shwKYOp16v1P`vQ@j|RlK7|AC4OTuM>*C zuQlmr(J@)h`+u)W=?9i&qN9hJdE2Ve?E#NEa7OEw(a9KbwPkXx_3d-KN{czb2v{>U;!QQV(8#m==`;m$Sts>dr$P=;EVqHqs`o zcg-UtNn5 z^x^$^Ha%FF5*nTO12o{@zu2l*-BG!L2*2;hlu%lKc)FDm!2CEpUc-&Yf?xKOLyK)S z+?KKFK{H6W;`oV~{IZku=;Et{UIs1akd(TWHLhtW6 z9F=?WQ}McfdhqKw(Ho+fPAX7?a}u?u(z11QTEPi^Xu3dmjWetgJ$mIXj@9n*9qr5P z0f`b;wEIj+#kY?RtwzIM`^sc~zv-PdPN@F$uhUF0q9w)6fBwQ$SFJrN=l*>5D60uC z__{=6o;u@YmSp}qI^ISy=d+g9LT$h=S{cciCT}x~9+hM6m@C-nzxX^Bh1+vu!p&12 zOZX!h@iq<>^4M*u8meiw^ZD@HMI2Rl!9D$B4XWQMQN^IW({GWsRsJd(66UK-Rq04q zGKJz2i;5-SWbSRXYRUInEZN1%h{qB|d2C+eTn~L=m#OAA(+ST0qj&R(>Mz?;K6Ptf zT1u=m#tD8_lWEqY4KzVVYR*B16^=fr{$md!GmdU?q zJ_$io($IR1i1299ND&gFE1X6(>YfNsRoxAVU?{V$Z*+K&Vld`RHQN&n#j4*m(R!#F ze4l7Piu$^jk&nuHR!vlQLF@Uj#aJ8!&D+`->#K2GxIGtlOk?bL$>k0um= z%*w_qIQ3|x2Vw2D)2zL0MjF1Fe7j}p;X}nKU2YnP2u?k~Yp1^JCGZmx%$BMC-b8Q| z^W2zYPm=#9GdwM}= z7^F?9KlD$BM?5^0-?~c|tiuUh)@7 zsI@m&unK>G#VX9D_u#48e4)qUF1{+$p@!2Ta@vV~oT<~ph9_wnY$)e+EHA7;O*~RS zX?YsDauZYF>Y(W=RuMK20k%#5O(@r1G(6iTpUjOM8TpJPcfo;)_QC3a!@YXu#@)uc z{F|-^Wc|8ZS%y3FbitBGN(HRWen_jOO=w-b7S4R`35Yq|&|NDc{qOj!tB12{9RTN) zlVx;@-T$x*G;-|#)@1(_0*k?@tz2O=wZt>YNK9C~Et}4^kn!ROy@=J2R+j~qxER=C{IsuGw$3(;~`7h*?#o$tzH9esKFV& z^6RY-YjD%TG#7HIPq~dfKM^p-@Z`pLGl?MXXb90S>8f!$TSt>W=x)DMN_paAuZnSD z-y9Ziq!i;OJKlUc^1xNSj;x;=x`i&C~nQve*cZ`{?! zVFX)y+#fTEtpAp3HSF!^yt6VME* zyE(odt)9j^{7%nFCYZl?mD8w)@11Aqdbspcz`%d&L@QLo)`Ur%V(@6InjX-{c@?^S zdk?aW%+nI}X!sX3l3CyR&GD*2T571GvQOML5{>Q7&!x|MIP7Jwace!C7}dQ^mhRr9(;jP& zRif>BsB(t8@V|-}M|9d57JnZ8F<|NUIsrS|2;cu?G3VizRy&YTau2^T-+woS+^_#3 zRmlihC()dzW+uj~0mK)sEeFcqwOH<7lrv2((kk?B9}Z>t;lBrHCNpuqD6Ub5{>ddO zcT{53C}R>8N9z8OL*ZYMN*zWJRh$w7n17Z@Z^63GycM8;l*1#|#T9Jsikl&a@Ty$3 zMl>?sMhm9nZns*0?&90mmxBKGZb0i1Je$mIw z^si1}u=%kbnyo8tIeQPfeZmqEHu2WdTwA>AvAVr@MZAoGqGRv#%IG-ynZ^1Z=)-Vs z?3H6Pp&p#oCsETyEv(ZT4fnbyYYO?)!0F|#`an+y_2s2R{l$WwWK2Zc6Ci0gW53ow zVeL>YsRzftEeRW_2mHu1M}j%Q&>?xgx=u&c<^oTTftTCIJJ9XYd$elZeQaxP!1MQ> z!<%QGkxDWw_pVGOH4q2JecTt<7Hc&keZ3-b@j6)z!|mZ^dgNTewvauUQq?^>Q34wL z@61$fen6Fkv;ej9)vz#;>_-^%7N=gQFrgHv&Bs{na$V_0xqTSLesfE_jJ~ChoKO{O z*4>Bt#~Xq63D5E|q+T{MOznvKWx@RqgBGKen=`J!Ch{v7`9da1yNSy+mhsFw&!!>5 z`9MhYlaj8-34QIxO7+s^8U*wH`|+ZqXt+;9E1eFHRa8fG^1!fVhdH(K7D@txk%_Q~ z(TjJ%XP2+F`0=1}qWw27waUoAe+an?%p@w4>bb)uZx~_D#i1Oe3dr#M11@k!>|&Bx zI6F}TzokSHkJT0pH!)Ws@QXP%zr2tGYdDo_35ed(s0 zoZ${rm&K#=RCiD!>MqIzRXEX}1WqmF8LtWM8wQn{TUZy;MYdlSqk_B7l=fc2a-(i(9w%<{B<9y+`(AKe-y+Ih>Pd zgm&+}E?$46VaB^}iABr?f1e?vWd?BI+V7%CFn+q0E{J>K!NA+0!HH{|oeF{wzflpr zz9Lp+pb*>>L(GgG0U!D`vk?@i^H8Q4Zd+Nee4l6>t-FKIPnez6PiJS^Dc-&m=!oXe zkGCF!%X(eB41oFT&jgLO4|+uM4S$%oAqG>f%b%*KW46yl&eRA2buT?4t0s1J_I+Si+Jq1pMt_X0s zULqIz-4JyJ!v<<#gw+vZG}Fi15s8@`CeqeE14S?}b<>Y$a}to!(B z2sZbX%1nuvQmG;X-9k#^%*IYub50im?(RCm;R62{=$SgWu9a)=&vQ$hMwp>~yi(2{GRXg`=`gYd(O<~@_xVG_xBrpZ_kf%jrccmRn2PihJsrC z@DopF36?&bB_R6Ea$UV5PYmPd`ViD!4`x88B?HMgfa}L5_~?@#82Ti-z@BS%6shIC z{dzg#45v4&ma@~JP+oTUiTTW(H}(+OGW)aJkR?uCPp;Zqwqm8Fm;L%sqA7`VsY^g1 zpZ7H?iv@1sMnt#Ygu5LDeL+Q{a$OrwvqrzNynZCII)xlXA{~Epuz+GSFKvWW*yH z_Fe0Gdhp76qjaJkq)(+kqWan1`7W6I9jXQE;zU!byob20AD^`cr|7g_Z*=aHw0=LJ zQAqJWHwe!i`4xDAzN9tKWp*#AMsu#YPixyM{c*!_MP$MEc_ZDVJ9fryqN~p3Io|u* z*M4cfnPtn)3b4y-J1|>|2iCV~iQAKiWc=PjS~BV0K*@?lNi%D7mA`V?fBxon(m?hG zh&?)R8bld(*O`rm`sJzFX1vFvjSAX8K6kM+dRF#2i)#+s%ArAL?Smjq{OWIl`nR2d z4#mM~0dwp(N!wuTX**_s#oK&H*|Z;pBu6K-My9ydn>7XM`x~-FNeqdD5@-fkndQZL zeB7KIp#MOb(S=z0Y;URS?aNVn^Cn3iJ`zb%BcloH?M^+I+D}7gd+Idyf?aGxN9u9u zCe-rEu|^xP@Y|Qf7Va;W@DCWUuwC7wMr$MP7T9RT%T~ZU(S^lEZK2rf;8tr-ybIyc zgeN<`gIO@IWUit$g8s?*2`1 z88%KEn&@!Ps`6%j0W&FZW*Wm&ekKxU2V)GQn@!~q2G;-UchFAxJDZn- zS>-85B6$d`Y>U{#WF&Y`m!2?HS<#u`#ocu_`L}UIYK6MCDU0fmlvyXn&7eB^f_hcZGmel(W41$&fL~0sNF>_$)KzwwlmkTXsKA6_=emr zQ7+Bap17inmQ)gRVPr`q=|xxJ<%yS=b@bg%9;U@KO?+lmqLGmFp}A6=^NSdU)@2~% zpe1q2D}&#m61bak#RVM+3tyrc9xafbcPICeLb&Q zuF1Mr`Y3{ghi40Q&;D#frF#AEun;uJ9atBBXd@qfIw8lxY9H}iiSS|=i~V9kC~P0T-TUrp!nlNL3NZTvwVR5 z-kE2C!0Zz1zV{6BQ<{Fs^2m8gx>EquE>we$i=(sDPq(5z;BPXp%%Y{c^2yRQze+gZ zt@r5*q3%ytk{+tlY&H&Ie$Ijn*sv-xqTZ?I0W|EXk!}k(j_?ww$_le|KGC^XCnhS@ zc#~O#IXwGbZX+I42;2dHg}Sq5uFWZ4d7I1HzL`jB?SS1b1c&ueX$bC*fRB`;w`omc zv1Ght{Cf7%M8HVpB|g&2nw4qE^GzqcUN`07p|~0$WEEe;(7vRy{oMPw25;#XL_Zdm zyCI`${_A(^!T7nE>SXZoA#bN-U~I*rv?I0&ED|n$Ee+*OlptH&b8?lgZvLF+-lhE# zE#l6zL-DZW;Euh&NjKAJ@h|A?-v$;8^kd3-_v*JMSm}so8KbJkQ_NZ>j(l;FIAbQP zW1pxU+ZFxX!@o+^oIuF`aibY)sHF$c6IG7&+f#)IyHupZ4RN17Mmf143%dx6W6RD- z6zRdXZ-^0`dzfEKd6Oj5U>?{ldQjV9GqbA~2Nf=vpAMNVGZkWimZZ@v{-R6`Sqx|7 z+I8nY*Kj!Dh^O6p0>iJStA!2)@qU&51z7lQEKUu$$$9YvNrLBQHNJLc37TWP#v~CP z3^A(F+7~Sq&OOjMJ<+Cnrw}lsY43&{2Ylkg1(j;ikF3rq`p)KxT6!6wO^MbY`DB9D zS^*zC(jX<4v=73w+CotTxxM)3ca3gl`1tD$he+86V{@oc7mp;>29cL8vGV#NGQ6pa z1%<~I*UVApK21Ktt{-yU$hg?WSsU(n>fS8IS1+^vTuOaEDr;BI z9G*sW-Sux8?tXcIUoXDbyvE;tBX5je{iPsMADUp)5l`6O;zJ8pH0BER@aVlY7-PQ# zvPXIGI2Rr`;9fHrp&q%B>kOa$GYjCHJ^;<5F=>~p==@#c>@`~Oj2(J7^vt1?S}5Dr zA|V>|$Wc{Q-Rhw(k{#vKg+A|Tz#I)0(6)q|`(`4}nBcthMTtW3gW7F!KL`!vXH|{r zp6()vjx#mRVSNah1ZyAi>yr@j-8gi+OT4`4*SVh_-tnYRRO1clQu>=U7&Qz5+-p6Q zjPPz1Tf=QnH4R8OVy)QKdi>irq(7ZGoLh`~AMHA%!2b)f&XB%AGrhOg0;OsrKh) zg{@CGV-{HC+_AL4)7>FAB$`EqwiV%dtwvWKJyJ@OSZpRt2D_J9D1_FnUuxarMlkC3 z6{|1@1H5>g){wIL;#oOVPlFyk4^Aue99Us=!Z+B89@(0hKrJM-no{EC9o3p;v1uC? zO?8^&$twE`KAp0iSL1aBR)c%8HoUx|S_{QRW5%{R^oU;zE_56gC?ng)Sn(X5wc?qjSmT3*a{_O2P~T%cTKkA(Za6y|-CDXiJ_#d1VWiv) zIms?cqMSE?4bHBgd`^1f?y6Wlv00{WU2)ylI~(#LHe6)*cznp>KP$CXahmwLYQ16V z^F*^na$5y;0&l=(L4`W-az^f^ltGC&rSwk#@yE>aJ7|2|;&zBzF+b?|)MU0^oYMJ` z!Ph=qR-r1};X{=Dbal!alBgDvmFQ9S6e`sLuOeMJ|7h3K!1k%K|-X2Fu8A=+>spX2o z%cNwMp9vHWUjmqjx?iUU%btTtyk7sY+i8*4x-=1s>)!89wMZj79HgAE*Lt2Ci5%uc zu)w7fMfAA^bjK8^k(^jyNQcN z3feE*;x|#>Hv+~c#A?)?lSG?2Ing9;{(PwE`iZ91TmAAbkt@oZW@%6LfuTmQpJ<+T zeKP8M$JL2i3Q))SZAna~Yk5Aw63P6)6D6Ru{2wjSt+wGSb@d)nRk+z3rWlc#Bxt=W zWhF^vNuZ+kdJ(V7r&~#v-%{nn1lj>a$%Xn#<>(9Ql@2o)PS)URm@N2W4pIpHItx|Y z;E+mPTau{AyT+U4=~XRi{YLR~JmsfBZJfm1U&lzdK@F}kgG0n}*BqTFbv{{zz)vUX zdC%t}vWwoQ4N+x}lIoJW1gE=Yn%UJ$UH6tWXaOY=Xv&qxr<>H^3e!1`W>2rVmhN43 z7ddB1{MM7%2Yw14csT6(TxSxc|4}$AJnnd#yWaE897OlY3aLeQKD>x}&#lKG9HLb( z87;j^nn})BG9PNgYiQIDBuV(1?G5VUHmxXC*oQM9ML;g-kb?!9taw~E+3%Foywj~voKxYjD61s3mx=xfA zN&8jOgMl*9mpXNC)i!`Ue)XX=8~yTN+`-~5BC3DtDqstsfO22jgL2*X6S)` z0e9@2H37O%4xC8_kfIceYvj9&47`Qm@q_YHc;;@|UZmF-YH;R&Kg7)(uNFH!E*;GIc-MxIZ#2)zb(6T#!6O3gs)Abe z!Ds9u-8=QRf^OB^Bh6DzKQG;+2mMB6>PbU-)UVUSCsSzz>)t0~N6;_gEg$skx|a_* z-YZ(O9!+@`EDPqAEUY_V-|U3L6h#SsS}tZrl_j+Q!ip?Ay={_T%^;z2pZ%^}56MQe zZZ(?7$A8~3N@1=OtK3#XS@Vc@>B{I8@Vq$zhA6Bk&*{EY>ST5V(ZmpkgTv(?LU!SQ^gXw0)L8y!SW}qtG zT|o>96HgX0}&)VXGV4c_e_8JOC~m*2>>(tYQp`=-|GR`>|Ea{T3c8%vrBJbG|^!N16n_62^nG9E7xHM5D zM<8RAKKV!kvU*Px5g%M~v7w_Fp8lBIDfDSp>gv@;L5H4G2-C$qAGZTF-otEMj^gnU zL}5Mjj|&MT9!5M^*RA2!;>is3Op+77NjQ3Eb%sN-9ef?KXN2~v3t$`cTyqXRh-W^;`z2@?D24- zTboJj`e&(K&SdWc^G#1W-r<^pEAF`|QBQZdWl)E5!Y^*;RE7Hr_Iussln*|}4(P(r zY1WpgLz*%n1>e8Iz47>OxdZQCX|*04^-l))J#T7`vm9NWj+4=--s`6}CY3d(jZEk? z-KwRf;Ig!rWC*JyUqXE7KEb2=+D*(0JT1pbzx@?7rX-JM&CdEIHp^M~wKxyF`**^! zR^OAgfB}Oe#FOL9eKT7pJA*``&kq2R!d;&lbp$TfpPsHD_4;{nSXu4A5Qh5UIsud~ zeC)*ar`z2$kh*Ytr~2nTGR)msvq_R4y#vnC5L0hH0nCMCW{Y^3cYjrvYTrdWHPv~> zv`Uftt{@h(dMml;d8hfX)Y*S!JXINBDrH2jcV`=t-a+#&F8Tkn4GVSU->1{j*0_W< zW^x)hcrtbGyzRCbZmc>(%$j5JZ~e3RsPK1QZJuDrYt|w^!%!XR^rCpgedbFQkned2~ zg+?C7r?~cXn~X z-kxvS4xRYUPPeJy{ersTy#;1hAN7#UX=rB!S-QG%mgtDV?lCg(NBR3csgv?9-_P&R z5}p4zeGoXBzOS)*7X7!02iOi?VvGbj^^y`r#XT!TP z?N|-pr90KI%WS0F_n7BUo^-|BBY)s8&Gf6c;)GG!&6;^hYvt+3$vJks<3fDKvK*^= z^L(f~-sXcj&TnbI8H9Poze3!YfOZnccX2SQDJ?%!i5LB=m(2_s$ zEx(D>@&}+L;G{-Q|b1gk8d&=k>q${20 zx|OnNNuUgiYS;mwnPaaHnq9}K*5PI_ft1EqGHtqd^H1q^67TzJ-Fn>pkt!Z zAoA0V*-kk!yGDdAR_UR;<)Qb^P4jCA+3BMqi8@it^%C~G_`fpU+*vo;Eu~GH?y~Yp zZ^;+B?#<}5!{Oj+eL-yRwQpgFVB;RpRPfbb=|bI6CP~-o=y@us0f;4{az`Ux<;Ku- zGKIRe{BJU0rXHJxtDk;18&W*B)$Nwc0v@dGS95x7-|SAR7tPX&D8c(5BnTLqtw*S5 zEwv$M>npcij|=X~RLiu@PDby&=%O|^{6{i@!kb2E96`rw*HXiYX8nBJBntpO2-j^C zEs-|{BkJ86-HD#sRi}51UX`fPgSH0{sbS?khLWN;b4e*V*Xy{oAo(+FY7IAwP?z2v z!IQ&neGP|eKK62&awp?Cn-9hixSoij8f`J_kEV6P3mQy*b1cWsS!j)_S7rvo^!PfV zz4-ANMlGk)bd2AoMulc0wQgTeu`6gK`vZ6$Y46$~OOH?dKu{yoEt;i78LQs7B+)^~ z(i*suTVC0umcNZu4(D#6JbU0Vl?ed$=!3PGJb?lj%PTy~E)`wP1x0^3mb|CuopdYS zzNfJOmG8H0(z?_hpBNVJ8ubDvqCEAv6q3X;Gc0=IQ%*cQza!JCTk2z+2v+N47KaSh znuL5fD({fZP?wT;ovR3zJrBP}m)<6vaz`Y!i(ck8;8O|A%ENT;{A+wj;Jb^=sE4w& zIBZZaE(C7)yxm0#dV|K5E_x2pg}&}v^x7DFEkTG)$KcQ1a5j`-xkUgbbReg6+@m%m z_VtHp)_ne2n>%Z*UD&A}{tn3#fc&Zw-t>)UR8qNo-B5@n`10#42>JIBD+|?y*W2}k z1hyMB1R##;&2rT9jApS@9u3&_ij!Kmdh7r$5mnG|DB7JgJ{uB6%pIPvaDE+b zdulMw3^}`XpHOUupgtTD4z52d)1K1x1i13Yd14kXe%f+b-)QUh;N^BXY_E;4?bBpN$GJ zbabY4MUaT8k9;p%Eud-_>7JU<>Q;2H7ZeR?Iq57s3Ve+Y{RW*oShH8UoJ5FS8uiGD za`_wGs~+9gC_R!avf`rt>X!#=g`z-Eyxh_&5va-oX3+vYet2u9G*#IXT3S{_Gx)7B zo?R>-T~1OG!>!kD*LWi;XqeZYn{{R8+xZSgPuxx0ARgtYL5ZmhW6|Gvr{Q(~ zO(WqL$5cqx;_o@WX#W87#n;cVYw^Q8>l2_n(rg%`TW3C*c0^^$wW2XL`W3qO{pM^V z?RiP=noO=>k#bQJ)rm4U`~|!A@twhtk5`I{ck#tyOu@ z^k`GG`a-VFc{Iy$c(WVCZ{RYm`XrR zL-)_Zf}bD2zrpnP-BOYoQ+^@IHT-m#G|DmJk64*j$WsDpt3FG&Cat|*UMK|qR3t@I z&W$JgrPR>O&y)*&z(Uye((}uDc@=z$sJ9i}`%hYo9K@;30^VDm22CqW$H5(tFck22 z$cPLihla0}%Y=?Xwf~X%`60_5PPd3iNVllLxn?&ZN_4}z-fD2K*~$R*Kj&+q?u@;4 zdyD$R?`Cy>wLAc*!y+@T*12zXi)hrGr1!z&vl47*$GI*_EiX-$K4gK_1vx7fIPw_{zZkv@KRUGfHt{SdYh?D|j1)Oxz!XXQ5 zI(&IN9*t}H78O@o!k zN$H_?&$R^qX&q1k<^QsJL$^BcZ@YyN$$hkTJv@Uh%9KOBs?|{8@WKX5KkjboJ=C@b zNVeSA7o8@oo|5U5BXzB0_-f5sR)cWL>-y=tY$zR6h?6BXi8zUfYD_@0PrZe48UDZ{ zgCzqCBK375bJLkqd$I(<;-eW0f$MkM+ir#KbpA(vXMJ{$(bhZVq!QfHk@W?!Ui(X6T34E-C#S+5iB^1D()-}nGmWm^saQ`SHWw{SgCV1D zHY_auk@U(gq*U}Izf+(j8xc)EMX>U@xw!N`?P&x>q7}N$)OtOxHPTao?Vh)We9vZvZasSLUjd4s`@5Bjx@J=j0rvdpvO2YTintR|K#TzDwZ6Ka zt%REn&2;3gr;22B(2V(sc6$1)GTTjkT=q_$j`HJn>CvV}Lz$%qpTC_qv@g2X1#hk@ z=4gX=CmRtW?Y2L(deVn~_Zvi*W#JxUSvDa1>2|Ydg7U5DRH#;=85Gm-X|&d+dw0ES z*QMwq-JDcbb(C=<+_G>!UYBf?Dm7t|dCoFO&KV(M0`ZK@(8ELuQiv~)jIM%IeNP%q z%=EQZvC}~y@8JMO#mj`t?fFlPPKu2>m9irB^vBHFB<5q9-Rzs?J8``k15%^jK>9nY zueRHg%8rqH;GeAMlc@Ts#dRR^N|d`*+@^m zRFLOe?{o}p#?wnT@xDeMN(ZUE_c zx8=uj>39KKhxx$AwA<1g$Fvh%nCG81jg8=m;R#<~E|DQNODl3ciB-4aWpT$NKWrq# zRit~dqRRO;@N~{iHd~qe6|V<}c&KvyOX*I=V9hf`S8FNmI$Yg(pRKFW`KC8lTwyN2 zxMg~d=Z~GHMY=M+Cc|ySQYnHnv!F)(Oj4b^S7l<2^U7gmE$RdNkUyixHLs=HB&9D( z#^1XA0H4MdqaGdQ1!iKyC{5pya1~52Eo{a2-gG-e;ZFxiWPVkmTUYutXS&4w0QrTN z^fNlI5??A5=Ir{>uzDv0y{(6A@yCH2XZS(B`6K>GwDG@xmGCSQsfHF>dvcn=X$J~C zg(ph{9H7x^Nz1_Jss) zp0oZqkOY;)>zb!4&z#5wh1AP-^S!mN=bWjX36A^Mei|>EMB`a%W7gGa6(a2US2ReJ zz^YZ^xrKVT0=y~(ZR$&Zq9Izn%;pkNBf$J8Cfy_N#ZT5KNM;wMy8Dzgih7IY5RF?1 zLy0?%PAKB?>lmJDCgENka06%Kec?+fl{IU&)}&j5hNOAUVdvPMTyBOWoB|-a5k^si zC(OcY#KV^hNJHA81#0+#*>tFg1CknV>&&%?$)KUB^lwNv3uN#>=dwu|R^4}F8W4G> z!jHsfDeiS_Kism8S0>hebZZZvO}9OOmLh6MDH$hM*tN8TuFSEaLpDq2$FR>Xw@D2m zGvuRlwrQ~*J@{vVu738J3W3*^cl{KcbDAnG-q(%(vm7VJSKf7SYC$A!k zM2ezUjWg>2qc#7Nd{pc&qkISfxg*4?LMDiR2j@f3W-cbu25&?9e=7Kl?5TF0Z6?v(K}?Em;d5FlP-qp)10oXdeek9tTSmX*gR zn)T@DO9}L&!Bj}=^&*;?J?J*c2W_wr(V~HM8uK2WpvpoeP3BvhQ4jH8I^aaoYIaSs6be}*b!D{J;M>gF=jkh zcjkXt)v4nBtkIo@cA=hsACL@lXT{4bFBoulL9=?!6uUf+ob9?|Kf-!Xp2cMm%g~xd z))-B=HvYL**b|3Wv_Bn1o`m$QTfWrl^3JVhT>Poy{90ns<&xS6u%vadYO^(TYC1I& zQ#tUdB)sA+7b^ep5~N3b#uyh?f3?PFV`TdmPje`6zh*ILNZK}Xi%6m9hwFeAr~3{Y zL9<~QSH}ryto{;PW7tq(NkDahp?OInU7I)(Yz|U>=D)~I<3x6A#k-U4rp&$yr<=1i zx1|Jpk6uBXqtUyu?$ynqFv_{lY#XP?_lzhjRio4G7V#Cf+hR%3i$#qOGds=}A8a}n zcFXdX1Bd%{(i)&v93;S9RR5(06Ey4uyjZv-8$^>XvK6tU;X=G3z9&u`!Hnm&zyb&& z_KRoM<;bi50{&<#QYtoLx+00WbylLD+KL7r#_tzYk%GQjs>ZE_-ENVLJ1M38)&!X# zQZ!gL-Dg*}J{g^V(Y>&C_8+(+IQCrG`_KQvy{eKjD@%zS-=cNuR-KxkrUvq}pz3dl z;9@FP()DjSD&~L2`OVBqA8R**y^At!I}7DauYC)zgr8Cv-BazFWi*f|J+rS2tBarX zgl^2SX?ER<%B7>k1!d46DY$W?S>8jfn**v4hrxzaow;W1#S&liIW8J4b&L?-gcOoS z4;|)06gM=pB-B#ZQ=@B5>vpj^jfVcry7<-wW={Jq!@pSbp&SFLPu4eA{*tl|)T8$C zhJL#4o%WGYvu{4y=JekxrL+@2Wgo~^vs714J1_^aV+z-SUw6C(P2sZhxu3o#+l{*O zZvmiey_qsQQb-PI>kX3Snh1Zt%dJGSRjw(VTww>|1(O~U&Na_L!sszDG#ZL#sgY7# zdZt?88C{eT4*~Z3sDB)2R|^ao)s-}=>$S27#&)@bhewq)sF&U*#mpOLqhvk19E{%o z3Zrr~&Df7Xgei}{m*Gff-I~K8JlJf!C5iXyiISpJ?ck~C3E67aj2^zLRXy%UyFS%c z09K0VC=`2&i$}qM&AgF4;hMnRTZ9SX+HI8q@kM9l4R4fwBnyxgpFUIK+_>x@Hf#AE zhB8SAIo*+}FcRS9_V?0+-PW5eOA>fxQxydXT@Ttnw;R;xXH&mfbQD4sADoa2MY+f~ z1YWez5S#3~@kT_nKq)hdC?dJwcQKSvywSFlTQAnS@=Vz&ns!;OIxNg`wvWDNqYb=8 zz@SKqLK-NmzQ(O2E9)i7W|Pqh?F4W)&oWz-7sD}%P8%gYAb^ou_(0~8uvd)p~BAl$lWd-4(<7GZ~{0RXtzpSC{yAr zsAsY9gKM??dLUsOQhuAR98p(1k@$%xB_vtj<6WjV%QYYTp+O zWe!@10#N&1qbWY=an#fEDf-kn7I7#JVN0pwFV!Y9Xf; zd~kJDt9pNH)*@87GL6*B6>1%%)&2)1L{)Al5=$l9qT0BE@b^bHD;WEQrgQ0iHP~ua3kMwTzOf)+6_p$4 zM71>AO)bgeMiX`G13&TGv8PU>!zG+^i_aW{K38^cWLQ4w9TXvluFIA*EGxBB7c64==YbRH4q|YWBZ(rD|Zu`wu z=-u=YmnDbDv)i7qdG(-x4ERJ{NmJ7Lw*Fd3H9BXm^o8ZDG%oJqIq4SN8&1Mw&tx$3 z+ZmA9Nk67Jji+PKN?CCj0O1||Hm?k>E6rC=6zt(P(gmu&Q9A^PzQjX#+`JH=!989G^Z4}`VzQ1R#IvHG5d1C^Ve*85!S6&`t zI69HOVM2&s9b$7QV^V&N9_wq+Y^=NXwA<))J02>D$Gw`r^`Yx+53j>@z=(IlJURu8 zzlLQ8C1>&L_|@mCD%1~8GaAWWz55m$!WQEP+tZi85r7e3eODJmEW z8L%d;o!uVchVa|BSq~5C4m;GH6K5Jt!%8YKiCSif5cb~eHX^$F4d01&lTc*zs7fq&iaiZd^fnb zK;|%VR0ULBd;s0WJMMG4^Os#to4~>8a$Q+C%q>*Cy^0HuP(S`K$JM+w!DuB_X3})S z8BTBVtJ!!o>TIn`w|=fMYOm6j-GlNanJX6L6s~PwnBLoPt|U%5{Z5yh?U~=sO?0U7 zIJ065r75+x&S89j=un+UimM+|m!A)5M~_X1Vyr&*uqc?)j~T#riQCK+#}Ot)b59ym z)&=zOjQMEr;5D3T_;|hBiZQl=t-NO=6QURYE{oLh@1)z|{L2M+7v2VqD7(`}2a&Sq zSE5|%;eSY5lps|J4MpZ&b}TfP7FzrPDW8n`L=PuoQrSo1X>fG2=p;S<-v_3%TAf)T znBd&_8$!()_NLZ|RsLhlcmC-|^eB`Gya(^trKqV#IbVP%Yb|gRxXRX=)x)UAxg_08 zWBjA@Gnc3D@+)*Fd%XC;f`UDaXbM5xlejA9#M?FS@}sjCma7Av$X2NF>1OFUx}x-V zo8*L%nbz+rX^g^u1wk3hbZKX(M&cUY==UB;HuFs6b8jbotGA z%dHewT0nJT!O}*2Y8~;g_rY8um8StxqXErgkHi>9Z-!3dlTO0G@@%jxm%= z$WdP}4THnm`??nD`Xii6@WD4^0;>f^>p-+t#ya8k{Or4`Lgho#T1racW|ACuXrh5e zmp!2-@0Wv+Xwg5%OZB2Pa5z^U`EA)Q=;Je^ZXh}Gd)wXUK-aMC_}10Z8`7&93U+%# zj&|X$bH2-VsKI`wb*>&B@QTI)PR(Z$D~HZ;L8Tq{u@l5RAB|@$1Dm6%@7oGcv>Ndr z79DRiGoWeGbes_5Ex$ro3cLT4t?V|uXfb>nuDTX0ObyO9!z<)l=_cB$&7k(0BX68T zcy(*GDe2YjUr3evOc8Y@Om4C6(0|uj1w+ zZ$EYsFG^8{O6TGGW+f_l+ke@nQ!!ie^3gS@V4H9_yaX%Tb+l9bJ;wy`e>&s>!Q z{Py`s3R>gDlXguKdHVp>V}o6rhyN3rUN7~gl5`_N>>;CKBC;TtpQL);HQ-3xwT28E z{gV4nPBhj2M7E3G4;L~z~Iw(t}u&(ms5w@jA@9bw(PhlQlAJkfig|oJ< zmpEN~*%3zJNJ?XDvLAl^nSx~!K~NbHJmZ#Ra3Xibi{mZJAh5XO zGC?=JUDg_>--m zmGj6US#I+25k@x#@e%DgU6diou=vmn$CGw4W0#|54mOcc^(*p~wv*pQ-Q8uDj!>QD zW;@LkUfL_uBA|)zRNnoQ3%Bm_GcT5JGqdvXtI!ewOo=8;lpNLO+ z=k802KGWWE$Fogq^B!7bGE@$^qof=rKRDeAx%3y!ixi-d#fyf<`xvIGL2SyF; z1dEPe8KHo>b-H)S{YE{px*PvBfNxy9h%D>9WZ=j8y)P9|7U@x57e7w_S{ zU0`I(GP!T0DO~b*sacE8{7U~S$aSN_JrE~lVFzkxDC?V7!}gc$@fW|$vFgdOEu26{b-|-jI9B`tqjzG zUkTZLwL`G^(E9u&p7;#tG2D5$->!z+i{lf)5sm`o1Wh4TYm^|TKHA? ztZDkW!SVf0sLrb9K{X?hIF`0z1lbRMo)Ai43; zWE!7hm`MEKxQ?BkL_qfB-{V%dUAZ3A~jrSHV;Q2Pq4YRO>Y1-T!~$Q5px% zuUMkYO83h6%XK^i<3$V6sgCp`^xuJHq1rtf2^Q~phtW>+k9jU@;eiFQ+VddzgR|%T z@JFUz$fKZCsWc0zPoG*Vk~+Fy^Sj8jS!R2fw14HtOfFhNu(*KvO{z83EPon#G2N|) z+7CInq)@laztgp%7v}rLTa&Xf1;}=tvX|M(M5dQZbL?Zv9q9`6q2J2tsDkPm3^nKT zu@;}ZvP=EY;r63Ra)v9r|sUL+x{I-a8f1fl!@Zn>a zCShw$4tl?BlN&L@^p0r>-gEgb$&dH$9_2#Q-kUfxdfi~R36K*q&Rdh7?%msFw9xo^ zVU=G^5n9E<7WMHFg!lG8L4;5A$FJ0?dT-i|LcM}!FgJY)}RLzc%kEDM#>ZEOS()0se#Rs&w_S z#ac^AE2%!wHnV0Emd*eU3^D71efOM{sZ7=O;HIMIo_4!Z?Iw}{g@|hTR5>-1;Qo=k zQ2F>nzcCpcc>~RR)MHEOr%|H=+Vy=BI-M~dmgP;`lIuhc-YS*=woMLk_P>FcOL!r) zQY^XaC^g4?GwaDpo_79$?Mh!kOCSo@%5n4DQZkZvQ_N0=V1+Gob_-9iuE-drg`zkz z>jb#!@>%C&H?zHO7Mq2IYW0iq=tak+TlC?tL>8xO zm`P^lBB6H|fW=;`)Wgt`7Mgegv}SD2o?27>Lu?{DPo#9@)6a;`T>l)eA%l0_EO~GE zX|xtO2)kCbW|_ehhOOL?t)PkP(|(uqhHVxWh6kJnnyHzpNtJX+n_RddRSA+rlW)%P zVO(MrdN?uXwumO`^YrPl(NPE?R3M$49RYuc*K})6UTS%IIOh|ihzZNrf1jVbbWMe* z9>Y4!NC%PAN~%s&dL*pdMylm_xTL0!(Mfl+gZm>EqPs5OBc7Qk7k!x1#3I+=yxljN z-TNt|q;8e#&nRNxV*te0rgOETVSo{yJwa=gLjmTLK^NzX7Lz^Apg{fTEv*wT%KPaq z5w%qTYP;mcT9Xhx>eK-gLe`H@$Mj!VEj{PFuYaG$$>6T5s#Q;V9TY|ncX4y?Fk7z7 zYbBm&B{`0x>;kt?cV6%n+kzC8ZFUpS6%U}y+y^Bh6N~hT|TAeb>Y~Dvd z;fZ<<$hz1EG=Vxq%vc%6q)RH**!n?TXA6g1Vcyn z&@=!Qs^8n0W_gnll?vqgVE5&B*-+W7tF=g|Tf%Hk|9N&JR>4_09rZ*xwiZud<8TCH zW20S3`oY;*)Q2}+mxDO(CQL;A03@h$$Cct+fK*s*xN4HwrmK4__Nx;*ePQ~X%>9ba zF5ucZVHV{nxMuX;SOYV))Ny7nh8%^ z$S1?09zn2p=^ckB%2SPf6AjYNqEH~Fa+4Sa(2KSCDMAq&=i4Ae@qhCMX!Txh9iFF= z9E|g2lhI^~p=?*^miG!I?7Vk@4Uyh*N(O}yo0)sPV7`Rtg2K;XyzrR6x%TMiej5}N ziFoNwClRXAEVJpFRNHy6}K-9pbGyTAc z2{`exDH$t?PqHwelxLl}O?pLm8vov_dRp>4vDhd=bSae{>XJCUwk5n&r^UiJFPDXVQMRjAy<@)|Mx19>UyyJTrESz2;5Phtu^+@?lJq*$-OVO;%`HEyhx;JKt4TCSg)UGJO98h0S ziCl{FBs?|=)|V&B(L;tqI?m#M(sikZ5+pX7aXH?_BX3AIr$SRJQXV&J8pTYs8^G_W z!pfVs5R?jfCZMuMevlKLI94kX2U$AKUq-dSl;6sH-rd=H`qY`_XX?tT*Q6@BLyQA) zP_*mvG(nFBV!HTv?rrnC=+1?DH$bhrP*{J@5t^0iHh>eHf5HvnFCY)H0>?pKWIz$8 zU*HA;0(P@ll}0W3*xO6Ek>ItLjS4av&Tn#Kkwz=4)fKyqdeWRHznf_i@Q^~ayo&)D zS7v8A@fhBjPnbf~SE?pGvFXD0^c5t5u9~D3ij@y9Z`|S6CasfR4>1@~$ZtvLy7I-d z>AE~!H0UB(jey9R_sYUEPHGa|zW^LX=m9rYXBYwQ#wLV~{M3r9wd*`p>&Kh;;EUcgxr`n3H+*1vqTFFG1s!Y)~FMg}@w^SRh zrDUe6R3)I*ooXt=jE{cRx&+0vP7cT_bKA%pqwRb=^B z%W55o+Jx-j4(yjy_Yff4`=uQ|6W?q#*fFOh-JL48OORE!ujfar4=A9#`-sN9gcG%f zB);F(i6RM-*v$(HaoU$` z>w2#c!HU+J?T3l81k4DYJT=>*hJ(!74Y?|iyr#nk;&N``P zBf$|pwm2P#Rz$UZlff&4Bk6yl2Bl`pSh`!@UzGsZDxXfbs@6Nj&Jn7c(OOepkAx*m z?RKQPZFVj$l14PdQGX%+qYDo)oxbYBv(vJ_Y5X4k1s&Im6M9`t)LQ3%>f|&bjJ8$8T>_f8K^xqg?Z?)}3lCNmNg* zKw5^En%-)0v}7xBEf}0VK_=;Pc=}GGoMPs?D2V1hP9Ft{;?Xh!1oYVN7^g<3FQ9Y6 z49U}Xy0+xQ827fpx~Pa`?j(LMtC2yZKsyqL)95(29W8|gP>l#B`gf9fbN-sVNwNbZ0D&G4C$7Sb}hzr zR)SS5U|COtDxA)M%O4Li8z<_Y;K$EWQm4~Ij}3|6*|CJQu?st8fC;B9j*=Gn@BxXI zlwQKIdS`x=0R${ zQCWlUw$0G@U029MQB6fRTd{zWhi)^`#CTdgshsv_Z9-3#rr?WkeqFX&un3|i#G|p& ziwm;dNnDf56C5J@X+c>>TdGt$2OIU=?rd`C)Ci@6NwYa1 zZCm^WIC=2GD09r93g68=6bdisVp*tYaJ_?>)g|IF6Ns2EN^$!?PA*C*dL!W^$!wANx7D<dTcds(^ae5e?%746PPIem^Cj3bTqdcI^6`qkHchoCVm|+*8)9o^X4nU03dW5Ix5_ z(X9DTQn~5X*(Cteb7s>MvJ>fL6?or~*+u$nBkt0UKABPm3oOfUsq4%Ns;f6$qp|gU zGop4WN3L<()bMVzwt=jihNF-L-t;ex*8ImZQ8L;+m?756Ff%@lT3TKT zVJa)oaJOh|@#vnZwOleczP=bLH2y zz*(HQBVPv6^s8G>^3fioAk@r<1+9~OKawTck?!Ssy6p7b7+DpkL%UH`-ZH~$^!V=? zu9H+oe{f`pMRxwj2DUjz&<0swdMron&0Zz<_a1$Xfu~!yNg+gV(fKa7Hv9@ebk1h< zVda(wctvpUWf|`Mq#yZXTu|n>F#4cbniMD>y}X=zi5Lh&CH*GME{i@-4;q!E&9Bg{gbtJpj1=$5!i;Ju5*AP>)4j8xy! zqSceydZ^J62VupBmzdS#Q1eFEthfKGekTLD{|C~9&-cl+$nhI(V^ycgtba@oHarfi z#dQOW${U$Av?*IkCyI&iQdsj@#-Yq1iyiY~1G&^o+vGARIe91zCE|AWC{|a$UnMzf07Eejbw^a%-^yCfN~CtASSxg4{yVFW@XeE<4fCB1-7hsdnC zNdVG1_+|(q?6;(#TzRUPxrGU{22J~?^UUhr>X-&dFU&q8b};k>W3f7|FlpU;@s){s zJ!&}KuT#Tw%}x?pbG=DkhrH4y4RSknsE1ox7uKqy-m+`;X#bIJyBh9o#)Ee%=!=t2 zAYU)|b>KtD$guN8AC4V2P99u2>evKSmAcFZke)rw?W8hpa#g*$<^WsKl|4)CIvoy6 zgWQFKT|oBgzte@}NS|fIJZN`_uBC=O%@$1N@B0~1f7MdVPKIK9)?{?-OPDy&A_^8C z_7!1%yOoAFkD5&d%8jOTtIlzu4q2CO6Q^o4`6S9#7F62h>Z(T!3DPe8-K}AsRi~C)bSw2oh9|E*DFZS*{GQQzB9+;{=b&`n+{Fr?9+N9))OC-Hr7I2F z{dPSVyfo8AJ9`bO;tjbH!4y5GNxH7LC{sgczN4$!)zXjCoWh=^yC|zMa`pIrKC+wW zb$euirA{i9PHyp-8*IM+>dkgQ*2q)*%L*koKzZY&Y&jEpR&d>Ma70C&| z5|%#dE#NyGy_44lhfIcfyp|`V&!K0R`PH;X>|GYTIe@jQK-Rj=EGV4a&U^5I2eyP&jp z-zaHe6u$8Vm=&G%6JK$jy8_+Pd1F35TU*B35cjd3H1$@t)!4WdBeSI%KiXxhr?!z= zeny$6?%iD$s1x3{TZF$zC{->t+hMHxM)3r%|4fmhB_A1e)GhtKBk!!O{T~Z|z-$|@ zhX0z%V%@2~&$m?XF|(U5{QRp~np9JlrJL6kmH&YNK(GOL2G+Zlnp?L ztoe8^Gj!==I^1v41M5x0+fNNHH>;0Mf=)Lj$bq?AWFo>JC{l)wF(Rr2E`7~t-;Sf7wTLv^EJShUd)iVV~$k4MLu= z3s$h2e$4?5_Wdq8$j4`CmE;a5?AEDai9(OEZ_?aEVaTWBH+&c`da)tbs#~v1^DU8@ zE#yVi%unM5$((BFaM?khYkbOj#|%c&Zm6x2b_bh8*g2ow;&2xclR?(sdLs zoei;sb63-ccjyGEH*|JvHo7>BFPG%|k*+w73Ri2D*)>g#hDiSjNYgGA2|<=X(i%DR zf~n2A^29qEx|Atq*M7-h^MiGXPTgyGUE0w#yw1~|jy1WE-1YbU@+4StR|4|8Z=-11 z)-j{Wp}cS=X;jgNCS4?>hvz|XFoet;2)n=ML_Kwz#;*o2<6Vz38LxKf<+CziwKkXqI`Cv5+@0@WE+qb^_A=@P~*^cwD z1(D1z?mS$dd)plec(k27B%;SSK3-2QT^bk56X(vaig^&Jsz>1MaJd-xGZ?g4ImTfoU7Iy>ovSx(QF1; z=waC(b|Iy2dm76ASVOBXO@L)})Hbl^xvS0gK5FM=+Ft@tvl5WbDB9)Ha;!b6p^LnD zweK-EWUbw$DhHZf4h?LIwPxMAvy8pT)++{+ujcsWy7$jpM${Mk0UWzUWQfidpUI%TR28edT&Ns>(5%+%{l2uoWu0{O=%C#tzu zm)oU!$caxVX#UlxfROLKEDLR)wM*`N*l|YNzAH)-T$gbS{-tRhP?NW16N`?#E;-ag zugnH`a0hKnl;`=s6rFcWfCdv!{)j#<3%rshJ!;wP2CCCy7M&sIpM~kpnIX*`E#pW; zB8Nb(>6ks-CSAF%jzd5kx}3_6@i3h7){P`)s?H3v&7;WjsazYq4Hvnsx>vX!<-wZO zU=$*xrgyq^R3zwdOj7aA^b?@bzQfGUl-fDn=1i33T1%?7x7MK=Gqh?ZNNzPeJnZ_N zyXw?K6#;x}@9t~`lZ0(F3#;yCT*dD^4a=t5#5XMvP)MxdL#>@LXRTVjNY#vzS5Y9@ zyH7S9U0oMqLMz`Fca^A94@?JoxVg;cxp=YE`{GrQg9RM$%7 zOdV|^6J=34(a|O}Q5NE)u9m2YSfozsY8ADLT8I-}Es@Eu_3`VVt0gkO7xFpivP9u`~7FK-Fwda{d&J%&)3iQ>!ooVk$k#gcqNNxW4ZXdwxn1p?p3=;OByWxBnNQ{ z&fmMZP)*jcVbO?0UEOh~W8rf%)!U<+qrObEPpmG0ox0GqMT`X5>V%=`a&fARhU>Dv zQk71Kx>%=WcoID5w%cmwqIbk8j(TtZcf1JG=NZTQk{+J1W~tb5{};Dh-F=pc6RP=T zyzwgL9Z;t$CNVIiDMlwxt9YPn*#*3cI)Q1BpcP{w}^WW?;FwNNRG+YiM`vf+#lbK?x!`n6}WoF*kF zJMh?*`PqEoNe%JRxO&VcP{Dg)V6sshY2pe0yu--`o1RM|G-p1Z3038+cr`<$4v&PN zVCM|HRZig-n?gmzUQqa_xrma#Mb8Fy$^G*_7eJ;VN&$?zPd zN8G+v^-JO{MFNIo6r%1Gd8;9#eal~R)jc<^EaVc=*^8_7!{=^*nU&}CB#f|gu~nzL z*U42Tcon`ik6B;Tsz0Y+&WrF+oeJ7)aW_Pu)2Jwn)ktNFcVJegIP19QM6wR@(KJJ=f*m#g0|ll+dDwiP|3=TgfR++MuTXak}mtFcBgGx|JQgcwU6sAH!931+Nvy4CxIfZ;>-LDY7$pRg5mMD z+okUmB9etBH*ucPP8XSy`C3V=xU&#_NfiYgFD{T<6yAlgRCQG8xAY;3UQgMR;sJWx z96G!bdfL4e?tX@AW)?>ZRrg#F<3Fe-@B zJb$wEwuuJnG@Jy62y1fR zP2pm8EhVtE6^7f7(!Ec#O4S?Jy>+5`(Ylu2r`S#v{C6wnl2W5go&Dyy;C2il7V(Xg{}PYN7hVsc6|S{j$}n zx*fYWzNNmmELpCabK(utMVgAL)oH`z3d@O$vb{IIOC*rELqBP-sQE#*qpuf$=AJUdyb!V1mNHX)bQGUNEjTr?l4D>?^W*Cr zg?nmwJSNz7RT`R}d%4rj<0~H8yqyex6w@MX)`Q6u3ZS~Vetz5TXn-X_VQil&T=u@FIzL>0)Nk+URc6-8{ z-x{fwS{j!3Ne&&xxxhSSt_V$S1p;Ybvz(I;isvMJhB=j6CM`QQI(fRiZp{92^~{rG zms>f|TvhoX&g3Eg_wyu#0jh)T#2Yj|>T8fx^kOKkm)rosN3l<5VTXRUU4x)lV{qMFCxF@bv|6+3eH3qbGV2lRxio0jO4P5?bbfuqfEQnB(9%T zj3)YioX%KOqE4$GVvqPDoVahilPDoJJ}(L0j5)|DWB&pRM4(Cd_9`r^Q@4H+*K^b< zGm%x=Dpz|XQy4tB{IxxGZ|c2r-!8oLKFl3u zQa7VO^I4@!i~BvvHD(w ztzx$(*w|$wvX?&JFr+d$5W*q3*phh)b!Y z_Tr^eql8MR5Epa{zf}E?;w7|0c=%SUK|G#ByG#No6gM9Y>rORtJUw>nn<7p*k6I-X zeN5zuiR-|=KV6HaBiKS9vY|Lxr<@h8$NLmxEG(VOX-MyB?QMYnf+1v4j!?Ew4ph1#{4{P}n&gS3d6D~QQx!s%= zarujUz1QP)5svu7H}G)%ig+P2T}%BAaC@w0lcVUJTvuMqmWk*M2Tk*;AH;C@V8dv(0z;#hNco)HZF z7Wt2c(_UN6rteA3Cezj$Mbkqk3jlK4NZ1OOlc*y>lvGGEx5tBAg;F;{Yh^FV{3@bx z1T)nSh6=pjx*ASEt5FY~e~Q55`Bwvz_JW_Nyvf~8O~d9-MdNn=6sp_FItSrxcwU41 zKH4YXgHvOacBM^9q=8zP4ps|u;lGKuVW-f<;iPxXyNP4<{{B(Lmj!#_zPyqxo-Zce?}9F#?SJK~kYMA=%k^oSjn zXwa2)7o`-*kyz!T%;i=RVHM$&+@@qDgB9EN6!ig7hZY;TJJVStdPf=s3i) z->^zWWlQABTkxCHBor|eZZ`pD)oS>By!Hc$;3i50SSV3Y{)(Gz@;#pCt@{ud{k5C; zAtXS`>XmMB8&2;-vMtuysQ}iV^gt%0iFpV3fh24`9r(U4%U6RhQ>;VpX2Ika$|Q5_ ztpwtKkGbc3LQ}848BLyOOyA<24w+ zeZMerc!o$T>JI~zp41&qrG!sEmLJvKBCzx3_mO;LQ-imP|1qkmK)dV}qy1tvh{W^B zAKb=}5op;Q`T7}v6|j6y(DxMF^1Sb>LIQirJlD`szQ23U^0R_kmcuF z;*_{Od^kJ1tm98w5UVk@ypzrv^03?oAh>YLuoC`3hGfdC{1+X3c0@nPKJ?rD@^{3< zr@(=v6}P3LN{_#ik-TX5MeTk32N(4r{^oCgas_`QYwO7`-|Bpi{Ib{MrTmhN=Uo^s zLDz-!;voS)RUV=a_t@;nRqGKm0BE>wDUlKcmoiMJimDX|K}dM^}$HKWc`?19qcN;lh2bfozExm5XQ>qAD$%g{K zd(`tQdrlk3C}G*=C}4TFyz$)6?}cLI0SW7x`KLU@?}&8YEU#ZP9(qJ6Ex3jMn4dOo zpdFNV>?|4&M&TcMF$pflxD*0kdtMQeUJ4*cHu@f3sdu|EQW!;OR`6|t-9k*$vTkCb zh~TySAAYPYRQc%hTG+vTaT$yA{`i}?(xD-i5)I>%SMp(R{(Sy`=zg*=uixPszHVz=bB=mT*RGCKMU@HTDKn0GKU~D0pySJnA$zBHdqj#UN9(B- zM%|qwFJq0XW-jHc{$(=(_@HR@5EdM)o3fsVo2^rB=T8A66EIw=-?uo}ANoEhJG#xN zLk0WqZz(EO`|iSiP;wSp9NMFOA7Qy+?#l~#P2l@Z9Z9);S_{64LI^YX-^e9G>DfPH zsJK&BvI_r%h4=EVAa`GR#E!a8?N|lJDAk8JS+nEvE9Jyyt;Hk{-K{7q^VHR3j$axq z;&RFXt14=43Rd%~@X5hM_m+&I?EUf3%8%NYEWDoun*VOmAi=!%D|l$wNa&Qgs6nDI zYF;(wQr>F6y!*yTZPa~h%B`HF*LPQyoa;LWC&{*Vk9B-qaehwJN4%Aa z_J*tZyHdQJ>y75G9q!=S{(tTul@bo!utr|=LSR+WNP7gl=kELVHVz{=vgTn~&ue|1 zW<5}bT5Ri@<(rPvQ!9@A|7KjYRwM!)Cp z@{k`MWHvYU0uy@@(^Khaqsw{ecEg$mc1PMFp4;Xa~AL3|{ zN8tXjoaT+)G@qi=X^UO`!UIWR=d*gkMp5tLp35Q?QD}3Ykg$0=CW-lKEaBSGdlHcnu470OT;=|689VEp9M4`P zJrL7E!lYd}2E=hT6n1}HMtMue=V2=U-C0@*RWp06I(l2@S~XcI)uUn0cbD-zZ?U(N zIrHNarIh}Sasmcj9B?Xi^XdLtDba*|C@!=ALUdEOa;+9nnm<8fMO*tO0nJCZ-XU9G zI~$GWRjfpRn%3{h{AgJJ?KM_~`f+~>*!dckO8JU1bhe3Ytv}syR)HBE34toWmJy#z0>=vs%YXA7$y~2z=N3ccvr7aFj zv}c+4Hj6f6IoUVQ&Z$+mc!JiauD*dHO#ieI?INut8g4ev(8|?KGquX7GJVu- z$esPl4%o@Qb39)G&W?xlW*0Tl5DgkTq~uLgH_N4wu+~dAN6lxaY~TY*kL4*omg&zL z!rlGhFtc{BRGxT;BysG&5Zhm^zCJQp7d2Ooc>wGRH+4WcF%RdWgsX@DJ(T9#=N-^W zxi7r3H;V`#a+Cb(-7vvv@BfX{_AcM7Rq9I1ed%^OBOREUudb#0hoH^$NV{&HJlXJh zopFl=4X@s2v5wcKC+fLnv>h&l(=8q}V-Mf3yX@@>dF}Y`Jlj4rgk;r&dmIlp;G=Xa zF~SgObqDQo3Zs7WeRiagxhvBxFY4zF+QjbdRy$Qi^SoW0qVy+tkKr0Hheu462*9yND=dnU95tU5Jl;r2#60&u!G|boZw5{IqjNrxCpYhaE8EE;H3a!?^?5bZ@_p6OiwA zKjB5aVFRintY?e2Q8?|L*$7E^@75$#zdvxQDFIk!HARD8XANWrZtvw*qwJtaSNHdD zifIn8h$BE3TM+d8r7%?zwaO^l!)kuInAuUxybkKUl6k6u57U$LN{5azRkSn?D0B`ZY6$c{~4nc*R$ z$2j@)xpje1cZn~_%ixB!S_QL+WB0<3-o1VK3&0L*gvI-~bm6A#YatsT$996}4+?7- z+qGKKI)jZ`tn`n^O61X7)uF5k_;cz7f-O%JkX4vnmLE0u1{W6iQGa!}QrvN~->8Xf z-o9J<@dS5I<0d|oY3HKvA@qT}2jbaZexz}FM~_Pcy1%V2C+~mX->Mc_mVeJ#n`5i< z-e<$X6Sh%FUL}8nRvr!acDOE5Lzp}}1m?X%%i(hGj%}9DEil#LkUo%1ssC4pc(tw` zI%siJ9S;MC?uja}>wfT?8)=G~+Xr98>Vh}6fGNS`T(a}mj*^NZd*RG@=~3#8rIx*( z*s*|F+NICm2-avmwg`^&hvo7e|HB=LD&0G75J!$Bi9ekg>%hg^E=s__&W7v_oDGK% zd*zpbyq$4e!p++^qC~@ImI)`GH7x^+UbhRO@++pLOk(kSQVp>nN)-6?q1kJ;|IeGs z*>}JP-lK}ZvZhK&xfdJ3gM#iaOE8FogmcW>4sa~ydxw%p{hYN{CBqmG3yaQnof-lL zlT&$uWPpYL#YLZr2Meo*sitqErA>LqNCo|XHzI?nYS=;a;i?ZI}-;xN?jRPxP_(tWNSaun4VJVEn02VeWb(j0HOWol>_7uZX3X; zgs6AMy356|JoE60*!RO{qF91QwmIPKF+(kwVBo@JVKlh554Gb_@8*6FaKPb(>omww zxK2s{?5__3+E`twru8KtZ_wjotqm8dG^=3O40hn!R}QX^K%rRAq|WHd>4_3Xm6?0%tj#3}!D@}R?q4`4ZK8qVM4`%_0V3?HcpwTyZ>gu1JMzND-K?i&6 zx=^s-e<6xB%kM3QDo1+`teH(jE8Q((2I`S`ZS zF*o@l*G_cXv-z;{eZV2Xc!07!?SNKHW6@m>hkrW_XP8m5$mV}ou8d8^{z9ipU2D`ak)^w^_ti!iH@JKuipt%p7{vtSZK-!f0ZJ)Tm*tcxc*m-jXtiqZy(}~e z3fjCpSUf;FfCm2=mkj09g+fUsRVi+pQ_RqmwGzz1p>yg)^E;vVK#oh+dy!U6ukM%? zaB<=}60j()G7_8}59ieCheuw7v4@U(w7}-x#v&1Xd(V^Ur1Z~FvpTYZ!>LRv00r4?!=trv+{kTpu zBG_=p?~@x1I9wS&Qo}EBy2zc1O9=*tlMWcI1pBU?nS_~_%uZJ6ioIIKU<94wT9tqb zFXeolX0fD&QBM~`DSvU+jJa@XkQ3Qn!zy%qxc~7Wf-n zbCG=UDBEIT4&PO(n8*nSF7V+HuV8ccBmTiyG zfDBV9aC@$0GK^$5&-RVc8mL#CE9p0ESLq9D*84?)y6@XWe$>8oE0!7=fnSq%TaKPceVkio9Aw25#F;uI{?Oc>wt7IzaNdT^De3&>Yxo88vCXJ zsahs7E!B{q^G75-i3FU=LqNt-Jz#ehz7;*VmNf_F=Ul*{DeT&t9r>qvU~seH7SG4MlW$QBr0!y)D@ zgaF~9pA(Sj{K;^5@W&R%)`KnMscHz0j?^+pZ&tQDcmD|~w)n#A6w)?lZCSONR7fmc zyppiTdsA?C+{@oz5P=KZ{+8Admh5x{h#-BbZYdU*e}`44D{szDL-MN05FWFts9hbf*Yd^5 zh3D;q_c<+GeY+#kD(*-M5A2L}PI;_6hO-#nxPhQrtR@FObmtvPl^5t-sL5MsffSAX zq z_2LHoK_wxE@rCPhn6Ej*Xzwa+ms806tPaWIC^&s}#LdDwX)wFiApcvm+R{b-l6I`J zi@d%rtNE}cpnq`STceP>a?=JUN*PN&0prrWe{DjEH3$O*yT?j56F)LxQ=YneEI$?> zkW9CoVirI&T;Z>RX>p*lXLQmu3PP*9Ww1WF?3LP0Wzq(+O@-Z9kQ;v&{voo0s&g+I zAfo%@GHDMd>r$9RbtPCwFvDudM)_(sp~6Jn1g3Rjs8WK?S2zx*kp&pFm@Ox|^2*qX`(_-IG(O9{I5# zMEBA0P*+F1&r!Iq22Sgj)digHoS9Cc#4S&VREx%@5McHO@QybmLP2k*K^#N&;?3Qo z)r(mu1qyhYR)ubUwsCQ>`u-xm^h*pmSFYKNEu^ewZrIVf*Wq2q)cuS02_2UIoUYM> z^bW^o;OKZ*7)VF~aPi4ty?e%XI!}aWZ@)}yP=DH;WD7UU6ypFbYxvy$DV>>V;vP?S zniVD!Y=SXQ;&sVvo~?Ykh4&ESC}(h1{_MH&qBS=US<*S6kIH0x&mAOzH%%WZ32;xJN!LnO#4iPhvGGs>_1 zjbiq7lf;QI3D_}#ym;6}uk$X2Z6R99)=g*%*@-fTOehemKm216_f(AStO*m>2ubao zaUhYWn+IP?=Igj#($?Lc-p8oP6BAp5JwNjjZb2<#6x_Q<45m42=^Pjh_VzzPtD)#f z%tJRZJKZYbflXB^3a3~%BTYsj_W)+iOt;D5OW#+4nJO{I7wdR{iE1uvuXcdie|t== zP#^CrzJz;q9|y+ieoF=rJ^T_#OKd6)6Fob{$=8(!l_EujtW~x8eRIkz~JUXpw7s&Q{1v4(I6@{+w`;{NYq5#lX@mr z`i}^W@*aIt^>EH8r-{Y~zgwnIlJ^laq+gzH@0?Cy(dkPqDF4GOSPsZV-E%AedOI^-J zt1ybdE+ol`Bg{!en!p~hIoheWGx?4#3N2YE+e~?)#AWmsvgK2UurvYf>bwN!yMK4e z7gcIB%N*~unR+TH4_S@WN)5 zF!=1jRtXclCQukkf_yVqcCwFlJ4f0I${DRb6w&kEvU#sj9kP8aZsH!4Y?E4o{0-?QDiG;x8jFQJA|<-= z`p9%kHY7=^ma|}~fTdLzwI6ejjKD7Yck{JvN~S_QyRkUB#A+u9H9m?JwW(_)TcPAn zAlD7;!KR7Qs#Y>Um2$rFb8;?sMMM)J3d;2Zk_}Na)4wmqHXfT+Ph63;&zP33W_HYI zEtCK?C}uyMons&Yk}9f&?Myk-L02X!VvS56lu(j{c>J4komx8EFk~;*C`F=(bi$9( zNF|SpdV^(Tp<8$$-K>XaEp?zka#|Y2ICpDWVf5`bekxbbL?ZaNQI!*e7QpMiHtF?nkg_)7osStVg#_ zt(KTwv4jJW8hDu9yL)WM31Qu(_7!A5~Q{3~Ca0KjTtNS%9rj9zKA zU6C&UM{5P}VnL^{!;XO|%KMzpN6=k@ap!NP66u|T z3ErYD=X`>(1K<@*L-c*gYH&RKWh_;sYs9w`2fHd8Mhzrnz_b1Tj)cH&hu@Q&OJsuO zGG03l7y3Io{K(jF^0j{S~8pp0Y(o^idlcrH5b&&eB$t`}gbgq<6c>=i@Kg1ucP|{!tsB&PSVPn+I zl?)LUY4&E=aSP>uZ##e>h8;g9Wyo|?94+oFOfxuRP&iSehr>U1N+p_~E~FdC2*gHN zF`jhkIV*))12-3W>as&txj3jGI%ZGW7TwA_-63%eQJAqOQU0X~*&DjSlfh*KISA3k ze^2qZa0-qY8Auqzy<`G4iS*GZ(aD7XN$%TTPP4jd8;$`wAL_@-`ykLt$LGP#@Yv@? zIEnsYY4#aWRI4uk+3>IeoDJz#F+kzSiflb0_G(dy`fiwZ>40*us6w5$*(sN>31^Ez zCpj5HC2%e36gDAwk~}_FWM9(IBWMs*c~vM=(sBHa+aVT9~CM!kLuLB<=R? z$TVDs^<5QnjR+RXxs!45R<5_kgh3f7G+D(YY*VUD?=Af;f+`cPMEb16rMs~71-mYMG!Iy$UQ_m z{zu9AL_t!qQ?Zs&?j#kSjO4|djz+`x-H@yl$P~jB+a=kq2e;4G>S8TN^K6cS_r)r@ zMe-yROlP|)QCr^WOG(<@xFJzZ1q#xGb7rxfqsJLF$7jdR#wz+@M3)pwmgt??GoUx| z)KqCUqgy3LR#CNn*0f1NnX`>lqwt&)P-WA@sinsGeWzWwF}}H^2vk`uu{zFAB0QO9 zA%xYU2k%Wux9iHC9_r{xH{&P>`YC*1tsvRH-!N;lUq< z9v=A_gl_q3MlroPemWylN(a~TSxs0rSSUE+T)d$VCL~*R_lmEqHg0wP;qZj-HxhF; z-_O0LAjG+!D`Ua!OJ7a7cx%IwAi#x#G?1aQE`7c2Ez_(T?r~o$pYpy8r5|oEPnG4A z7Ut;cbI-CGQTG~AQ33QrI-OI5&^Iz6yo_8rz)`Ihf zTpwxYn#Zk16BS@bzG;P#64=JR=Lt+Qf5wrCCI;uMfdkBIvyFq5ImeZ?tA{JKyr{S4 z?S+vhpy9-_M)lr{dAz+UkwRws9LZ0=^NtjN@$A<*p??3!I`pVHb(az7sEJBk6s0EK zP^5d?kCz0X{mBDhmwoc_i5hO5$fhoVfX>rK2cUGyJCRl*;m>W`{^7+>! zkl~vDA^pnD9{?uqnY{sM@17r$9<>6cM#Hfns}57xpS_k;m|RsPm7}M9X8F2({Im3k z^moS_DR4jKW{Dj5{oetb+KU<}`dBVSCt?G8)!S4FGRBNPq_cNzZ zI4sHQ^IwLO{rh)nm5hU$F5tHQI+hrW*&?8HV?~0WwVRAel(_8(y*mT^Bl?<9fb&-7Wl8SyGk_-wmCZDy7fNl%yN=kL~Pn^zN%GjdE&yCtV^& zvX?oMY}#)V62RR24^j0nNv2p2c5T)g7+Q8J#8B4mP1__(>eY#A5@*jtC_SI~AM-t}RXww}Q={9LS0^iU`_$5SC0)?UEKcvs z5GDzdUung1*pAC>=cO6mAf|hKcVrDIGxE3r-=!^6 z%^ibrR$X>urmpUuB6`vOJ7qLb>3hD^G}?PF)%bc|u2w>iotuOYZWzD@z28sHx>i?D zH{8za^E6-W|IYqE<*NvPcxal$k`(pn1nYa@;Y1B)`)mOUf3sZpHBYpln)1ozNQL?P zT^hgHL0FS7HvOp8>+V7WO%uE~Ij2IO^hBQst9<2gtvDKfvfzn=N=CuomTYD`?=gZH zFZOe)aWpz6*hKq0o)=ah4+RiUxRJ#>&5YYEbL@#^4b{459h6I*{vf@mu6m7ax*ud{a z0hVrm^=LAmF#D~kQhK3JyA>`5S z+pCZ#NR#k%`;fE8oS}yr6f|kL%?^%t65f&irr@tXl8z79ohNIpV2gy9CQL8F&BkiJI(#Xiq z9Ux1%WTwT>dDj^=gY@ujEzKrQ5JQL)rCVau>%CB>QrLeQ()i5n+AUE`Xl^2K6Bt^E!fgrC13r;+8bU#$S&>@bH0obU9|Y^=pwmrMfxr@xU?qfU~` zyWYGvsA<;C4GcxWpoyRTAPiWwJV?`RSSUxOOPW{0tTDjN>5}-q77B{KS zzu>gfr*0?65}f*DDxWUFMz)w}>E)E9v}`x(X=1rxG@|Jv^#Kkr8lgT`&=RTBgR2~; zDe7ISjN@3`|9xwj)X5x>s~_fs)3s`nUn>MU&Y1y+1-CY$!_D&3rg&<#So#M8w>FwvSOy z{ASM&PN4g59*YtS2aHde47BI`_WqYyjKixVp{|7QrfseTwI-{hz@qqBy)LvuZ09}F zxZXcp?i7m+<6vieUzBN$hLb)T3st?(m>{D|$E@9yXK z%9QuvMRUeNgetsjQl?Ee8*@aZt-i+cn4>5f!mi(%tR^_zeN&;Xp7uzDrC(lcl+ebd zPj=MJ^alY%<*REPgzDi>q$lJ1_h??!d(5qfG|&p_Gj`@a|3U(0t~!V?g>yecfRw~A zqYjI3dUuk1QGekjRgn^0l)ux}To0HJpT#Pok$lpc7jeGc>&ufY{68a$TGiE$at^_9 z4~s_)a#?`tyZe*8=#(o(>Ywg}O~4_hTXnyims74@@T}aE4L3cc)#F9}EE48))_|}6 z5+<`pzT%j)fqwL%0)91PVY*pF3h@GOlEqX>E+ZboM0VucJ6YqI=QLm;HvgH@bzn6O z)m~^yv{RhiOx3g;CVJWaqpi$SPd?tj%CVnlk%$`l0s%5#ekD;!+~E5ZA6-~0d}E(= zfn1$1kElttbJ1#JN{N{{kw!J3(VC$KdGXRgQSZFJW<(&%vO4L)8-9^Ul+bqiym(!a zIys(ciDD_vr?m8%X%>I|WoxQZ7}O}$DPH|Vf~rCOW$-45?^HyUC)Qj+GPB3m{M-Nc z>(e56^af?x za=A2~bG`4yNy9oxA#K|0S{)a-mq`nc;P1XxlQd{{s@A9UpvCi>Jq&F`~stGP!#)Qv}WrE zhIWh;GBT+T2kV1_FyWvzmLg^$g}wITiH~q|FMI8sTh?o{9fdlcAQyPd$ZrS(geSgK zAEPa6OV*qEV1le5d|_&%-Y{&vaNsMC16%GH5jjWYiy;mNyy0#>WZv3r)n?(kxo1?# zT{VsvRa?ghppJD0FE6OKD!IXabV?E2vWj*8wQD&cZ&9bkHLCh_wg>02E0U14+ptuX z?yr7SY!P#7d8$dZUx=ICqPP?1MR>;D+mp4i3MoPH&t3wPyZ64EsEC5Ox3YEj#A}T_ z{u4bLs(TH?01Ku}u>drfZ1B4-u(?+>G)33i|HfMjReMjoJsw3{ALbTC6o#RwhLPYb z+~lGetr_j>2FA;E_2pMYaL<_$Z^%;%S4zWwWy}G`C(U*Nc;L<*pYX)0Nx)#k7iFD` z0mbakzj#Eti3>+ZXngz3-U)bev>5d6aqSwyb=-PH9;p;oTNWeq2{Zgg67@K)|aLqJ!89p_K3R`=) zR)m_zc1V_s3oF;CV53w(fqtt~t=lu_C(5}EL-R*Sd_hO}&U|E*)2y4bCrN(Vul^D? z#$Yr`>0J3)rBQ#J9vnM61Gn{k++l~xMG0v6Vm}EwnC;!jPbm}Q-Vg?`=k07%JGojt z{qfe&!z0)nuRkk_0XnFlk&As3Qyj{!>!5}5TMslLcmUHPu^Cf$kA0utNQb{h=59Zz zHHhD2WntIIBQHDUuY@A(k_^TAgA#VX<(4jff>B8ndBybtre7^hn7XMmihO=e0eheG zrh!qe9DPAijo#yHiSXN#et=GJjspwk-kwH6M(wjg@vxD{6aFRqdAG)!f^R6Z;&-26AdDLdz9Boq-7BM?2L~ z@4ms0!SLQoA9L)%EGvVqpYV%SE`lA;@2Yy-q@z2S^Bu)8D53`n*xV9^37slTVC3U3 z+yOU6fvL@MTjR<76JT)vl2454Jj$f5ls0+mPBQcYF^jFbSYD?H_&o6BgdXK6ZX_;- zfyf10<_fHr8Y`5xu)Bm8y&oHKpfs55fD6Q%JkS8nYLb=iZ-00ILsiP;URb z<91Yia6a6xTzqAct-buO!};#K5g7=czeWNNMY zNl%nM;=?qRSZhwilObGDRM0gMp8n)HQkRT%$zAI84Uv5DRz->Wf2;v`f{&KS(v-K; zwY1{xol=;L%MR#gQk3+aPcYiAzC8BNX8Z#-rVpRjN4!uL2;L3a#hL_k?K zgFSgOUw7bzD;CF_boIXW3^ID*Aj>9|a8_B9-o5-R)XJMTBUnH=8YArSb&;*kNNdIG zYeacn{gjdC2zDT6IDb~Fq~c3;|A?cewy7B$?G_K6FD_p1ScZWW#*^7QoWHYC;04 zS``A1d2gl7s4|t|1c7)hMhhdW3%fuP`?m?1x~x%NM}OPTQgymLZj8i2f=6x#aon44 zli21Pw|nMI}h#px=Evj{J8j3qg-Lg`Zz9$o?LC{KTrC=uJ0tXjS#)0Ix! zlBH^JRy_Y?I_$lf3MB#{q`jN_&r~@~=%KYlaRi5>mxu&erl3Vxpbz};ok%%#ZV3$~ zI_Z*hvBXm|KEqU>y&}Ry0*HbKMP>7&8EO9>>_{5*bl1Cl8@uy2O>oL3bR`h&?t3r; z1Z~@sg045M1WbvSBudvS0G*lFThg88*Kbos*m|th7OOrcVp1D(7`gCU&f`E#?O3NZ zE3C~71G`_0yaTUtNp)gzq=6F64b%r&$0VwvP;{}JV%u|)jR_imf~|sa9}*T7YbaA8 zQ9zj-h1`M$!O1&Q;M~d~@#mH3)JzE*3DD#N#*6hXGXZ-pLaVs*hB)P_{bM|TV3hDjDG5Jv2gMSpcj{?M**_TygIf(^Vl4Jm%(FZun9V6g ziv^#^Ls8vYqeP>V?O86WjoDEc+w8E#suqg`{9(gRC^}SYkqBclU$w`@tA{r&0K4BL5d^M{P3s>n=B16|pccQb*1$ExE#$ZuGS2e>Z;^7%# zZu(Z)xW{!7`jTvpHxG=$G-FtWUHM2(p?cOgMiou;KCP2Se*LV2R6M!?&h^f^$0`&Z zuQd&Cr;ftwzG{YwHTO8~*i=2EV>T>AFpA z#|_{y=CS2VMub0rWLCg&6u{+IO^65dIxHfD94js0H0(7?sa%$&rW&JUm}E9Y@Ys5u z8hr4F#`d>N%MPi`q(Ke8d#7}B)-C1L`wuK`S6g4VQ1HY-ST`pUNJNDXiUm{*y>_3F zX_g!Z+SPlaTc&+@UO^#uuxlUDbp6)mtwO1j&a~kB`G>UUTnRZm9 zP$D8mc_%%bIn_ZriTu06OCl}0Ikq*aOK8wu$+C*s+~ykqcay0$n7!;wk3 z#6+OWu+d^0bMZS+y@@8t@v$@ijYASsAmFNj1pD?PKWrqYR(+uf_($Owg)s?@alT~c zj3zyne{2NV{q=NdGwA(#zvyk^foV`I?=8v;%a7;JM5Z_wx5JO(pD88#c@$Z~#kQI} z%WBo_A2;OK`nPLqA}$3IVus?=#9PYL3A3O$Kq+64vTz!kOqHWe1w#bcYUBX z066qEs{3M>FkFo zpm&NAzqkMjU_)nUKGO>+3ya^B-eWL&S%bPqD&9~e@zP;xWgijLfBtY3Nv&Zj6M)Rv zF}oYWE;%HMEc`)di;PqG5ByjjKqb;(0OB zNLkC)n2;_MU)KmO)RntGXHz&NZ~-AOtxf_B8cdY?AyMf!Zx(-eLEJwxW*>)kBgmZ0 z6H6B*7)<^rQ6VwA1eh?hFjK>Ynz?8m0=(@<$2>DqPxVc%QHm^2Dakf+J-i}ODvquN zEzL!e@$n}{q>lzTMiooDNlL%vJWA@1kmjGkMKwYJ%s32fEMu*nmUF+y%a5WrY66a` zIw%ogb8qKVDA9MLHBPzSeO80+U2|d*J8$&Q=@zlWGCX8SnO3aZ-=aI{Efa$~!jX?j zukOfR`OIT3m_PTCb2B65OePrW;g1C8}xW{~%=%&UN3gsrDM27;gP-Qrd zec`Qe9(iEuK01s|m5Uf93dKRO%3mujFok=Q`32>ixVh;wVWW?9={}{TMjJp>P=9(l z53{W>R^BtxAo)V8PFIFL#6HQ+$6I15emTNAr$ZV>UcQI^RWYR(aGtx$s60QL=&K-e z{=?DmBTLC~)v?#@Y*ePjTTT~WWNNuu`3O?zzlxpLDe9Fjy9jodRB?EW*t7{>z=yN9 zZy|gs0WqzKnrjo_uupl;sG(GNxaPD+$>JBle!+@M0VOh@Qj=z$^^L`L`;W>%`Q8hS z5H7zm_gQ30KN^@Lx)0zCqjq zHVM}rDc6$7acF+F#(@*EAAl+-cFxQkAA{R%v%qQKy5(*MI_2LBGI}HbO~N|pzEW}C z4G+b$sS8*@Z?_;+J@DX|-;UUwhb0&_|l0ehA>6g;ru9j%J_Tsu=f zHu=xVP#TVhCA!<`MvhT2Z*$5~mFpMRsjqATHN)cS#k%@l4=vy()AdF;k}~yYQkAOt zzj!ghtRLGo&aUu!!=?K+&qTp)2)Pgy{QdF7NQ>^4A6(p~?#y;sdH#hY3w}k$0xH*E zlIClB&r25Kz;&_mRQFKa9j=FG>`pXLp|d9m(S{v^GZpm)Uw2VKJ_z$v%G2#luhOpF zJT+cl9_6L0BarZqPB2z**B^AK48DukolHk?8LDUB7D+;iJO9yau3GG|Dsc<$$Ak|r zUc(#)E%4lMRLd*VR%U8d?}#| zzWogA^S|mYo|n6JMW&AI{vxe~LYcHtT!0aBs-c^9-aYo5fnR=%98nG6KomEe(cuA*|hEM+wHq}pz<(b%0-%6U`k z)Zg(XRQufh$lD`RQzhJJ-%I3O^{TtBce?I+&{tNs7X)+(9t_%-aPR9)*JiCxNzxS6yQVRcJC z(ZG+RYTuV@#(Q;x|(0cYs?2ss~#`ps8kKp?ixjWuDC3LLR?mu zD%JhuxoOrp@OaI_{;Tnt{<_&THPJ{-#Hy(c>W}SG!|ShG;*`^bXi;%N9#@op--j|cJ0y%YAoi5k zWeCV8@k+*ae|NT4t9xZj1)o};<48@OKQhN@;1PWjLh|;V zvIQ#sr$!6i*xt#-1&O*dmM$oOk-$sz_YHsZqF~1YX?E)CF{dVq+viYb_}L56+c=!1 z8-ayU@ODwVy1xou1XK+j1$WAG?7}_%Cra4VU|ziKG-_#1)|&Oexh>mkV8{*`ZK8bK zHEEJtI2y5smr)__4N5`5t7kd9cI4kvi&Z^lxV>o0wi|5_Ubqm-UUersJ+Bm|P!3+neevMwR~8n8Cq9+d>%(YRq!!L zHE%!FC_YYAhQ*tC<|U^ks$|J>MK%1sK5pY)jmQq&y65tA32rWfoTK&`zuX#OeW(3^ z9pI(5XdKwI8kPG!+B}t$>RAs@9 z+D_DU_{JnYW~aMBGV{jnvYYvr8BM2f;it;6BS8Tg;^c}1BCa2+HPJD;r+8yZuXe-j zO^iOzs)}NfOh8>>2suDlaB{rbP`e$4?07BnGVHC#=p<*>?B)3C=Z|A%!z6|Ya4$b1 z1E?(?!v2C`83EnM=G76->BpXu_VOs!Ca>%H@vskdBO5R~%?H19%;A;FtFh{9)vb3M z?W8VVy*0sCzWMd)8xoiR)Xw^SH+PG`nXUK5{am%^%uN;QLkR}F zwn;Qi>3TF}mEJ4QS8LVk8+X85UaTRbFt_WjL}?VAF_#uj-e0FofQ8)RT6#k2!6n?? z!(n()P!&0d`#I{0+pH4ZKYg)PDRKa)zH~tXx}VS~#Ve+*EGky}?L-}mTJqLcM`{Hl ztrpe%DxNondpuj=e0$5Pcw3&@`Ob8C)cfR>%OZ7R!jYQId3{ABk4_AaixuMiGn0e% z&idYheFpr=Rc+;|iOhpjwO1s+6@L0VognRV<0Zso`>qg>Ht(4)gCB#oZLBC9Iw^yu zDOnB^`_pcdIXdRLM=YOo)?w6+Y2J`&)q}a=)KYb{nJN@<$PS^)%aYvm-Z;<}t_{Sr@ zSVEghRP+Pusn0b^c)+O_TeV^h8x?)27r9-!I*0MR()GH1%zaLS8WzVJN>sC~ zd&Mx-*bN5}&`RY|wR%0TF#*(2Tq%Alp?arG*V2(fVo zA`PEnc$bI?6K{{HQ!Y<%{x>`1S9N9ZogAlcj+M?W<_Z6yfr^_u+!SXdS&7fv#c}DS z5iD+2r+;FYrMlN?a;iZVz_)_mhif3tHBVB~MV!)3`Gmku5a zFs^K=h6Ke{8+EkqxNL+V(udQNrMkJMBkEMipQP1`UN_3gaF4r1W;?TuoOY2UN(0To zv$$`h4>;~7X{}p1a29!$pU0*=HM}v-)R5r2KES#6b*tfHGz`8Iy%#M1B3-Gww?D_d zlqjac%z``-v~-?sRv4%d|J#F3xmc|ZLcZS=rf};^zH*Xj19+rO$ zoSFYe(zyp%F~5I&&esgHbvm7-v!!r1DJAFD^0jQl zxYAH`!JE;xqPF(H5%`fL$KSpY2~z%^lnupB<-gYF7x7ZgTR(Amz_7@^_3WX7f^VEz zg!`V|4V%cjdt|BnvZeAcloO5i18Xv?{3HgJp->Tqf7EfF}=d>vyAl4)Ih#h zs2Lx|YUAD?RcioU>)#u=d*}O`Tx^%S%|>qT?vZA7TphbRVD0oo-Jbf#P&4YQ?)78= z*1Gowe!dR8IOXyf3?(xsL~Q6Ud*c1!zEAZ-Cu2V*kUd5 z8SIGec4aXJl^S(abdFK8wa^Qe6dpRXXehf;TD3^?B~p>;6-^5`L=$^6oUr`>txJM9 zG>@~30orct&9+IPArsB3j+N^{YagwdblENNk8{cB3{bZ3`&>d$X|gzh?!cXkN!7ZC z%96PC*^g3EjD+CXP3bT?2E`-y{7j{n&<%(ZOc;{|KYJo0S*|Ph%;(*`Y0JtOz_EX} zT~`+Oph1<(56NKh?!28~^UABW4l!=J>(sY?%EK5J(`_9OZ>b!_mKCc{jJtdB5$-ok zo#D1KDQ)0th-08nUK$>%$#+y$n6CAhDI^fqK|}7+TIb;q6R|8Xjqe={P4iG6ud6UdsF7!P<>%L8|CHRNZoT$-^0- zxO~xhSGX|pz|$7itJ_{L_K0D`ZCmp{LLG%?OhmjTL{rO9HYJl&odIU&G5;^>bkp>_ zSM3%px zhM|K*lT+#kU*VZX92DAaiZW#`+MoFb;oeD zV=r1qx%ybCAjT6h8~dr}iWOsZy^1*aPk+H_*E0{m zFX)LzBbJOi*MD|7kBZJSm08mp5GSuF^WuXwPcWZeDbrFq0R)kawfl>#X7?|GxrtWE zOYo;z*mD0B6Lp+d#I2WlM5k&J+~-~TIsD^aJ~AJ$(s*y! z3-~FPC(>nFi+XCgT`$hE(MaLPYp=L%YE;^?;eGfz{!sK^MR}!K_zz~q+%`g#(Mfx_ z9P8qjAWyj4UE-!%GY+ylMHz{zSanCHP4^Fa2*z~WTcm&$Gf>PKXT$dL_s%G6df4)j zy#N{iwpLWMGXHD4sRVis%~{Rs^5F5uiENhye2Or^rJv_J6Ln>k^>Wun?SMpbXbf&X z)ux8CW+;L2j-hg2L*^O&P7-e_CgYfGlEIe1Nd0UXlvk@Be3sp-2MbC=@sv%sYEhzQ zK&*O04H1$5Qiekm;>+K74V0i8m8>BY4uL*9Cl0vXKs{lR?`8y%VYVdImcDB|_1WF% zCTTd?$nB&@hdrHb(v=@hg>i72vjCa5yKL=%8=12M1%uJr ziJBp?R#HF2WOd!2F57m3drmicagV>KI2R5M7I(@Bdf=ZTo$W@iX&!Xv#)l4}Jv&+E zw&}q|Oh=&_=GK3V25hq*zjd4R;I;RR969UPZ!_8n*seIEfCw+zR)j(~rHoqkqfdTJ z)HtR`4Ncj{N$HMqa)gc9x^rcHqRogk>;CfV1WIS^35;MB7jy9-v3f-;B}6V2Vn4GO zxw784%I3Vmn;D1v_KwtxbPkTymJ}!_zGGmfRd>FwAzfBClphnB2O_@_Rf4hH8{vj5c3H~I?H7mf3b6)p5^N+;9Z|?pvOHW1bpQBYZA$|08Kemtxj7zp z&VBjfSck|dREb~+f%9EwXWH3;`!9b81+tunC>=`Ytv52wbXe9Gb0jL`oDknA-=YWR zLmCIP(smDNsLiFk`p!G=UCxU{8+!>o_diKwV{uXQb!*j=nTRZ_<_2+s3{_gBzE{w= zpIBRWt2$wf24HRfD34PPIZ@N&SUyu?Fy~D}N-6RuU(VLX!`pvrq<9TzXrds|c#9Ct z&D|hhaQe+W+WY9JOs&L=0Z>fKyw4RQWFKz_&{mmEH7wEl>B1OCSNbnZs`k-tC$#|O zrB?oly$Gdu<2k4)Lb_IEHFWcSFE2_zz*LEVqevFm6GdN|*Z$PLApCti_3P)Cn6(lpdH-C9i1*EuZ< z2dq8}%`tmz9(?=k{bG;A2i-2#{Z7o+lF{=tK6w1ES>`JZsZ7QR?wk>;XEWa=C7_H` z4@{aCBeg+1kUUub>sL0Y`Tis~q_`kw!?;(zDAqMOA)|UIOL5lPt*m;yhnNEJ$RV*u z^F0YK4hs<+0z80RD2JvKo;%`fWC=@GYZv3M)J+@Kh=#Nd?PK@Eqctm@BryE>MMgW? zbjR(XMb!JQ)=5pqK4#r0m81`z0>n zO!gR6G@Dn$bTwKiKO6Q=0jxM~-ON8HkX)BU^N2N;)vFgiW<&H@duG## zt_nH+rUi2KmE(-^9rf_@DK<*#!o?H{5Ot`ErQ(FK?uqfF3ui+o43`3O^vFS6x%I_9 zfCQmOQ;(}7w;CO&yVEw%O9{PZ^Lm-iQk1ICQ$`mtn}-7;8LBhJtT~W${CNeQc=0;K z-}-y3Q9E1`GPH1(V2WBa92u=g_aA*d8&L!hNXIs=)y#m9ncY+}_u#Fo2{IkTypg9g zZsDg@lA4hGS`wPmPPyA%!e|4pwY$VHE5P~ZJ}rS2bZ#+9SVJoj#%UMg&U!Cg2j>K5 z-zTwfbb8;rHgqds0zxu0 zQLIC|p@d>>rD$z=>A=0y^;kOY7vh6sTnKi zA_dKf))A~gWf)?jF2Naz9mA=hybY{ItGSABN=I3>deR;;Q2F}8beIL2VG8@F_I07+ zgQUhu^}hCs-A*}5qm~}u69Wk_sXS($KEZ1df;C$9Dw!WBtU0a?KhAv*oI>9lNr!m{ zug_G}bKjw2q)F%T95J60H0KCm-Cy#-;kOmL5)Ml^5-l<|BDlDtG!kZoE5^;KeGyRS z*k{XH)qVEhoyq-(3q{~Si^SMK-X%T5!(wZtwPAS%SiHt)eJU00;Qf7-rFk}w1 z*@JSZ51F1W0g!-|uor1*20~wkwji8mN0JqG%O!wQ^u*36)xJNrocd6##IyiD6ZzS3 z2*(`m6?mbs1JGH~b@luyu7KOYK#nmP6wNCiXL!IN2if&%w9M?;NB4fZO>ShwS2kaJ z)&-KhB+_HU)pH+)__!8Xz^`wk-I;KzGDzr^3xq;1(Wst9fGeX9a!iPVUTc!?+q(9=;3cSYL);a z)p0fbWBlN_kwtJR|8O3rKkXwsq@*DO#Nmg!N}OELLg+_Oj zZ1#%B<ds+skTC*d~fnz4}B~j)F zqhqA5oIA$m0+0H$*r+-;n7vr0|Gwv@@M+$(t95Um2J*yb4$tz+V_#$#6)E4_u`wPk zb(NnxM&tIbiItj;H#cOWcyOwHb0uKaGmJ&<;T^IQ*lW5F<6c#URpch>JulxC<7M7I zS<7Kb&2a;SlKtTLclS9IYD8a{@-U0+iU24^UkUWhpW5?!gYHmg>I)0%D{~) zmy*U*oxx_unRMP9Q<__!&Sr; z-b57zS9EGz;ZHkP)hL&lxuoiRWkzSQb9sUICjN_f2goE|Z>R1hris%0Udol7S!+?? zL1)HpBL}$>Fj3|$Epm)e!#I*sXwIY$+oXF}zfwRbwX$preP0>aCHUxCyN))b zigA_o%xTYKA6dfpD7XJEU4Y@m3ykt4opy1_Dn{#nF#HKvnm_HqenjVSvxVZ>QH@3m z#YyEV=&AaP%`Td1N2d!IVQZ2yxH|A=W!jnFbbb-!Ty%OCp6H!QuG(4k{P7USslQfE z<`#-A1PoSk;r`Q?nJsbkfS>bCWcwE6s~Olj=psHEZaOHh=*kOY#K(`W+}o~U3c>=q zpL=Oyg5*mlBKBNp7eiO)+zM%|iF+eNO7&)=mc-oScfxQmyo6xSckEgVffs z*laIfVW&w(1l@F-5vWpfxPxfWm`nrZ%$q2m@HaQ?Tgh?0ne8^|-s6&G4mRI}(D{D|`TY~`#a~G; zwack8U&lBy1i1GCqB27SY){%?_?RQ+RN%+6PBc;!7w$SYTcaxze$O=PUe%YF)Bg2l zbc!%H$~v0cnDKRZAq&%=_aMdg{1LFFS?FmL**V~pw@b?44TJ0yrUOTKomAk)Nbm7g_a=9T_NI867a{N?uI zYX8X5lnS$PobKK8r`;^9E?wnrK>+EWD+}#%e`af$KK9;pC0uFVl;J`?jKe*_D@PWQ zf#i>_qC3^)l+`}C+OCcRN2kVk$$w7E=2q3l(zJYj>2fERoXAOnqsAD$)GN)pQH-Pi z4Vhf0KIRq3+hGLjiayt^X4G9h!fWNffiQmM61NjwD=Q+QS6Q7p?m$Qv9;Gamp7mBmZj^Gf*@O==bL8& zUAi@GHum46J7n785c}#F6hsz#OkFuUF8O+^VN>v*4O_Vm`&f zpP$w!>Pa$^K^Ze5>rhO43y~W&dc$<4((Q7iSYg&vUz+u0>L*f<8})xD+eox{KK}ep zX8R)g7VbA2%hd~?;+K}$01G=$#R`C^R%X;B1Rqa`@z(FfvRvlkr^pZK(Y{&+ey{!u zF0mF2rs6dYQ```%uB@$Wq5F1|7RJ3f2Qub7?x?r8F&(SpI4v1h!l{#DNs7(If(@#M zizKw_RVnp}rv+oMVlqwAJYLPN&NuPDz;Th&&nmemZ^3az5cTR7ND$t?TnZy&_j2U$ z^*8yp;QetAVf{L{erxe#;zsqX{n z;iD5X9OtY?8v%bVuyrN@EU)l)RLYDxT(k6L1%A@9jtHmsn%O&60Hdr!?KSfq^!%LY zqLR?>O$-G+A9@6HhcWNto=@x+eAFE<09QVqZ4uSYi#WgBmQ8WsM`*^Pxp9n^gFtKZ z?F_M{)@`?vwbrcrmo9 zxJ~(VJlg)uiIu%2Oi7k-ym2snxRupnKDs$ZlOAJw{n2e&xmZ?)H%GU2Ijj)r;R`0u zQ2zbd_Q>(~7Sein>6?N)CtOb$Qnh}nXm{1JK{lVcD~% z>>m0Z0=cAzPb767-Z;8GmSWt;%1je&mM3Xku09td$UA2~@DQB%V%FEAUndzogX8?V zp)yAzeSO~2{R1|+PNF7(wTgwDSv!^4K*-bDFUdgKe1O9yXElLQg+VI8NE=s*7Va^O|Ulb}paZ z5(9isxL!-^N_KOhR(IZQDL9o5sgQ7{S+@WWaIR6iJ1Lj*i?z&E8`Z6-=VUUig5E~w z{?zSk;?^Afqbw4>^0H$2s$`6#Vv7=k^frAVOucowL2R7s$osnTY~M^;RT|9l-Q)i2 zvq!}MgFEP;Ps9QJOHn+|GkKUJ$VicoM^v#~PM~$fofq5BkAr(KzCmz$ba=KQsRRq*Qyx} z6f-(d(nlSK#6%*q$T(i$0SHwdz+X!!)p8Bs3km| z*LLnx5nQym9VCK8jH5d%!8vbqd~%z5${R)_U=LEI@IwDq`KsU)okpPV_vQxurPKL7 z>@y8`$PEFQ>o=ReuHH3DgMIg1%lBj2Np(@syI&F93#A*!F*2xu`&1*M(q-Ew-1q3Z z=QFW@)QUu%!tD=(Z-U8j(XiIx2W#-vQ-vb$^;FDl5}24t5&q*ant#qJjaSolvl~Pc z8EuTKU3+gPr3b(KfOw&9U=aV+BV<;B&+ze|y=qOZ zdibycElvGnt#QYE@VfE!x_81%c?sqEOhi!aUJ}AcU4u?GW(b0a@n%{{j=@o*Q>VkN z{#ny(g#lJiuS5{=iOM{6(dn7A9z1z8DCm{_ZnwyoRt|T^7bx2A2a-xD?-y%MRQDxv z;SbsKICxsQnOXxPqo>;9xhqqy)w)E@nO$Z2uT{6hcHa44Yvrpt`B&K6;0Cc)$^IQ` z)*j3Z*}cU;4~Jf#ZK57~ZKk@CL4!EZdZCtCf6qxbm~%sOww+$-;gCArN6rakfGvq- zxXJS~HivuS7)0KAYr0k^!kFdc8#ZRzDQ*ACcIXNHEMLP!LuD?1Ywhul4Gn%+Wb}*{ zc*-=1YZnj=*>a(b$5I}yDfrBs+sF{(AP({%Kbc7i9HJ{}JM;Up7VyUy76`tgR`a=n`{jRR2G{D|6?c~S;oRejX~J+o)V>=f zlBqO~w7q!PG4SwMEq@N&M5kSIA*2ao5xk4M(_6OpaYlfB@zXQ{XwMJk6;K6L9qPNY ziec$Jz=HTI8Kq>w1tQaKM5)+vtq~ie)#Y7}m}GYDgo2aczd&($oM^;du_kt0oSCmF z@of1RB4$5{3^*74L_lNz_l-`17B7s^;K2un7&WlmwWG4-x~I&{*06iyPDy16z%}7k zcTTeFB_5JVPH(H^*jLm1uB(?%q=sKz`Ht2i0Ax1k>VUIhV2EdQ9JvmQ=1PwM4sY+Yxy;lo3>)i%$Mc=SN-%ZUI@0AlTQ=s?8)_=~a*oiY z``Wh}Ji5r59=VY@BTzqv8aDnU209Dw<^`gM+)Vvym&0D-2iN|`82^dWv)KfAW~`t^C4#N^ip}?LanM?wf8a8{nYKxWG}t$wH<^~!GF!C z_3({1SSll}!^9(>&$sBxY$?q14x5FBa87$BTPt2qDL4xx)yZO)kUrO0g>pU29axrB zR}`|L82VXgy5BBUb;@?8PDbF3H~0ZTF5FQleg;?I5uBLJEa57nrjmx$B`)6uDBoLtJ5>2~jl~LPI4X!aePl`u7-`kzgC&lqSt;$C7 z-B`2|X3`u|Pg{B6aN*Z-vGnL50zWTx%XMX4iU%N^DtkSJ3*{Ln@z`BJ^ z!QzMJ8|iyH$e>~g_XjB^#=(PdvI{9>@1G(NG9b;-t!wVbwSVXz*$x7GYAI%RkIq!H zFyR=)$~oak-dIWY%XjJ4@@m84s@J}#VHIS4fMiHC3KB1Xo51PJMxwE8?jx~`KXA70 zfUfk0B+IDdUcg6i5R0`;Y9C1BYtE>2N~$#(XB<#0$t0zTHcUD2`O;{(J_DIm77u5y ze!DU$mWG{Xd(P1`B`5TOykPMBCq^CltJcHd)hL(&Az=X{gefoEDxKBXQf{i`KR44h z)v-6G56~~3hgJIx+=Dz79F;_?Enrwon#Ko_laeWP|8lLfqy*usN>2FfZ zHcRYwZs_$T!rHq|HKMGfP}2h4nf%zsPW6{~cc9*K3vYz?O@6U{FwOz0GG9Nv7e-TVeI!$AyiUfg+qTY( zq4c(^L0pKCFbMaxIhm05?QMK90Pf}z9b!o-17kI!K@sWjmpF-fgKfo{_?2vPIic6}`1uZH}LBw|5H+|cRsn`=?3ev6wEK0hXw zl8CO+s!Mpoq{|9S(b+mP)rG@*hGkOXa%O^g9kDjyMuGRu5<@1!<%YV4z%=g^Cj`4= z45T^M(Hya?s7UnpG4<;xB$OEfVgJYN_BhXBV=?8}dt-JGX>bwb^p9|f*ZKzXNmNd2 zB*CT?TH?-zwXeo<8~m64L z65u3Zh7~c5uXttVWJew2kfZbOGrf8dYJns1+*3qh&zriiLA{vlR9{uwEer9iIT~v7 z`Ucz6oq6wMEKy?!tVB3?nFEq;Il1hw(d^#xS$Ph>*R`0Iac5}%N9-E)x5F2D>Wd@H zhJos~b%>%kmA&QS3+2JMf0h?GcAvd79dZAt!Kq4~fz8)Y7KiJz9PsX{(p2C+i>1Rk zTBufas*}m{;J^(y+b&n5cg*Iy$xlE%;9Egkow7=pun7M znI^HDGfo`RoClj@>`Oz6#ISp*on2_u(e}9gnV_3zzUC^7Io;FHQK;n({|7P|3V_$i zgwQy8tUgvN(G^1KW&2RV6YU6);vE#)$R|C8NLxp)%J$Nb zW4vGAmQk0^nA2sBx^wLhlz-1TP~)r59woEftY;@7#Uz%BL7W)daIOn=C^vwrmI&zG zeUIXeCC>zA5@)8;1}|EJ`xmxLA`$*2o@5#IuAtUp9z;byC$e(T|w5o^`s;rfocSd;GWeG$M$e2@v2EOqFO6Qkar zw~{<<31$ z`Zk<#pJ|~4K&4`jtP%^FqCv=^H)XTYO!|6F(uUKQ&MnlcPP5syA5}ZYa8blEvb@j0 zawG#6Nb8}_ZVGRR^;VWrZ+=m9_8*^+%Z;PVcdJz55M&L*9lb%EngfWI3I`1)DhlZA z4`2c5r6Tju9d?>R>NB$t`-0POV?L3Lo%iFyf+O5^Zyc__M*xK-anzg zT`R$$Ol_iiH#x)whawo5mPWLTkk4%{A)7-Ud)ff16AwMJ%F&M+oQ9vVykJCp*?h=` zf)=}34Via@lW=0B)$8FwC(7c@V0jD2_OHK*$i(4Fp+OQr#b${l!Le$%y;;3VqAIq- zzOm{m_QXxhb3?riRn_WXO{{hREz?Z>>L4l2MK1`%{QkUrzWWVVSDlnucOiAA*F*cz z9#l**ru;FZ!yxk?>(nti@_c0<<{}d1Y|k?L91l|xr{XjxiFphxBonQ6WgzJ>nc;~B zHfs%ap~m-EV;mQ@fS>(@V#T1rreOk0!-vdFsRYvTzVv|m2oZ|sq zcI`Yp7O4LI73C+W?W;FN>Kj{aMeKc}cc5fppsgf+yo6=M&=IW<%hj|#3=sOQG7sAc zZ-Ve*gS0c!=Laqb4OVPm)WXqrc|sYEPzG22#+`r0)>>@QW7cY2!ZR*MIigAuX{0%* z2IJ~;)Z+9*?Q!#Yj_}DRT7&K#I?`?`S<~F+<_4R;J#Fqn6oQ$aBcawprzDl~z7ke+ z&5#@l{IA40X?WbaydNi#_EcrHSiNqLXiUOS(e6tNFyJ-AwI)`T;!80Y?pwNFu)(Cx zQ^*&Q30~fkNB`dcR5mQd=V*LgXhsi~+((DpUtJ9m+vrpEdH^gKe(iWszmla3W%x(pa1{lI&_eS4nKGamlMQZ28N4tZXF_?ifoa`~iGFkrnhaQ7uhpF8qG{u4^PRhS|s~ zD771H#HYD(V@mz{9Qgh48GJ1K)6Xkv_^}xtz?An1OwqSy{C8`tfmLjG8fjkRXoGRi z@#xXa)L1#D<(?+-f=^#8EmZw;EKm8I5!y5=U0zkE9&$3@9(~=1p#m?A(rV(~e|w)C z0}8%AC(}t9q#?_xdILAogY8!r>Zq=n3v@;M>mbh+-<4WLukm5j=$jk!0j~VGYz;vk z8=^jT#-cil` zJD4<&7YQEx2_X({8ECW)(}VwBNAi^4U*gZAVY|Vz{+-VQ%_C%Hj?kV;!4EBW8S?i)~j1{ zn)$4CLbukYdoS0JTnNYSzpzoA&?;fsXz^$A^Lq@^I_vI~i}8M-{Ww^(u%4b9GW2}s zX9rDAt3zgM7RK^4qjp!_`(~1`)V0hdLF0TXwJ%Z2>H@yT!;jjbZr$>M(Mx;8MKQNV z_2-%G40kMhf*ZE%9ShZL!>!CV(y3;H$-NJ%!5Kt++Bb>3eUJmLToP$_#F4Y zg}ti(u^q7&wl|+9`z=Lv-fib=5lw*2xEtLMl=Z52kIA;Mg70M`ssNT(Y3(Fyx~g(& zFcn4My?wUPO!4>Er8<_6*5dxD!DnXOv3j5!!}~gSl^Z~~U-ekAQ;kkFJMT+6ecze> zLc%&&`OhTs?BDemAtrC@LtX0Eqd>s$`Rmb#%7=aBd)TMiIGt?Gu*ofI<@0&`qv=VS zy{M=s95ld1M84|KdT~}xDq#0dJ6>X>p1alNrEhq_ZRcy(l+~#2Zqkw;*}utB3-9n5 zMw<3IF{*s%WXUrC2vc=BMkQ}-TC+4Xd-E;%;_ zhpjkeVPEV4t6FQ2n1xkGi_z z5n>Ci{5!8xp?RyD7G5s4(xW}LP=ghC=FCp@=XZJM@V&o?!ddNR!{xeiQKiv*9XsYv z)Y{_yMW?KF6r7U}#Yro=x7aC-wFqGOuhdY9U3bH`|@0JY^?I z)c(GiD_1{WoaM64Ki}p#0XbQn*3vTBniCxnL(-h(hh(70M_p#hQQsddmv+cHgeUy& zbhkVnX)j$KYf`<@75)Y4+AVobG4>3*Sy!5x+y>RV!;DU2b!(@z#zwDn8YzbJJaPBr za)#7uz+m^PYz=wVcbVUCZjMlje~QTk`$JhQN^oe~64Yw2C2s^Mk(EpHO-vGeSv*hw zH|ad^*KR?yf?Fk&5!_h^^Y9mCk-FolHm5uDi!2g1w#f#h2P_8Gqk})wkTYWf-U4c6 zVXTLM-g8x5>hKL(7p3mUieZlyl1l2}us-~?|72+&K)CH9F45m|r^_#Tx5@9>K-gWQ zKGtQ!6lea=t|kSXBc~YtZMN^GM%|`&1*L6!Akg6(dkhHd=6JNnONYgpMK3`otMewa zr@wmEi>|})@A;J2DdWwE3<&fqAE#TX8!~>}+xq<8F^4$qUOe7PuH|9Qfh};Mb?w1M zU4NDcpHNJbLO$DYMq>6oY@?FC8eK@oA^(-rt5xemGdiDk{(zNiRJz_-@f|G41)YcdEScy0*&se~xvL*J93WODNx)K9krV{7X1&#lJMz-rdXLP@d8v<)`*C+sf24 zzgW|wp3y$JM!mI~YJcnPm+p_Xv*_{*JEeQ8Zzv|!=vp&%NlDq|C^QW_& z*V;J|zMJHjK*mjBu1!kEJ7TVDlW ztd^JZFzJ_%XX>aMcq7w^|D8cIMT5RD8ZfxoYE{qHk@mPhc<9jpOZdqIqX(1lh-W6} z)WvSLTK6vaMwTI44?f|dSZ=tMgDb^WYJi9qIZQI&K3mQL&W9j(bm~o91q@l>${BFq ztXhYgEk~8UE2Iqe*ZZ_!RnK@{;r0GL}bPTut=!IyW6xYA-peGM#9X5g&l6-NgEio$>V&mQ+ML-`*wU`s*Z- z#)GaRKiS&XtV^hC$4UtZtSp4xrPAnPd(VW90-FBE-_JxUbcgFm5H<6P1Ov1aeE z)=vH5KEMh%Z~MA`>>im&EEX=(x4tRVFt}n(Y26ftZqEQ>_l%0-eU|mptjhKnhx}d1 zI&qNk*h+**-)6LtD86dsWSZ%2qG$_LyC+sH%nkwrF2psXDHXZ9)IYaW^{9gm6(aYY zQ-Y$$uXU?c=W>%R!UP`5U3!rRBNgEnJC)kGD^*P&-xWhk{VgM2yx}wQH3R|9u=(%z zy+|z*EQ3dt1GTKD`?Zf{+Q}m9YNV0RX#hVM`!*NqeSec1htn-hZ2-HMBRC4Ua30NR$-rTFx%zhr8t#yLgCCwa&0m4%R7 z&XD`uk74q(W$aSEuvxwS2OE{Td9K?j#yPBqs^vjgX7Fb;>TP}wF=aUx)@UK8EALeR z($2{r%g9o1*F*9al|?6Y`|6o=2GC9YpP4%h$Fh!U8l_+|rb)T$l8tTZ+lt}incl+u zrnt57!s9`|wPROQHqoB(qM0111ZMJK-8=PIiCS1!bsKFAree1n^gH7nqZU{kuvn|t z!OA6xUlow> zXCKGJ3f5l6^*YylooOo>Y3+Sv|4OSGHk*y`#j90growGbr1A?JBw#PRiEN0r*eW z(SyP3vb71NU(Baop$mle`oEs-(xYe{*MlB*I}=d?>52ZV$Tx~n5A*O#yCWX7?{j^O zgKs&*NHdE5H^RZF#kVFS($3~4@X>1jt=JO}GA~piSNK9k0IQAqab}D9-RXu!l6`3p zDKaGqZD)LTc8n7Iz0B|wHCR#6@Q8Zsk6J4Q?Z;+0?vBG{Lm1YoT*^l}*ofZFbTY_5 z)ga7=gNktXtQ%dNSn(PDk;203THc zg1&e#!Xixa{Erqhgj@|<$qp<0JPdBNL|j6vwc zx4aZ?nptkBLvuphXOe|-xel};x2SQP1-D5_M3{P4)5TzNyHx)Zvw3B9*68~99%np8^pU2%ySy-IaD1NYVrlU@3XO4V&uCZ5 zHog|iAw#vUMC$-f zp;XN>lElxp?uw-1FxpA#alWLh$GWnjX%F?VKCZ4iPqN;XttMAg;ZQF)Z()FT%<6Go zV2M_zPkP`~DU&<>i9=$cIEA(qS85hFqgA~#+Kon1t>y=XULul@m({8dlk)&{CmrT; zaknMWOwsudWD(_Grns~gnY>@{%~l8%ot4RlB`BAkz#sR?hJ;Rcg<@hFcInaMXSxBE zQdbsql8^J~gRs7M?>Ky$Gt(eEc&RzMf7xRgJ>H*NG?eExU(c*jvroWncaM>ImEML8 zSe3!()f*es{MSY0#tF0%BpeBSM@o05C6SB6 z*|?{MwSXLVf%O%npzpDJDRF&~7{Q-o5p`wvnF2&pXBNP=_aBww>l!nMk9o>|(xPOo z9b4!T8fs~&da9Qj$#fA;eNBLR_xmW^WYF&)8Q|rchbRFI_B4BMWc=}^`4V9AUx))n zS^ZNs*xI;<(LP3x<}}*Pgs645E*{;>fZc{fQ@1~LSZj~A>r9(&utVO_LY_$aMx((CHnlu?{Q=|rqscgn>`PyAImnmXh>_O zLmZM~qqyLbk#?Rx0y7L3&F&OaQdIAd4hpr%g6k6)+&-7XDL=or29+LOQj?-Y&fBsk)s{cN0G^B((4X=Xj#~0;$m`FK8X7+{mTg7&{ zHlt@`+#m7D{8$|eUoOa`)aX$$c$|M9W~N5Eyt0+$c$<+kI2P{3)hIS6n)<|`LgwT= z5W49$Qy;B{lgyw}ef|iuwv6qe5E3OWBY_p);nKtU{SBSv9eBd2gK2X~71O#iVYV!m z3~zcCZm|Ak_M}e9Xk)%w3_40V3eRMEgnXLMjODMXpH&PN6`=B?IERo@Z$G~<+mvXJ z^Uo;vbfz_~OukFX!o%j+zI2VI2gQ0Tdl7Rlch#G)0vuFS5_Ns#;~!ikbt0nnt$8g- zz5nhOyOGM~Wm4rrpo9w~+P090(2Yf<1aTpS2?jH{2_t`OgUm;E@)>_ZKjHKPWy%x5 zQ&Ghq9*evKEJXjO7l32`zzJ?7-YLb5oTx*v)99HX5kR+7!Vq{T!Py6j)ft|&3pX4j zyHIN0ny4&Lwwk?+yB|Uv*-7#u7@;GDr|ku9~$6ru8pB0R_5BFa7FlB zKRXc2(I9c#@1VE$;ln(YfW#V4T{b$CBb{)(ne0o%2-1qjSI(6m_Xfa$yQ$U2u{X!W zJc&nSyBNV$ENw^rd|3gZxO1L#HW5$NdQ_#cg7&PdH%cHwxU5lhW~N-?nVCRWF1thv zNp!pi*h@5_UgCWDc19++vdbN{BuWDitsW(Du7_he>K=XpDxSaJ4#h>v)QV9D^w$5W zh2w)t`2ENCGp&iPzOkgL+-@c}NYK%(rVI5;twm_UReO7FliCsZ6@l@uKeDV@wWqpK zoFJtI5nKE4HOkkcjCO=^{|kT++-CxogVzDd&T}0`8#AJIN)|$03Ga2QM_ zd8F8ouM%Fn;e`wp@HCvWC3uq&?WqS7b46clWrPO1AOrPhnt4vYxgai%^XXMKfb{f0 z6chFj7-F49c3M|I>dIK3_f{g#^Peg2bGgs+i0WsfhjEb<_AuScgZ&bClUdxOzJ za6j{cZ3)D~3&8flO z8SWmnJl`5R0k>0cGCGeZ<7S&3W$LPZ^7Uc`8;u819{Y#gBLWCJ_;a^g6RN)~oY|$` zbqTGk;m7T%Sf~f@Y~!?mm8gNTCkTzN*%>+EV)JR$IijMxO0C>gYO$SxBV1Tz-gJ^XL4L9JGQEk0p_O4}O{|)(^d&NqPdKoVU|#KGZhgt?@$oeX zQr4Fwt&7OW%bx(T!KcF!32#c9-IGZ5=lTA!b1??R19N@h7q^kUfltDgcpeMO)wX@J zDJuTv8`Uh%Y1_9Ju7szh8aUXsbF!i~-eTv()^Z(&ER-Jc)&7`r-X%{WAw*?a$}Mkc zG@|R4y=tVm`%NE9LoybS5g<_anN7DQ>ITFb)Np4rdP;XT9iX*Q&oMdQs9QhJLY=DK z6=wPoxq>W#IM)p8B-H>2EAdA;Eqtv3Ern;g+c0qp=|tBstzP-o%)O+C*Z+`L#M6)n zhJW(aMkgulFCWjRDfu`6wZRLuR<@|lc(Xbqv0T}Kjj?P;<7;AdVpACYX(BLd((2A{ zW;^ugiZ@Ej$M5c}Vh+_c(z%Zo(;)1wS3(%D40a=&kxjWj)6fYndT`xe*MDD>t8Uek?V; zD~6cuGZ={`L6ptS3y^bM0banGJ@}}e@9FZf8C*!WQUM+_U9oVLAATRdgNOW4`V3bqI=n+&0byo?}9asI{Or@tCZ&; zRS`Fnk1`|nZ?{Jja~52fagX#}jql+cLH`SE^i==Xafh1fxl`Cd{7I}y5S|dS*;%Gm z^+&l_JHIJm1R@m~NVQ@ZczAT3boYu*O(pg4t`lre46=NEoY28Jm0ZsQx66$$%CfIE zT9kPz)+2hNG-Z*TVwa?CGFGC6sbR4?Y}XAlvaq&&3Q?QSmW#@@PvO6Q9VJ8(ohXf8 zI(e`bNX#b#2mW)sQ9DSSX$d>~cT20L()gpsYaZ2XHkBz26+Q2&hg_~ztKm&%D?$!x zIrI#^U)HXY8|;<9tW<;$vgG8%z_KV5bvt|?7RZERb=kSkYanwtaTLDoOMgqWPdV}q zL=T9|w3bYOx>1r2o$ROxP;;WLva+^ZX}JF{rZat>G-{csdBHcDlZb|(XR+?GXtBxT zGi@|Md@uj5-ePou6yJUYS;ES{|NqM6nxjMCD3W5p0?BxCyJU-jwzPM!+~dHX{}i?BM*rP>Us>OdZ?gCB&yh}I(akKsE7UfW^$j` z#X^C~8W>a(6*;lFxMqUUW>}`~exKV=%6xj%d$gD}p&FK%9q9M3_BTQ-T4qQ0GIZ#X zC14c_O5Xkv@FBYG0lPZUGa%L~4%*C|q*vQ1S-rzftJd3Q$7;rZEwnq;u-*(ZrTlDK zcN)eUVKUKNM&F;+Z@;TK5EL(_;<&5RxO-wb3^7fl8T3W9*Da_j;+dt=uPy(}cIr+= z55?%ZGM?I=zH#r0o6oD{Carm5s{mRy%4T!1;Fm&cU?@Q~&1dVzH%1e;pMJFn6X4d! zK=XBH)wZ^cXKIoSx$+>Bw2^- zJZW~&ta*)ZH;6esInul5-3xv@(|5Ti-^qW@7+)kz9^U1C1!WZ}w=iJ+AXSka@e4n_#Ds@n-Iv#xW3 z*4P0>-thRvSZOOJV$^xTtb!iXfx76mqmdQw;DfU;tMnaNZYwu_0P~uF*(8?@hO5pk37fz&hM^ zG1uokAzQe-K09HMMd?*gD0sb>HrY_QVO*?@iSi#}psY&Cdcw8OBUjN~DZg zV*~j+Z-*)gfB%j8syJM-XRIeyha3juBBPNyf}4NBt9f<;vFB)_+0hJ#zhCIW+4xm9 zG&>i+DxKrJK6vHq@@7U?JxX2vhwC#T`Dvjn2mP!%iSq+FLiUe_hKA5_aErXqpZ}F z3^@Nc^<4wv&h}4USy`idlUdVImWt-xT>gThC|3I+LiR4K|6W^$YwwVMPaLT(vuP?lmwShKd7RABr&)NuO6Eq%zrv4*&E%}ZIB zKFHmxfzgj0Rh3jOf1DlaUha<4?#45}mz`DCk$1ZgsOM3P`QVw|T-a|wOVOuYe1cY9*$}Iv{bi2i z7{aU9%UymD07S}Vhr1B!g{j3{TuE$R5|Ov84tojqPJ=Xy2Xu`13|PLGVZdv(A>0Mm1k~;$LQ} zpW1z};K5znO91ZPkMcPZUH=n38Wij8RyDlH46fGw9h8hispfJ!AQJVU5H5UV_hMRP zJ%c@W!OsX7{A1VX(aKC&wR*=C@le8xp3H`-a)a4=J#kf=mAV8Pwt-C1ZWCbyZ^Oxj zc9yywZ-a|}Z^!)yuep-Syw2=Bg3-S+ln0)5lWKGXo%?ZR#qtNh!BZ-Pp2jI+0bavEt=9 zYS*fY zX7;|OdgIMHB@;GCNJj4U1{*1~JhMp%D!H8YVXh-#D z3*~KXYtQiC_3w!=fBFU76YPAi^wI?FpLIvH*SEir=w<$cYV|Q2cADNy5Wzpe3|ScQ z9TPnFNTkYQ<*ao5g`AWc>}Gn`$Ad*5U%=12zHhh+bve_K8s{y&*i6mi-*z*>i5|N} zkDfd`Z;3<@&3x${Y|3Dm*-7cmPEH2$k2lNrEZv-^$NdFb8kYBGUIi9=^S?CP`lti` z%`{L#cOMao=+~Pcu0%mSvOA0mU+4MIRnX*aWF6lE)gJVl7t-kX>yzT{VK+EsHrKoANP#) zr-Du29i~CF@nx_p2hIm^=d3k$%p&{pRlb+bh%=4yi^-l!kF?j$h{$1Tw7x=Fr23-J zoab9g1uCUD_EMv2ySq$5TdGMa=fAjx0u0=Y+!wX z;IFd9>}f)?)!{b8gULrui=`MP_-q!{Hu-qIz)`N?mAoZKV-Pq$Cn%-mBzMKCnO<5Y z)$7*iO|TLuZli*BJa0|2dVy-B;qUE_V)ue`nd#s!U-Qz;4%K?DB!rh9Tuf0ieqWid z{x*RFTEo_f%jFEMb@|RkvLwX`6Pl$*f1M2U0C$849)61vjp63(Rk1*~%HA@|ho~be ziZJg7N7y}#EIko7LwOXpgpgx7wDGSVpBl$qt#YS*GH=eYbRif@=4S|_hofJB?7*xWo4 z*gHJYqSGiI70sq4dU)h|)^RXiwt`wer>&xQ3?`-xpuc&J)`vn{7w2{Oi)aQi~DqEw{EmvDn?O(yR%V) z)%Nc|+KQ|znNN`j`^C8M_!3!k5tLn6>=cG@d*~m0>PDCVO$l%MbIsb69&DGFw`n~X zqsp(oDWfpE|4#I%vw61J%uN4F#o}{LVQpF5T72d8vD$d}-riHm5Y#3>acmCFo7cm) zfq}v}6O&r&s`?l*H0uVbes&s{XxzDbsa;J?<8HubaNnU?BgG)c{ikzht-ANS=?xOT!Or}lDywbBO&ykXuu>M`GTKK^2(fy-eV$YPdsnyZ(wHahnr zlDogwsVjfnD2?!5|5b7o@8ycs;tdod5*q~<9&a{tOk`e}F#^`#T*4?t1}QE0rvQpo z{UV7A`B8R@?k)Sk=%70dCEKGr5B!gtj>dJ{p&A@()=`&Q`;OZ| zYsv^-o%<}UW!~;i*v~tC6db8K$C+(oD7>1K>0-Ft0IKJdFGzx@{vBp#xo{^Rb?&V( z9IC>{?kbD0yxH?@xbl<=8!o&`>Qh8|tNVQ3P%caEl>hcL+Gv%EjV^d}aldai$JO~q zf?r~FC`4%ov~X&rp{@XhEIZ3({~g!r^e}uxSpK-qLZAk>o6ao+JF*#&e)6>vp{p?gD$%Kx#-y|pxqJuT6bCmmkG`)RbR`dV(e=g49tWKA? zs;hN>MyEDK>qaf1t2o(&mcme+)X_De<#r04;;L235*aC{a%H)l`?)`pb_V-O5^^P9q9IWA78)8UrJ| zPlO7IE%Agc{eH^N)cafn-+IYivKXFC7i;4hQ?7uN@JX!>U9mqXZdU&sO$qDx2dqHHM|Gu|HO}fm zL=bkn^2?6i5kyG;PE|GfV0Ux`anM!MkPw3p(|EvPw}LX1v(4SH;NhpihhT98TY9xr zsF(kmY5bxVL2VwhEY%?IbWuV6EGPkim1@z0UoK+|rRl^KNB0`innP~6exI-J8$6M3 z1=R;3l+EXtqFeA}IA7xQs6?`zgZ9}aqPQ~&Vxud|S*iCgEc?u3R)c|uyFP+k5BEVJ z-rO$*DdV29+L$8uiWO1}cog$7#8z=d4|mn9dSu?jIvt`(Hjlg&Z_87Uz7+H&);?*W{9uema$WBf0*}PZlQjO#SjcQ;*if=mQxi6Paq15i zi2nIdX?k?>r-{<}^_sZZTRrbpnd)Z_x(jMjykc-^?%AdliQfUDa8ZGomlyGMrD?VX zmj3twqZ#A8I8gf<2pL?;Obu;CgEU0P%?(IKZ`$o{iv&XKHj1Vu5U(>Z#4d+^z1yp| zmFdd|Z7eJh!`cQlzrF4vo`=3`RTD7yNy>OvP>|n6#pYv^qw>Hd@w&L$rMO&IcdfT7 z$y-!P3RDpyi?$gNzIE#Fa`N#?1~FafXiaoyOqUQ046n6Hm@C!_fdpG!C}89i8_j#M zz|KEVvAl_h5@<6|7-^Y$IP!l0)5%^)$xGsNH(v~+U)p)_hnO**mra`*%O)Lva4^74p^5NbV;*g29c-auKQ&RAN-zCpc`}`tPdQpZlxFdM^ z?_9EKdA}6)*MW*G|K24d!3Z~Bmw^eV-M*_vUEW=MJ@dyuAr5oqaU7I5AgmjHGay#P zq`GdVg&Mk23T%}3mf7&-0M9LAdhr{v1YIu!>tdxt^~9ExRhJ8rB$20t3zEE~cpIoS z)ro}MzkUf)^J?yP6}B9ef)N~IWJ&l?%u>XZj2CoOPdrGgr5od+;)FWqYOP6CXa!jz zF&o-(t{KcLv2)XqTVw!dCu$%D-CcDWl=ky& zT�+A~quM@!LhDY&GiVj_TfwhobA~bYcVD0l1(sZ zzUy%jpwPg?sC=>UZHJ)t^Hr7V%2l!Eb9D2-qu4{l)ewKdvhA84b-MFxZ_8?}IvVzj z49;@K18%~wp$l%Y>DG0u_uZZ;U)&m+BDxW4LdIGu@l1)3TCOvV=d$gD{^Q&&0 zVZL$BgAlkgg?(8e&WHWTom!>D>JCRD_%-tCXAFZq zTbcQwo5YDIglc|NFcPsr(@@Q8vQXQcbM?L=wbK!-TWRVJ@1wPdy}$cD=2FLO^tL`@HyGiA zEt4ah?AIQ|GIXH(plNfs9V044)Cd&f8R!t1J4x*6t8;O|=?C%TMjntW}J! zAZT;eR;?mh+m)Y)Jy!IIwzJ-bqJmTwhBy1T2)Kfqk+sUQt#%zFPELz8$En+Yz=gXO z)ry{1Ct3;JudK3@hSPHGIguv$&$SU-y0aGO=0TxM;hEj5agJJZH`L{vR8wB57p%Jh zY&)}E*_9H!dR?5cJ(K6!4bfJU5g|2EwdxZa9Nshu7TjJF0W3J{aLPn8-J*x@yph2z z_%zle9v6$Z&G;7C|@&i7QE5Gn3 z%vc=J^HJ;m%Y56}yi&@Qnr6?B6c|{$>-ax!`2M66W8M4g#St{+$-A`zBk}V2ms7AM z#*X~yq51Xl!Q`$@5q*eq(T@T7N=5nL$EAEG{Px2kB;$fpvbFLJ?Vy$X#~k?0TK+?X zb&mY<(G@E|wz;A?uT-y$4Cmd-xVvxTJfb8#!`XSoQhtZ3=Y|Gkc?Vxoy7iER9;ee# z6Xlbzt-TZfx{Hb`4BdGuA5VPundTdQIOSFz0X5&l2mQ#nTjUdS_pj$n;lgQk z$b{cMUB&NkU$27ff*03`FufyJm@{Dp{6Q88*aeNB-4rP@61~3L%7+PCG6BZ$FPpNQ z?+`>|(w_71fV(gdh&gjU=x>Fb;o8r%8s=RN;Uv!A4_6DamXu(Fd)=BWxa;w;V))e> zj{|FRXLURim-<=`wQ9*4BIl&DuIGQAdCZp+E?RUq8S=NEN8FiLhw{y!X(5kKe3>f9k(lEA=9a{+Y>%27a@JyMiWJTC(x5yLp#6q>!}p_$Rbb0)~hy zVh9#&f6_dhm_+r=Wjs+NK_vq!)*&XZ8LSl1%1xh=p@-GFCLh=fID^THga!a(pPTTcF&Dram~mK_GZoz1AQ}9LpE; zMC18u>}u}lU%C;AAJ~gr#~{11AX26W{*6|WGRgI`criIMyF(af2~><52X z^#-28oe_r#DCehjBlzIXo1hOuZlidIdD*!6kkqbUmN)6+o{}}NK~nkOZG`TAM(o0ye)C|FB#Lo zN_D_BPV{XNogrm6rWHLgZVNLE!x_t^01xK?zlbUwK_vw8i-0+`(RoT3MfMt&+jauyCaWXMPGJZq}D)h+`+G%j$%{4xA6+l zLNX}D1xWzr8)Vn6KE%FORUgTqk&7gnxkSlT+UGumsY?qU1A^-Q?VKh z^U4L+3E(CUFZT4o*WL^MA#NfB<|A(bEVQ;83K6-j2Jx%0fPj#KRjVtrr@EyQQN@=a zgsWBRUg=9(qlC2GdIRt02{Et7wAjHHWf4%a@CnQV=s72O$WL@g$|c<8AW@yQhA8I z+bm@i5T$?94{oER&1^rHY6Pbr{FmWe(VtStxCKhK!AM+l&#e(IzV=1Co*itDyA{mm z8tt}`^xh5!1lmzrlb+Z=OG_GI@q*JLP})`JXCT@1Ma*>z%YT^>sUXMl4LlR>LPIfs z@akBCci;Z52){kY4uX`zpHD*BD9@PCSa8vTG*GJ8WbylFez1#(IGjI;BP8A|%vLh% z_B456rzh=%;p`aiN!<3rexBe=5mn+`F*8%CJ1@Nq4JfBAMoKF~I@JIJ@6qFIeii-H z<>xzh7T2o394fe+b%&i`E6h$POzFSuGPIf5@RHOTgeebo_=0%0gZeWBH@7N&px8xU# zW4?Zk(A@5`()9$Mx6G02U$t3EbQ8NC&(sRMyi^upeqAD?h0l)-P9=XPa zV`q#L^}Oes*@e($FmhLg`tg0~YQqaAUk7(PJFkUO%`H7)zhE+*N#xGU_BE?B#^stA z(id@8|FvG3R>sgvNKQFwI||XfH3llZYmP&0`2Wp6rx236Zb+s~4@O?5Ay-ej%uTRM zo@6n{cy~Gw4epu-bQ0gZnQbEBb2j2o$s27u#QERO37mOuk?wuFhMRcDOtRXIMEm~x zL7_7E&usw2m7jvmV#Js*!{dkxs270 zM0`hV(u#2YkC#+lkarit(|cr)UCRo}yWMJn>8D5|nm>J^6*3@e8E{q(T#^A75B9RE zVZgIeJZj>uVqHDigY%r~f?-rd7<_1eNP)Sh#7cO{+|`zE_@5uJ33SFDwqct;U)BE4neqW#Gd!OBq%{R;+dS6}0i_f|v*DzRedm4ZZyFXQtl7|!cMH4e7o*KLZrbv!m%c>NZ;h0U5xoXfQTaf^)Lt;uJDb92Hb zXwQIQPC(-XnXxJUJ?1IP7b3Un3`J|cK2mM?=^N%Dg@iZiv6$DTDoI=>GX*qk%|V1f zo4};Ebl(OW|KcNl)xWW3!|)IOq5=ttGzGBm5!7csy4(gfWB!!TSJ--uFxZ6iVhjsR z>?=m7CjNLx2CyY=?#~&#=O1ttIxF6B0p!;=Q?a(^<}BYn;o=lx?Zn$P?sR=ESM_@i z%lL*le)ZkF&fhYUK|xqO!*c1+gTKgtm@6&xhJS8<2!cB=Z&zQOusoqIeTFQq5xzcX zW(1}Suhq(oaM6FKMk-O+K&A1Jt3}xCDziGsIxR;)wx7-Eg96uXq8hytz5qao6vbHU zwlmQ zOp)RJyZ>T6=+OGM%5VMi}#%!X(wed#D-@6c{NpIC?AFAMxd5CQ;}fdlXb|h#O`RCV|8tI zD|9pUeQq-M(2KPW!~C;Ga*YXp5GZz*Bv1#z{u{Zc_d=KpLTs2>UaIbY9O>kjT_smr zwveZq{og|TA@^NwaK_;>1PLAJRvKo+UlvIkusOb(?mzIK+pH_rxJ%TFySa)6S=9ZY<)fNb){kF#2JPdSmZ_-pUMPMm%?vd!Cmk(<9*DKv>3%z`9jX$&X- z?`%;0WL>sH0Gi^2>qiI~j^1TAh=h<0QRe1Dq&ORC#?yoK8_HYN>$jxgzrB;unXHm~ ze+Kmp$8~Zm8M3C@t#ol@IDzw1ckbqWQfSqQn&R2!^7AMbRo;nLvYK@A>R3A!{vXLS zMZ}2&s2Zzpgyo!%@1rBh2*$Tt_(TY+qa!tjw_?13aB+^fT|*cY=kq1+-7Z2!1D_OP zJohQPR`^2B8_a679jXU=17QEX6{%*CE${{AeX5#qE-!(TA8r5}!JPg;r?$feqyzG# zECAafi)8GQpYrsubfSi27lD$rw!g+6siEw}tAA)tDC8YO!i6P+u67>R=#H zuT;wytr5@xt<^7XEmX*R-or+mXdAOU)L?R6jXq=#fi&?HuoaX(gSm&Y?`5HZ4R54E zM&a&|VWyZ8Zi6@)6i3hKaLY(eVY)oN&Mwsx%XeD!Vqc~k$k6vd)j9W1&o+;5kCZTq z=5#3U&zEg9d;XAs zOoEtmKQUY%x^p2^Gw$D*L-+ZF7kGzaKb>l)vv7jz(N7uXx|Y73kZu#4V^D_sR+dK+ zBD$eM|E3qyp@BxIlxvxjEJb(PW(dg)d0r-LgLou6whC2WgIr9UM4wMHi1WW>W;8n8 z?w}~A7B!_D`Nz^orJk7GfVjnIO!<2F)q7|}|JgU>7XIc!icMF~O!1r17rNC{cC6Dn zbmz?PAV&N^Y`MVQLos@IaJ+~?9fy|yVRQc1u?}efI>HWf+OmiWztg2=3U5!0?QdqG zaX!9}R|Z3J82$Bx3&)$3UEIvw%-f&IYfwKw5Th%?eC`{oTKC5^xCp!>8ABWw1Ctt2 z44oErg8pA^zg`Rp6zylCTKs(8C>$DZ-l7&ct=PZ46;Ik+UvV#I>P2>XY(_pfDNppp`ZfB0h>6LDXx6X)L1K1fS;acdGt*#va54eW0Iu7 z&sf6FQx6_bRpmdgY6&sdL}i#WHFn94&&SPp=K$yT?x{kinU7~FZKJxB11sFenw98YA)@Muf;8@SD z)PwGMIn~+i6T4ZK?bK{N&9v#$Bx#p8@?pJ(y9V6^Fr>uQtV6Af|4& zXsD;=V+kZ+@ob2+Fx|z)=%0Q#5CP%CYGe+Z`O|DBj7!*oD<zRy!N^#*Nmowxq%;AS2eJT+ zF@+I2&EME<)S7qCfTZoc-6GxWLu|?bF-4IYHqfpSFCS6tR*3TqS$ogjY4fbRHLF<< zF6hi}f)f_UiWsguXqX+y!FM_8^Rsf3-K$58A(yx5IIAt%+6@gCu06!!-|sde@SUbZ zbBv*+(j~$}@~e;Uv)ZWAT4(1Q&K)CrM-m43xLIpduiGmEe&5GdC1ubhY3Qx)vka(x z@OnGJ{H0&h=KpzkoBT)_)ldh}3<+vo+Qr_Ga~i)x6yDxTgu%lLYhxZQyKlZ5YmINJ zMLKzx4b;lm=CK35R8DNx>U8Hm1&!_Pc(6Fsr_`PnX^iFr$mz|!N}T@r6ME1x#@cDL zV2}1J^mltt5%6El&z7}bfNlRkBxcE+21k!l!&AItI>?|#dL)zX?_-g zR4UGi#lOpUW}w;VkyW)S&SHc3AwY!)L#j?fJ5(7sofu4ned4iY<7Nx26`f{7PyL=3 z;z5R15I8vF%1nnGh~uK(cGaqLrgApt)eQpMf39`wM4;p))K99lMmkCk&kgUpcr(ZF zFZ?hIi~Te^RYF0)FNF1oYmF|fm4UuU`MiSxa4@!1Yuer_VgG#}&yAo|SDle66~_wt z@K=4UA?n|lAk>dZl}YN}xIbcve9;QoTKeHFMn{q)JU^DU6;Ne4ux( zYX{fuO%)kR-xHTcYQi%?(Jt5Da2DYdbZK9t#Q zqsH3^4vZp4C`N+BVlZn!B@)RB7{-7&_^=EL4J%(neJYdp;@v2JMyFxfe6%LjMCi2& zs>6YKn{)u<9x6xMk_A@mu~&MxJbRyV)sOAC!XpJ7?9CL6-i?Qu*oQ* zkkcS{EQ4lI#n-I^4BmomsYX3K-O02>gKm)|BQI6_%cy6dih`G_V?KpA7cJ15g-z06 zx$dtjU41ckGy-VQyxIN!cz&LG&K{2cei}9o@9D*1C2j|v%Fg9yJP*P3+|{WvgWrsd z)QB%B;GQ=v1MhUtOI0xM9gtTSWU3A4i`ymx;>2INRsa7-tv;#FA|U4fCyN-pXU1mQ z3{;XN=)x{nka|x_S&TCK&s431tsoFWv*ooa9tdo6$4I*|T7MV`mLtB3RZ`=2P+z-D zsLE~>b4zO!2U5lqdplp!8YF0=wHsKms}N{TbXBI6U6JpllhMkafYn_6AHgNK=Rw|x z)nEhZb&r95@1k9H-F8VG!{S<9&gdm@NPxg?6u$uBi8w=40Jgjqb=Tu!9PAiROL$xF zLRfr9on0%jw5tI;4pgdse7!u&_+8VZHF7 zzu-{4Z(UyMX8yDT70dM*0FrHCYuR0&rH_S1s zE)tLP!2753ArZc{LJw}urUH;3{_t%sK7H-KOeboVEk`1Ay=W2PFGdWlMt((=?%Z5d zP+PQ2R%;NO%9a`ga;HELiC+$t1`nu8wkiv#edgEVrnl+ABdr?b{$lH}2D>H~;5S9V zLVd~u8>~_>Gi_+4+aI||z>){zVQ2N{lhP=WHSxwHqt!93PVK)h7k)hb(QLgQTt5a? ziTw|P#qumeG>zVcX#%SEox^w6MiSVcb7m`uxyW zTmmP8Mu|1oSkTPk9ncbLSBgOiB-x=6?(JO@aiV3tC_HcFIZSG#&q zLE4NayTLFd0MLvQ4}!+loR0?ap8C~olGuV<#^{gXZbG!!xmX>E8>UeQnBN~(NIX6{ z*4jr;9CNqjNKn(|&|WO<3CR(z@7rKiGPb;Zd5!+!eOqx9Zk!XZ%TsGlvD$SrHc6h+ z4VLuRbuf4S-2S#nQNUNbTGb(!rmKadQ$-|MuhjCRwN|7-4;FtGuZyaCnH!idk*O3! z>o3RTP1Fx`kv`q?(lv!G5x)7$d~E%O0W<{t`EhxrdiD;jMxuVXMzgiw$C|rI<_CTY z&(yRq;sa_71FK2mpSz0G-$UvaF!CwqVYKMwa2K4jredG2{(6E2(xhE9G|rBH@DbtdNms?`IlwA>dKd(CZ*hpH^kH@b_T*b7tRl;=<62Zde6E8qZH%afv|@TPc=!{L-W~O zd5v8uDPo4bRrf7~Psb04B?wCXQ)Cqx4ioWE15Q7onOPH&Q^et1aN&GswbG$*v0Z22 zf2)vlcnM9_m~yq-_ex@flths5>to4mNwg>*<&ob#QmgwnXm&@mE{@>xKiwz@_~c!y zkx2x5+yu))|0Sw-$O&4#?zLuYPbf)h=X}4Ffx`ttFOzz30$hCw;0hnLt6^2V{U|Y6 zTm-^|Gc!P;JYp3N#UyGaJyQb5wA4Vw;!`O)wgRj?zv%R7S!&38EaHIF*lcZe0!{#88;6d zEn8gxEqDOpvHYH5VQWPU$C;iNsNt(_n*<81I!RBY`StKC87jQGR~FtG{3nx#qIJa) zU&sO=k$rNx(l{r#ql2hhKC9zCs%li9{2ZFXX_r8eS$m4O@ZQ^x+2H59jdq1lXS~Q# zZ@ZijAoln?k~7}Dnac}{bid)Fbd3Z#EZ%X>vb-Youqj#{`%`P;m0i>^?H^v>KLw?KK0U^Q*P!JstJQE0+;po}LVbzKFG<1P(JAml;UD>LHUIT9sE#n7Z@N9w$RfYDtppVX6&NCWPe6hA+L@w8{ysCU z>&m4G{`K$qU#bXHFE`(H^_Q)7La z+o2~eW)lphZGCo?sFlZQ0Tt~V`F`*Z`A@{~$2TyO(;H{p9BINt*%Tz zJPo}5I7%w{o#|C+-q7iFtC~2-l~|+%?U(IS)T?UZE#36xqxu(i$Xn$|x1E-kRL@%A z0^fI+f>yJz4nx53S85H&7jMgVZk^#Qz2=q(0DJpTnM3aVvOWzZeRc=13OB9bXJ^D} z@u0#U6_95z$#5Z<0du6X!^wWCK`<;+14I8kC#yJ|6K#ZWFnzmLpqo!8fTjQ8i%2Yg z`RSQP27^3kp@@DsGKD}+Zx(91q!s`ubDCXv?4zr#dc!$*!qt%)-8*$hafRBguDDi> zZAS>1%LeAA0+gL*Im9Q2#PfTruU(7aaPIlqEz_MssYM9NPRry|wB0G)tcQy}N9+g3 z-xq7{swTR|8-~-v_&w%9sBYHE2!kFfqs^Ln^R{GmsAbmG@ZE_CN^!%z%6zZ+{Ov_1WB-WD#ofcXTh+B*SX>gsW^4k8rY z3gc!M^|4=LNi5K0kpw&*UUFVx3Bj!~Zb<&)7jWyn`kDr}T=yzJ`%72JHa~a`iZsvp z7=$|gzO|AxVK312*GCA81xYpsktUSl`0zu~lUPp$jfZX_M? zSGr<6rD1B%M!Q{jWt*?BpLAbg5!Ea2$C6P4l#Y)SQFw4-OdrDd?UQ$vs=FUSn)%(X zTOYwUBKTB+t5XdcoPqthrStP{Ml7fs4ooSJirBOY-ViN`qq?uz@zsP!w;pyRx| zWiq=rw4Ys|CqA~SNM4!Z7fPgzz()$WcD6=|n`POPTH6 z@6SbMalDL4$^O-nZBKmH6~6S2^t0UOz14OzHgq2dHb|TmE5#^5p_WlDbAX3Hl4+Fd z!{bR%MTY0Ks`2IVqI|XM{7gN~nzv@_Sl(vaZFIq}(BOyG3_KO~X-@fia7!2I8@T#T zgaZ5^99nXM#IleyKrkGhTR(c-4g5Lr<9p~1^NVhfg+G6g-BJ{M{L+b1$e$?9(Eb&a z5Fw_d>S4`O{Son|Va$##M+iE@?r>Z5VBobHIKJs>4QXrsX;)H85}{5iG5X()5$L_C z0$>K0wr3H#=O2ib(IIxq!D#7l*fEyEi1z+ky$*)8HvG$4o*Ep{UL2?(wZibP>$hoq zK&{V@Hqz{%g|TK#l1DaKjW{wafkf-UWwp$ks0Rf8{_};`!quMw36O1>Uw9ENI%607 z=6vvz6dwk6T`!}egE!9R$ic+h(1dHLJg_$Hl`Iy#1n@1lY z6uy6!EcXGK5R!9DJk_GIB(ZHQC9_Al@Wch3GHrUI=UrJO!f`h+qE1~q%|&=`m@1<> z&8uoai*K+rnUMC7r@3VK#C&OF^3Pr(4}5*JK)%Nqt2U>En+C`tR(-7QJbGKKqMx3y zN9Gmj-_4am97qAh6IRW)Y8Z{)H{C+3+*oK_xoR}h+G#x3<@YbuxTTwdNTWP}Ai>F> zx}bOF>sVd4_T^Z?lu5Bxo!W(G+!EC(?!_|cD?W_1S(ssKvMq9h(nv)P3TtIki_47oqXwF1vWa-@V1{y1tXZ)J)8}E9Q4q zorfiC?5U>`S2^-R4Jq+-BBkiTzlGF0&FcZHDbspMXj}f{F|g#JcXM5n7j!~spj2U* z#IB)M168iy+744dvNkMy{>_KW$^h{G+Kr;FQ;-ex~w#^P)9Y3$r6%wi=@qoeL8LqRx_3 zkTUWgnWp^xmAoaKrE5s)-H*hQ`E)St6H{H;*I5A97_k%vw307DkxiN|#K|A34R3UJ zS?}x}{;Um8-tts7kyA5(ck4khy{||GLhY(^aJ=>ygSVd&LCAM{9oeKj{w#$wqq>N{ zU0EOebX_5&aqNs(JzRZiZ>xx<$ZP_| z#T_v!ThGJ4fV zL{C^fkRXZ5FYO{xk8U-C$nJ3~^u+ekDrVEmngVas8EM`(>=U(W@T%EwX8i!B7sZiuzZ64vZ6j?y!=&(k&EOnRp?PPfitehCP#YbmiuYV-0}!w+F>9 zG}9|JnDoNMT8SP;Z_ACO=-vitc$b9PA_Lhxq0q}op=zA}|DKD7UDc^mk@E_I0E^(m z7u^=!Kk8eQbhOnVBm9{S;QTcwyJdQ!&XTjv(zES`v*zdx5mw~T20W4R*;k;)-hA3c ztTc_W0d7!YwThuGgCdj_X;>=A&jTRlif^Qs(p&qt){+w?yzJ~HDTpVd#EOW3O_91| z=ueCA*`yCreIQ0@zzioL4EO^nXrCad}H%XfPBfy3uC#faujyR$9(cRCE zl!)TwUg1p^hL)0wbug|MNhFP%wEl*K!KD%72 zrmxeXZ&H~bFFQ#jaJp7Be44{g{Mu?MY#y(OM2-bf1J%(F{q)y+GMd^e|C_sp{*E-_ zr1~|`ro6G$s$`($3zn%Xt=+X|J#pt?2tL?*Ladr4JAV$hE5zs1d_6I@PAV^h-T_49 zd^b&)WAa)k!gG^6$((*>tY}=czEi~4o&TL0D}#9}kCT>msIEqMA=bd+#?k-El48IX zOAxl3et53-b^HC2r4}y<)FfL{^&-*{j);BkilNEn&F@tk(fr6J8+wck$4ykjL*qq- z;xodVm;>1Yis5JS2sF0XKbLjH+w;`A+bv%PmnA0B?NK5G=69{7r+0i1Y1PfI-^VmD z``;W@DB7xKr@NH;RHXXSLX5=NC3(xv%7sd)=tzg3nCDplLvB2g4oq55XjD$y~6HL(8C z)v{zS@$KzmGI*!G5NqSY$ri1iOoEn5Qc`^oI?Q>o*~Tp!8E=T|-ehJGk{eiw$PX4t zpvo!wa95jtN$5tJsW*CFiUWcRp2M1bB>`HU^5+?uqnr{iIay40tCZT`t9Y_`+ujtE z^?h$!p>*whbV{J~P8UQgy5XPrML*?MCAQrI6(F9{o|u2|uw17upSiU+!O9pyIcsUq z+vy+&xP(Yq7Yr;sMuX_~_u|_?E`tPhr`Scha&KpWCAzkmHh4wr5OciPQ5OxBIvFK( zwAN&V%l14RX`m5dGj!m0Ph`0)s=ZaG46qSQ!vJYuT)(osNS&X|)G^Kcp$szW_ai{Y zaW`a5-CJ^q)*5Z-KAurO-6>)A`u}`Uq?%$SgK(4KynDj6@mA|f70CP@iVmsX4D0C6D?mO;CKQ#5}yc9 z{xn@r!tSFK)U%}T@-h{((x;9589b(7lH~?P(r%W2(wp9X40S1Dbpkd8mKU% zUs^>vMwyr;iKb9>&^@aVqFb~v&0A+n z2DmaFX{7%>PkgAL@V~g8r>;GLXM?5`LacpkRfmd`;1uSFzKHj<^t1Rzzm~Y)O+9CL zZryX+J?Um~jAPZ^XbQMuVI(PJq4@?+IU-U=Xz#~NbF?m|nMx|2q#=85+pa*>pF=Pc z-a+?bIZ=;#^GghGa2n$Z!or#d!-xM~M8W?5PE8e&g+AUb6VnR_qiOR(^~QBtlL&CT zL-$X(1Bs}lPsQ*V-Q6mRHuQip5pEjvcENRa5d;0OZ4Q!>3Zf{n1_1TVEhKTq?oGpH zThEktxq&=yN~c`;)@XqT`fuMUt9=K$S_TSr2iLb~h{^{Yy(GKq`Xz~GOgv|5p1cCg746fV3` zs2g7`Cl6Y#apAAw8(7**5loACDKe~sxQ)y_l}J)3zBne3_iUw$_64?iq=d5ogs*(;mXP5dY*!fOAJ3m3N$CEeov1A{ z!otK`h535;%Wp_j{sg0P?o283K;O&Mi)?lkk-AbRd`5|G zikEg)@en&k8|G1GTuIhinVV@AaBVap>7U1%x$2~_YW&6_Gi4li~8Q`RK8)(=y_5hN7;Wcgp2i*LbxrxCf2M=tVksG z&nq*Ed}CLse)r7}MM@3t%;&Dq8ubyQRz`r$j9o4tHSe`dv2$|;$RkEUFPvLKn~67{ z#-z(DF4oojbGf0vIupr$Mw<(aAi zwQ)kWHWv;^%AufUqUK@@c&S(O8rAbo&H4L8j2tn0tO8N$)UAZG-4X*e%dP;i+}vgZ zC)SI!>xt+8idW)Z^`ojSaZfxsSTwd(A8qO!DH3xp=7Y}lzr`wavTw6u&7d`TxLcqH zzg+_Qh%##M|HY3nQdCWR9?sD{p0adBWy4JsYc%YI-xKOSpDgtPZ<+#(8NJ?swDdY6*@@ zIc8$)$$1U>XFrxzSIT^N8g{Vh$>Q>!sRmw(PK7mFM9$E`qhrxs5>1i005LO8esn`sP2k`WTK~X z{X8_NS8)(e_ujcN?!?q3htR6T@`dCOF)yqN8aF?bb1Yru`Yb$cx4`4p2Q2QmqdglK z_OIk#!6^c>DNN=yKC*X7Innw84l64me*t5YryNxr(scZ^$>yZ4+|~q zqbGWmO;gX@Vpo!_yjiA1N}yK;ePlDJoAT!oEQA$llEPwIfc{84r$fZz?steexky}qb>UUXWhD} zr$-?C^B%KWwiiY6*+tSo#TqffE&PwTarK7(+S}`pYJ|1%2#4FbEpy{{awga!RjURs z#v4m?XH*xr+90gAE>adP?a$|lv2r!<2$_Tzyi%X?NE(*Q=sh$AEI?!qc5wDQMdit+ zrbwB@E|3e@#zHnTcE!!Zh%YgxR%Z6V(BbKJk&Lg+*S#6@?IfwkMX?TZdZY{!zs#T+tD9dYB7RFn~MD-)(PMeR+a&)*Tp+?>Sf8;>oL1*>eSx{s6ANxn} zjgOAvJGGC^)79dMToFyF=?1aWZEy&pClf?#`jM816#KC=4}l zVy8t)qn=cJBF`yKCT*I}>NSLmNa!-kvL|F=hT0#|j3VX~v9;U=`Y1YKsgU=`=b&iA zSV7NdDe$5^EmD!w+R)GUJA{VozNRmyc0;yCHVdF6dRAJkRDthLpWMELhb^-A%_#h*0)eH;`!_kEJ;kUUVVlqkq+PON~`$(GwR zsQ$4$yGepAnMMf~*qF0Pj|!7ue)1klm?6(Ixvcr;l2n`S+qYPNdC|nGe0AhmSyb}f zC)wEg<9=sDO{pG%l=_Xcc*6Hmzl=Ks%TOT0(M>wnufz zTbNwVpl>pKdg{S05@6E`&C$dDr=&P;m*MFGCcK2>q5a&jPiPIH6ArzGa)gR5kZ9t- z1RGLl&EPYfv2s_7>d(#a%Kg3gy7|K!Y5u)vjoT7c3d!~&`->=*n!O3C#bab~CI#xO zNa;}sV)_iVIMso>DOvMl+qdy-W$&u0Ky4nB>*UhkackwPu}VseaG>ERGAiv@1!wON z35TeW5vU||EMJ^bmq#uikAd#ocxuosLIjt(lW_FOVR|_2}ucoFzU#g5ce-Ilz-<}M0nqWM`+EI z?0}Pr#{(r{J;5pFRgFXmiaj;@ms>A!+*s`q5=hN0SKoP18gjE&f_ z^Qm(HACRNgP~aWE>TcvqwCu2|3boqdtHI*4k=1y8vKE50v{j%J9fX)ADv+eX_Jmx3 za^W%MEoxH(eVoCu8&Buaj?)WiU)q`5VmHXNP%_XkCzj{(cKxc+$3m>achu_=FSwMC zf$Ov)mZ4oh(?o%RVfG030IKjgk;E9~YToX6ZF#ieaK4OUO+(l5GBg|MHM>Np1TrG& zL{#YNR?zHEeI*4!clrXs!QT)tr|!r=1K0PridcSE%Yfb)vAVcKw`ACS7=%FIxobd* zC!V%YgS^NfC3B45q=#4k{C~|`uiNOD+xFTzGgkImT(5T^6M#uG*!2c(#bc3b$$rav zRG79A{o1El3k=Xa6V;vQ-o}FyHUCLSTuKm1IvI``-V!lY<=}W?s2ZFfZ#Y-b1E3de ztV*av(qWgWQ>%RSpPppv5@)%sOmqG-)&jz7&Jjc0`EaY{Me_$n{HP<|v&f%(F-Oy| z)s)}jPA7H9DX~gYlk*ga8MD9o|2Pb~U-hEJMeltcIfzI`m?Wy9q?6U{lT!s$K5j(w z5RT%Wrt=X9Cl2SaCEL$b1bM)|}a&EuzRJR@x0{FQvd-HA~~( zxx_+Pb4@hp?`v@?2VbAtb$P;04Ib@vzE-V=MI*!n^_Na`fnM=su{91Kh{!U3n;Ae6&=hrO4EDv88FaM5l?Hbj;G~PTB3|;QRSL-He zFmCi!ZfJh=jn=_dnt65s6AZUYY|9^UYpj&5hdWP9cd+X1e97~D_{gjX8ttFEwii|s z);R}7VD7yP6ehw}RP3aOW9H$=tv>PQ?&@97LtaY%AGLrS*18nwr;YLCWV)uJRH8DM z@!41<>qdKysfi@nR(E+CV!M0{U{Wu2; z^-~Yc<{XCaZA$Fac_(Xa`J^(w(mJvekxj$V<}cpE&tx z@Zz7hjzfnNZnc|ewEl_T1m3coJ-zyjSTo7G(S1Z*`$x>+Pv#M4Le*Z~Eu6<0^|Mt+ z70Cb6j&9C+%5K!nGY+cq)Slz)NhM;>G^I5s^Ir^ZlFVk zyxjkFSk`1zslvyd%Zs40;My6f0;+*Wme;CvciIk}@MCk`M}OR(siq_I%UE?EHGCmn zcZ%*j(569PL!;=vK}xy^sJyUE(WgFtS0N11X&iqHMjddu(Za7`Am#RhVm_|QZ96rG zZQ$!&MIe*v!05hIs*@7Od`lC5I3ylkpesE-2N&krFjGfM%-2X}v*m?Y6P1!zN69Un zGYoZLZhOiGwWltus#Y8BBf0+eRtquQa38nu-z!aXixn?Oz9)F=jtsO_liXFJe!J6# zh&v*{*11Kqxsmc$tQ3ppn>&je)K4#}DpN1(fjRkcR~Pc1+^@Vt{q~9CI`y&lQETC` zpCMPm3}g221(KC;d3eou%NH7k@0DX;$tzWV9adbe*4+}TBx&+hnfRcNDcuK&Eq`bx zp^KX&2j)Dw(n3F+urs66<}q7q-c(fRqfLha6mLRJs@^b{j`e2-a$nG`ykKb_lOG;9 zy+)y=neO)&`scFK$NXSb3;Y1Sv!(%rhVSgxV1c)81>oj+Yord^AKJ~T!P4r9$?rYh z{x#%lp7F=7q*}K$&S=2s?%dAwt*6G4ldwY8riw6MswgWp5*Q1l&fX}2Xw0ks(Ta>< z?1p3n7>~GhUx!+|Jnr{WD<%Q%uwj^QJc15Z=J=5Shx~mqOsdm7iKI%w!I8{^G0GQ^c?A9I?5u2yqtfD^Y*mt%0gD z{dC$3k#Y#g*RjyO7*LOGOhuPr;Es2Z=8+Q_v-a&{<`uj zRJ1=r;($TtD^h{(^u89V@T=#hfzQ&3nmMx$p$N~;LOVHs898-((>Fpb-t)cS25*o8 z-v(u6vLaZix;$1=VEA+2IyQoezt~E_Y{&cx?+0VIfcx5@G?O9~FRt=F^%PlXYV4D}l z$MTDX@@;tcx)r&oMD@ifUNrm5Y@;9^h=xJ0);a2f|3dU;mwWl7(vd|)CFZ`U)d~>H zef95)b6tzG0=e?5%aAW->+2*brd*K$&gVD9T2CQ`en+Nddv#%r9!|`++wm8jGz2=} zp_p?5t%irfP2qk|q+4X5WbMO`2iRr0x9wFI$@Ri0&>7sUXUbrw1KA2ASpJw_$O&() zwmWna&8#4;dKP8tAgcdm0ySV~`waf=)o`*pWE(~p?#@?Qy?iESc2>=8@rucYKk(}X zktXEWD^`iFR8Ekvji+tSYf&p_L!J;Ub7k2JYLq8b{ck8TcyffOzHHypf(pV`$VL?LWPf!C#9vta_6s#HA4579RkBR z$6X@|FPPh$hNl1Akr$}rr|b&UHBY2#7@cu@+GG}gMOCR9J6%@mm}{w;QvJi@N%k9! zIsoHfU&K1{)$q}H#n}|7tS+xqpZgXx`4=3SLgLilbacByiJ!s9@cCA~nzplC!92KF zQ5$6Cx%v0Sz!|Dd)v}Uw*YXy1Tu&FN_#7EwUZ?+|akyiCh&90bX*<=d`oHGhecRiy zc8rMhI1uNb-945(S`B8z^)XB~`OEV3z!H)R`aTD!koG*BlcRxW))%(pbe?A?0o|B* znXaZsT8Vt5=eTjv$`W<%4r1C9mdDGwsZSPc*Pma(3!*jT2fTH)yoB{KV6zm&JBBjV_ab1H|=4bfMFFka2kzbr%?2DiOUJl5GikD5Z| z8f!v?r;MM1?lVWMaPuiS@G}XPc`u<4BitHqJp&Ql6~!Me{0wq1%P)*IjiDO%}8OPZWzs@d8n3;&~1~BZ4_9%R##U~6ZwDd z(zqUj1hnP?Smv*n@SoZ{16*@)z0ku|9d5lyV`-pJs;&Y?s4J1?!GqmJ$xa>_&+nx6 zd&lJu2r!6r+K2RGZLf(m$a1j)2czjpsWo)IeJRzZ`+66NE*EHZdQfv6MgpRYF9|z( za67tRTtzq6-Dx2x!@W`&5*6K>9kyg#(mPmpu;Aj+}dEqhC!1}AFd66Uj0MlXK%_DyPyDwe<=Od5Pj}G?cson}-NF@X!TYv3lSltwER| zw}R-kdK=KYzwu`X4`e&6Dl` zLiEPIP>u8!3{7fqA@|#M#*#gxKB8l^YJL|lb@kxGXQe7NcyShgS0=5o;O_13*|qrm zChqgHb6npLJsPQF=+N(wefZ2qI}lSRQ-ETN*Q5P@Ux_B(d7@pahyQHMLdel~(2XD+ z;CQqHPqPk=&{PXT{71n?bhRIM>ydLkSyg;3_*=iQa z)4-ag>AP%xU0Nz!^@Rq%1dUD0eYNFHtBAhm#n4n@cruMHd%l;j?FZGOhMlHIC4F>R zyx~M1`FOT~j-ts3dndYESm@n8yef=U##)DvNn34ItKt55-5fE!Q#$iChG}(%v*(uL zNIQ!`Ail@qEjIOvePcD$dW_v57MwVS4Z!S9bWo!4{xl+C#cS~rrdwWu+z_<3iQfiT zoGUXqCau5S2Gnz#bAHrw9hl%#w`&l>3;pjcWiYXds6{YHfRzOMBXsaw0L5piZqQ#90h!sJD zK7)gx)&;E!64b%sS`@Xe1a+{u*1d`k#$~kNR`^Z)U6Jj z9<@hqRT6u3RiZ{Ho{Lp$nHis!3}4)H0zY!bEYF6h;g#zm^|di#Yek>DoJO6UJUG`v z&DL{}nm2c2$}Dg9TdLagJ*JWj=tYq7&p)qc1mGhpAIubGzBjQ!ceR*fsL&|NbTm(D_OuVC~?D79{E9 zfo5c?cb%E7O7-rR;DxF8?&Wg&(|yKCaS-6BHP4$~mHO}kc4dnhqDA6H@;)KRjylKr6K+47pGdYc;qa8%fz$-07k;x}MceJA9$}+g;gu7>TtG_;qX*TOhOn&9b zg*-F(-xX4oxZ!Z*!@1X}4b;P@_*}%n4f3!D`tt_L`Ov3{ zS2+tp{`0s7VSjru%VjPwy)k%*J9s|!vDvh{+9L)*xN;zg?$=LAhpYj)2Xi6`@|{^$ zBe;t(pv-A8!rAod4|7YB&L0P!oZwHM?kx(`b*mgk>#A33E{Z}mHM>)sN-6|*B{b|%%KXXitS#$=UGrIHVg zjJaT4@S*q@!K4bL7mttZWpKpSTjbkc**OORgKN?aB1t(9CuDbe3n^FLFgekgBzkad zf)Ct!dQqURWI)}-2#_%h?) zvs;s>uz86F*^AjmKWpj(w}yfF352cx?^&?yp1)ukKvaX;H4~vAqRw&REk70&tNUL= zyq_e9LkM^2tS_5+--$!ROS^LL|eAQh>7j2g<$&#}QhLR&`fK;8Rhy3Z=0JIvlXiBu6?dS>^E z9`(gN(O1sLC!{&Y=OX~6Xzu%FeTsNcwt>pPkLQ$>>kynbz``%nic8aF1oWUqbfzERcER7V{_$L+KqNx5XQDKsc;}S6n-a3N?bso zI4bV1wd&T661$a>jwT6W$C;(1V8X?#E(8PcK8&jUq||&r0j}To(mbkg=1YkLGDgF7 z63lv#GgzlRl&XIO%9TeO4FghEUos+(N)!do%NOh6{@2j5ZCzFB%v5rv zjfdzf2Tss3>YjILRnwcv8P2#r3+xlxaA2ZgqRa7 zhv!DAmg-F}wW{^^&bps?d!|1ECb&h%LsYT{AB|>D^||`%rx;BowB0utN+Z)JR`WWT zguI$lag5tD-Qv&i9^E#9%WSb4RG0QFBB*kBh*Z@oSoUudAcuS~8OD|7QlLGD+Y8|18%lf&zv?6Q+)}LH=Oo$Ju5^ z>Q0xi=DB0{K?-nic|1xW$9Zmg1vrTgzRYMOE>eG{(K$d>4718AIQSX3q4DBeL*X~= z$)vM-_Oe6^J>`mc_}2H2+x5EgGij?&JDIzE=ytiw?yrR)lW%b`w7%c$7wgW>(@ZSB zE6+#$1q+_kVu@(2>rtLCyDk#{Qa0W1$Gotl_3v9*fjRsjr;i%FkmL2rhvqOePFijB zjOE)eIXjUNqbS`&-P%^8c$i#qMX2tw#dio%I7lJ3j|~n_{5986FmXHf!N7P_Ac

q`ogaF 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%0Aq4B0liRg&vMA{bNl|e$AjaJe+mVc&GN9g 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�a?+3y{B&Bl@5pfIT%ZeF3WH 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

a7y=(jI;& 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 z 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%0ATrz7w*P?hw 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

+v2ivwF4=raQy>f$@SA?Ar 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 z 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 z zhtWPmtz9bXC-o;t5&uk`{?WD{_RQ-PYg+vDpqW*(j?e$Ny5Ikq{1j_?{LG+PRr8Mj zA4TWl$n^gI@g&!|gfRCzxn!moxpk#7R4O_&_nZ!8IA!kl>*gLN((ObYYOHfI$INB6 zxs^J7iw>Ffc**%$vT} z>?BE;3{#1$kMR)X%qaF-=Opce$uU*Q<`_T0;~Ag+)|@0M7=)=ow#9@924+e@H91Kd zrpVMLJ7VGloS8QO)|Dg!QwHNxcg!k(XGUs3Coe#jzaM1`=BcFuefH^r22ft+tD?-w zJ{aNRQFi(OBp)G9IKZ?dU&7qr*D_xW#N@Bb!!(#SNC=OZ|CGCe9F;9>SFv>z>j?Z9gQIZPGgy{)7(+0v5oYFz- z;v`j=8S@;u76TK8bKVTL7AL8}ESSFJCXClo21kmfQxb51e-L$%{1oFOY~q}zHIx7} z+4C=#$!(Y*;Xj;o8U%~bAlNXklK;ZQ2>;{s(6Cs9CSMJ8jogh%7OrttX2V~BzYL4wq(VY7v&NMU%%dkA$Aw8oEm<_#rzm7rH-U zUI^t`O_o_!+#c8Xa z9$mgS>o$t5MI0jh!u*>Yn>@Ar&uscAqz++A2xfKxjnl&Nf3rT_sdbvLI25XfoSM9` zyau}LTXmXtaiOSwa&EHRipHG7SSnr<9v6A=uOPM^&_y~Q2g%a$(O+k zE9%YEy$J_?4CwiFBuA~h1wN^uh6zXhP1H2GEBW@y(%kHusfGyzKMplR?oZBNQJOb< z8w5J^{CE_P?2}ZzVl}@_?{2Jfj!Oik`s2wDR!+>{9@e=ZaFqW$>O1*k@{1MJJne16 z{QwvK9n=!}OLEUj#=O+HPE&v@AA?#ZAH|HWG_f4UQ=2s1;!*$_(;hRiLY%)jzRdMmm?D*7!x(_cinY-jYDUv_szv{j7e%N`8 zkj<3rkxfzi38t&>x*ygZkIO~L^eCqo{q+1=^KKzI=>#kv>^(G6U_ZmZz5(by#4&yW zN(n4N+{FtD{tI>|qcszr{8E%|k8{fHpG#k7-%mZ6@QRCK8uT1X$pw4>y??#`=sZKHL=nhd zDV0CXzg_;f`;WS_an%4A;Ft2~r{}kte_fu|or|kMwUDo*5PmLkXuy^h04!xF+n#GF zJwG$PNqx|1uJa<`ned*-l+mB}zPWwCHY0op_m~bKHE;Iw^|#wVRio(}*N764ahTbk zZ@)eL5Y#f^%fF9u?MY67{P_Ou%ZJgHPCvo}W<_^qiU)u1cg6o%KTA3fdjz&T1u4p_ z#@~JZ*ZM38h>w|`J!L5dt0%sf{?Gb((nZ))<~hLRg{|IV)Be}+JiwpdjPmWdpW?Qf z@m=cUR1)G6;TiKn&mSq?tM|UUeZ>BWxJ&?G*PgbNpw)lAr+HFUwQ(H9w9};z~r#mHi_0#N+j|;5<%S!}QXitAi{;JZ#n-TA}&Oky3GooiGrFzwB z;o2wf+By&hM@9FHr#xEqT&Vfv@&Yks`#1A9fJY##hA-rgHM|H20w30)?&*|nz)RTv z1bMkWaf^hC@8PBluiA4CO<)ryg85yj-+R8LJQx1CaBX7rWhWpiFq3)&DcseOh5HlU zgiaKphnd&(oaJ*kpwOW)KdUE1qHiVJdH>z{8{s3f zwI?w3)!J`AzWg`(cjy1}BD%<+7VO{6G{~ z^QY>q{_`V!3Y=?h5geHLJ@KiRe_Z)oGv(4*cPs7-Kuly}_-mXWZ>CbO2gLE2C?Yv6 zb!%;8adm2|v+kqq470CCAw_CkX~}Flh_wFkC7Vg@DN0paw_3V3Jxc0~CxCHsPerQ9 z`nje1)81X334~cDp{FiYaVdQ1&2(#5QX)YT1%^Vk zOUk9RR?#oQ9uAgJTr3??O3-FGfcnpr z=pSJ^7s5c45p-G3l;6`9ME?nUxL5|FoS@Hgqok#6i8h7XT*wfjf?&uxPRUDy09uF} z4?BdYBp9K2r+N?{IKhpv>h|4!;7e>}=U^c8k3NbBubg}AF~Ui>vb?YRw!j4t#Cti_Q8(>Z>G=-DK*r-}L1TZF@`@2H_l4+jqxB2*|&$rfplb*tWUXx;* z9xoy{n4ft^b$w40eI_nBtjU zzG=Mb^L=VK;5q+dNHfJJ{r;x=YW{bfj{$(D9s*e5=`S`>tF-S8fWgea5&{5A={=hn zt5OR(0DsC43?WjY0F$L@_4Go+r+^pyUqS$_F8#|UWi@|6XCeU5r$YXr+)n=io-Eoz z!$d$f0X)c*G_c{{T-{!POd{F|p{#yNUOHs!&sB%T)Je^bxbTn^N=f>SP207o#VNpb z;YWmk(rCKbmhakA5DJ(e@}ok=DD?pJa%*jN5tM5R3DK-^%ER=hn+0p?KV1H+1F`my z50sYl3tP==mw$BsSNC^ZOvnUAAnU$?$!g3C&Xkit#Bx>dD)h#$jTC&N-$KLK!NVvD$b zlfS@R?}4SUM3m+9`K>C!Q+^O@g2GP^5mPqOSGShdXZcgCiC(@tYnQSoLsBd+(i3>k zboLRlS(3f78ERrH(KW#+h(Hi>Su(x*Gfc$iME3>WY|y#N4}tV*X28YQMIQy->^f>( zVTf|CLB?@$0if8paOwu*ibK?TEix{Mn?;v}-JCjF95zI=7nTtwri*HXF5EhLTxp07 zcm>9b=R_Zc-P}4xTzQB=uSZ6TTI`mS#g=KdmDEjyf5x#ly5LM zXe$l#0pt88mPKz`#+G<kJ_BNQitlpZ*N`Ht{e2X$Z2nKEq*qY30k$(Qlm}2rVqX-iH|{w@Wtl zR=vM>0%i}(zxP>&|Ms7o*H%ZrcYY+a0$xyiM#T2W=KWRgh0afe7p$OOQbywT_suV> zqujcQI6_EBZ*NBa#`T|4YdVVoll=CO@LpO*>9+pX>9vN%iDv{NE2?)a!)?QH>-O5# z;>0NIFV?TU|7NsoU)*}J2C~ne_@3JLYblW~x2v(^^F2mXm%(R;4E7dhs_)wFM2V*WOo`788S1UfG~4yvc`6Rtm{{h| zvhck|>G0j_J0Hc}8+9vj^C9EC4>FJMzFb$_w%$zo3H!$S7dS@!b|3HfY`1Q9R`b7y zeCmCXd2N@nlfSLA6|lx%4EeA3@64OK%pKZx!&c`<7$@XQZ+GTL(elor#i^}{b^a!k z)!UbuyDPt|x8p7D6cL0hZtqZL^{&Li^xZQG3Ss_=>$HNz(0#Gdg`vS&0BY#grJ6B+0ZZ&lvO_%gWsYkr`J!mZrqvy|?x)%8FFlNg-$YLNZMxxVts`T;)XfU}iJt`f9Ua5)pgf?rW0^+~S*u z%J(&9xk#k$o!cvxgC0O14873zB?;Qj7A?9KLmE zU|(iOR+Pl}-e##_$fO4PDl4dul$9v4u$L({1|ey-!)8MI`m$QLudgdg+YBUWw%g5w z^$lhn+SHJAlulECYN72zqxwd(>Ln18ccjG%P;K;)&>MXpvYtz1uDy_sRTOEX$t+Y~ zQAUSEG~jcQ74bS~L}*+ecxCL#l~j_kQNrljIfFdhT-Lb66G>m0HYJRnoy*J}K=5Ko zP$kP`Y?Lwjc5X8%eQQ~K39jVadV_MHfxta9qi;KFTVhvIT2^;|prPPcXii^4I%KcT zK6lx)@0v#F69D=J$p$~eeYa#6_lu0|PR$hcRb-j%mE7ATi&P;Qx1R<_d1&_Gy%YS8 zvSby!3EC^vm7<^Ru{UO)w45soVcLFXrn1j8+k0=rK6g2ss*_p!xtW?io9uMa>wT!5 z1yzxm9dZWWXP+GnyxcG4V%0?E?MFiz`<%0H@8$2ClbcqXv=I1(KI}W5oxfLE%3MD9 zz~n)}h0s6x&SuwuneBD?=>wCN0{_rweHQ?H%ulLWK3ILyN^m)}t?z2~-+SYv=H#c< zC#?kmq3wNP*|fdoQs$spJ82`h8v0k?jqHzm2~yV~(;Ab91VN#szIebZ8<%Q^1Zz&( z3a*8c`;xO)_wuFYAk&(YFhNLYUte~%l%%q>xk4~>(oPT-I@nhXv;i>b>k8A*Nw^>) zbf~WqAkO@xn?c5K(q0f1I@VX8?I0N^J*P0OHF;PN9r~{CQTA!ca%pqLVC~5xf*YaK zzGvC~lC9Dx#W8It3>_0X0ZuMqk__ouMOPiXBl>3OR9|OyyyQH**-2y|R1cnf7` zOUlS-D7ot5ozU^2+&)HjrQ`=`U!^u(jI&+h%p3rzJ&-&pQ>J92hdF9@d**xJr)+{` zgv?u|Ha(1sUDC`_9}|4Za%Gg1ZS*m&cF8l#eRJ94l22sJl^XQ}-2^G2Ykfbmzex7V z6e#N&1iA~-LKlHAeE}3+D9ShkCy(}wne9Gt_Lk(9%#N~xq0_PUtQm>^eL0YQIJ@-Nk6twmStUd{yf{{uD_EAmT#a3>0|Yo7`2AIK?` zQiIrP#M+1g?T9mx{UbSbQimb8Kt)`1)$XsEU;F>fX_4}Wywr$2B>Khf^-OI4e;^W` z2$HRfheSc>m!atXr`c2~EJR-uX-fi>yqU!QuQ?y2S|KRSF_3+22Wy;uK@JyS^Bgr@ zVR#g}Cp5KxJx3@t5Ba1?HpPG=El9`i@cBr{WCfJ(z(jgCJMgLHakq1 z9d)LlUn$o>`lLb`)CP_Tx1-IJ^lRk8q+6uu&_;mX6VOA;`t@?%q%#$ywRG(RBLzdD zRsCkUKGF{qJhd9_1ET~Zp|$;oa%qy?3K?1ohn=pskImHgAIXi8o>HJ_;SM`Rx4)ga z-|w26D!rw!qor`f>DTsmGmrXDft0R}qPsTkh|`Vs@X)9I-nsQ4wtGigd<6O%`hTI% z`~7pDO9v>v)=qPP#-KlizUU9i?UGJXT+m;W=FCQN<=5B!YCS{mV>uKPGoYdO?w?Gln3=wX1*l5MNAb7O3!xL>aug=RP^#5) zb-~|3{|IdcrJOh!uF_i|Gr^w~EQK=rlXFsKwv=}Ca28MuS`f~6`eIjT3i@X#&`0M!mkCgQt)J!wO+~K(df`-VmrRoKn!eZ#nuZpI z3j4Xa!!mWs1*);`qBOhBnVOnXdb3U+7MeS7jGWg+|Z4RKI>7Fr@qazG|eMb=`!qkh{lOtzgQTY5k# z&p`I%{xU#~BbyVLJUcnI>VSEk zpX`(UzJQ{L$+zPGHp`*BYanl(VWe=h=Dm`QQDGX7ohD)1HQBI%%+Ne4fHmryAU#RAb}jbdfnW1J$hNAW zOvXG(rR_Rw!~i;vD?6&vWP|<|s9sSQpMh4Pn`h1pROMO7`K!J(jXf)> zvNLBR0TL1+$5NOxojyBxq1}S*H}Ej;Bw$49n=Ky3-$h%7J?L-F^OJj`>T5P_8dxK+ z3ImA!ylZm3ss(1c-hs7tcV?~*{FN6YH>FB3!+AT^wcE0<4UqFv0akLyOabYHZ?|KI z4GiXC<#g2C&2dPl`gVJE)W8_Xth=Z+8;g<9d*~woJozE-IS8>!o5%Wy?%6rAV}U}a zQ!Y_$$$ZgA)L`etMh_74XmTG^^(~OTq{enj$ULPd*Zy3@aK?$v2btJJ5VE_yWnl{WKdgpqUSsk3R6} zAo&9R3EC^He83?8xO^cXV!9e){;)e6R?%;k?<4=%;j+`8?U&fkfta*aK1iKng}Y3$ zM_&oM+5by^r+lLNlGWm6QL9}byM5q6cCH*&UEdmc#ibz@vN@X{?6+A>=QlzuIrGKMXv}_lLAR)h8#$W5DeQcCy#I6>gi_R4Mtq`X*XFnY^IVz|FpZ2y~ssdI^ z|1k18X$+i=4pXBG-Yc|dDXFzx$Gov?0KLUq1uO-sR@q^jXv|x?`|P9CI|Y0NuGZVb zZPBDbK~tDJHN9Y4VOL99S>acwckS9?$Ei>AWfax4ZI8tMDtc%4ILv>*Ge=F)S{rp_ z43td-`hewHUSOo?rCoc(^#=Z5^i$BdzLgDAjL?32r0oXggIx=#qcjzGDCTM_IoSM$ z`Jdf$_C;!Qfw%kvZBK{AOHROX#189kEx4-KseQ*m{2TNWx-IM{AfH7ms;MuTjWP1lYf;v=C4YXY-$1zZPX@A9z zroJn9qUf#D=+Uq`Dy%R}iJ@ET?3#$5 zL%#`Y0Lz$orFj6mB`4zN(c@tcs2+vcN-}yHM_qr%e?`9!dqVXptW>hlyK9DSni_IO(qTOcz zdAnXXuJlCD*QMX`cg`n#MvG44PqJM^cqkbrSt{h{3oLSaTPr zL&azjfd6s}hn4FL96i!9pxfw8pw(O`{H)w*aK}TO0o_51!#1dyD}~=cP3pBrS|)TC zy%V-g-74HrUN>0t5NAU7#P1207?doM+plTpcq}aoDj|H&-Zv;;q`CjF;jLqfSt1Ge zK9205YLUf$f5Vsmj}+c3lnPfE)GG2*iZNs!8_OmE#xO^D(6H#_eypMXabyl@Uxyq= zZSY``KY$LSj*sP#q&grR%|W}Oi2b96O~;YBBSSPfnQ z8@~vnwws$Xts>Tb zs!`cVn?j6I$7a~k!P`YYz}Ap{vav8wS*RcGKA2v#y?@t8`jl=_;C`WD_=&;%B1IJg zW6x8KMS&_p<8aTx(jq+-595MUy2XL2LeubbpjdWDCB&G1sED2N>T7_R3bSw%|={C+dt$=mX=&<2j9sH{(24Ej3 zr*T*(%??}6wLx-Gs>+t}&S?dl6STvQ6E-+lgjLZoareaGoU}UZIZ=aSMGY!0Cf84i zaZv5}BjGm&KNLMz2{3u>nN|wbiFX9NlPOR`NitdU6qiDE%;0j-yh@8vGw8&D0JIw?bx>5aqOxGZ^cn*txegCb z=HQ-UNmYoc{uyKi$*|)%CwEY`SWVU16m@2-f@IWjl2bUizt}|8+qCHnvXW%naT;u5 zp~Z()89JZNkSp;f@m}HOg9gRNRSQiu&bn6NP2uO*uQ33AKR#$8H=v3UX^Jrb}lRt3?*@^PGo+CyEPI z)yz%MO1|%i#IqC#v3NP3Mp`B&&|goYuj>;#aB! zolob;HF)dzfN;WKNO8Yvp_zuaYc1X;{%Sa&z7@Y$Z85vzO|HcsiVq6!1WO~fDg!X7 zUF-0+@z=t;2VWKPRk>zwz1!+AFn9=uGMG`ktLm*Qjnu^l+6hC$2L|(t71a#PJ&}$0 zK)5hGoIY4utf%H-UVuc_IN5hZa)t-*7F(+YnNyIsdZ)u3*Fgrav6!!zWWI(J*F%rQ z{~G>&@JaDmP&{<>NxKJii2p78BS`73D8B+t#Kn6e2Y4)Ja*$XYt@gqErB7^w$Ps>v zGd=hZ$nnXT%=t_=Od^DF;WLB%#rbN=7UsUejgwBo_;B9faB&St`Z+p{HIke=5;^mO zneU39sCip7`6BO=j&|GzGK|UMS85Q8Prl^)c$fGjz|&?Gmn-L5DEZkmVO-(KoaMo} z;&HVn7QTLMO&B-0IBae3NAVZ1Rx9w+eGup_Obg!}Tqsyjo3fzz;T|}7z~jTW!6UV< z)@eHDH~nDJLzo%9hbB=XbwK%``T5|7lgEVF;rnQECF%!Y2d|%>emHqtm>VujQza~GzcOnM2+!v_a{Da<|~ zW2te`^$+}+_{wk-npa8X0Sn9P=iC0koP}3|Hm7gNg99fm%P!hH#hioJaI9z_3tt=v zv7}#Yd>ZI2tPQuNT`TE1kZCFHuiG4m6yn1xsgWh42O2Eh{c+7sKJovtH>jrzKLSh5 zb^qz+NgrWDxDzcN;Kau*oBgLtNWLBSIW9Cz$yud&z!#s+!}!4;aNKDbCA$YCt&}d= zJj0xaKjNIA6_hBecUpR0YJ7(A?05_^nYfY#6@=BDOX6o32lyYHGqkD_3w3|1mzQFn zi!Q>OIY`>Q5`=o9)zYQK=OTajGtPP1;}S3RYAf5zv44s#!GT$v_9w`7D(hdrEdCu> z)8@i}=c6P{odGE3uB{|D_zTW2wAUqZ>K4ZI%Z&hQE_?|>fITJY>bq8V&MUMz1;SZj zVKiznEc61wOYIMB(_ z{sX9iE#0{*(=R52gq`7_5?n%4FSj-i0N<0~jxJ6j?Q6*g^;TLbps8~*X?w7e8W0Q4L2-mBFfLSlC<% zB)8+k;;G?NkG;(c}uG$bW zk?>(o70n#$r}4zb_bRd>FiJQQUQ0WKy{6G?Q*c%HRp52uSol4f1NP?rDI3aF+$*Q( zj<=lqG*@h@#=7;|Rq-o)B>WxcA%M6SYN#Eu{U!D<(Xa4-Ie*ZsOKLP=hpzuJ{nz9T z;fL^NvzjsG0} ziWZH1uh9ZP@Z{I{oAFcOfGz@#{)|JlL9U(nTk&7QyJ<;Sp~n0n4YxJ`I)H2A?XgIhh(F(AmiUzix!Hp!0TnC3kqv1fwSk358u$Tl*i06e5)2gwSpmqE@ zc#I@UfX{KpXqopw&UfnIT<~<)WTKG59;ZFTp47zJ>R&_tL;Ahr8|MS<8P;F3)mG^u z`5*l4_yr&geF>KAR9opF-R?k8lnDQi_BZyXCd-z7t+6{WNw^fwq&+P1Q(w1TyC&|2 zV&VniY#J3?tf>ieL`~yF7&u7F0%m=k=3!X#wQ2HXvT!B*EA2h@siq&S85P_!nIc>b zU!;A;mMX=-n5Z!jq3T%Y@M$wxswNhuAA+Qi(mFsih4vNuL9-Qx0x1eoddC)LohHC? zHAi7hUh=X@3HLvP`HK;Yv@&t%6YZT*NeE zvRr5oag3gglhRVQH;)V+nye5SMVz7+=qQ*u@H67O6 z0D3zvLTl8%DGE7Cs_i($4Wg59iNGbmj2asiRm8(0Lg>A?Y%Q6?8rNON@c4LmLm=k%=OJogd(6lnJAIJp0Y`=8VEj*Hx#(W$lL3iky)xU^e4)nVs1g-=dx9YD2Ak1QS4Zg6mq!F_Ui(eVrSZ+dL$6p$@s z#3)QSz3d3)cF{9`FI@m2GD-{%*w2J65k2(O(hco(hqV~-1QaNOBKqmMrE)r&j*hWu zlhBU%@CX_mTdJjlaJ&;Mo`e$PBf&qUs?}L@X4iMDzd!-1SM8~DrMF7x+ z|H^$we_ZONQ|)MbGxk5xU+~|!|D*p|N`(>}uiu>hZ}M+pOvEI;qcloq+_Cv)@YLjM z;Z5)t-Bo%UbPMKgPESpC3gaSX=>5R@po}oT6+Asj62?dH=) z^QG@~T7Wr%%*2CKYQ#F7U+SYxMU=(aurL&OI(L)4R?64mBHqTeF#8Z`Ca@K`fvOnK&_EcW})YQ^yTld-$ehyo4H8Fy)uMe;?bqw7r%)IdM7$xy6i9oTYw%>uXG!Fwkc|o!dm$ zDtFM2bDhH|EReVz6%pkOgYx70bq-3&Hp>_ue3)CsFfaGh4?uV(BN z{Z7|A$>L?`T>Mx>J>zis4SkctFOy?eM04=B+(yRH@+AEg*Cik$5zWKjaUU{Hlo#p; zIGCpd|D60Pd>?U$n0cnWTHo3Yl`{5|^sVCqw}o-O{E5D|TT=>hmGr&iBe#_iSpG^s z#*LXWwn_p56E1-fT29r+y6LAP*GSZOfO=;{m%rC*02ShFq;$!PG+-g%@ z*YQj7Un060N##QQc_4@gHHRowCRn>72$lu zJH{iRO(}ObPY>Rl{3-kv@ju4%@(0?j?x^%Jz$och;7%~w%Oea%-J8;pTO=S>;Z89~ z<%tFh?#%SDEz)`ipUYzOmFF5jJoGb=Vv?vs$mKGI%Bu~mJy02oQ}~Vem56!9c=;m( zFOS*`*KPb}{3>vezSuc~I9BDA*QITyZb6g|Gbzi+~ zf=Z;xkXJ>ep~dklInz9hoV^;)e8{)rf#J#H1;6P^U6o%x5NS1JRoZG;e&lsdnv@nK zK_l|eP*6peVbbxn9I@2rF*uZGHxypMFswdqn;R>=pj z;UR|56)Y{r@!DKhnR=xJy-1g#qza+o6ZqTQHko8)djkNI$*9;hlsuu7XCs@u-`Bw`yOnk^Fr3D5jS`K#*7R*_eRUQ}E&>OE1AuM4@Vv1}6= zIP@2=8&92}rxB^$U?oUAjbPUgFT#iVsGuCsBoCN?pLS!%G?xRB(+(Pc{`ImAmwbZoJeXQN@Z8 z_4ubkvU0saf=6WL&~AmguH-4DBAflmhW5vKIYZKw%El(Ae2d!lCmY$HaUJR76&(H%ah{EFUtcJZ@Zg zYVD?tYO<;QSzgtUd8MCm;t9`4oT{@K@f@#a$fUGe>(!}S#fz#NX7)%PeyFiD%6R-# zb8)cRXY*wTZo`mMWuo!IDQ5AQT9*aUkN05cSfz)7%xR4h*8|C7_yykMA=AoIV}sM4 zC5;EJTG~f&Z_>RhJq!<@W@b+xxH{C~&ubYvU-<+`gPKZ^>RndE%e>a1z{*#~F{ha& zW9nVjL?Esl3az9XV^8a2ks4h##H*42V?yzI_z;OJ(3o7mQn+Ut`lWwO|P-ARbDs+%R50y@nNQYS|@(M)nWoR?3-ZdOG4_nIb!T zF!33};nYoFp4V~H(9iJYh{&O#%1Sd6KhI`du-0dLVhh)vQCA5!iT3=2v)Pk;*gl%~ z7RZY{OmaPyN^P{0kJ#UcoS{Fh^f7thNzcP+J3A16<9!@z18hi_6L(6*+FFhYv5}vL zURB;OnecpFnx>ClLjyMa-6=i8!?5qI<#0hWzy}HQLbR%>`qMMZ4CXaTripP zqLkwdoIQvcyzL=z<(A2o*G{>Dq4P0f7EfY$Ulqhu=Zt#=&d~WdF^4BLtWc$6>T)Kd zLcz%S1Tl{%H+-PV+BE14r2=QY#3S9VCr%39vQBxvM}=pbgEd(jf?ipJS31xAugW)5_BO8#w)qS+WRXA-RaIjK^S)j?ZS(o+@~g;Shu>E{ zHS_as22iZezbyY989NNv-JoK~UHH}T<-y33VfE@m<{?Nrz7ZI* zmg$jY!+Offjv|hLey|PTcXcB(>J<(W7b1$CytcDfPI+&e6oTy!*qh)v4xN$entHBhJ4P-|-#|pQ^^1>-f0e!yR$HLHw8Z zbQoFPVD93RaZka)`8VSKc+ZC~RkxZ4`B3iR9Gqi_pLj38|E0@3$!G1J*g-2cVKNdZ z;;M(u>wuUm%~9*-@|(z_;TzQ-%?Uo&8>SsU-&~#ojKBEmS@Ut9=7wOz=UdBPKz%#8 zdexloGY7z8pW~KUk$uD2)lwG9zUGa=PM^`s>_{+Wu2#2z`Cf0F26C@uF8IJyR-0M) z`8GEOJAY1Co{bzEt_QZSS7(@wW6oWP#ChKM@Wbkp7Fb{X`^ckRzZ1XlJ`6vr_P1#D zMcp4e+I5?_z?&Fuua2-7^=-P3bm_W7`~l#br0PVA1z+a=?R;WtHTS`x#q6`HEq#-Bi&xi z6Adp{&s%)(dkHjT8yWUHk=nx>)vFeKzqtp~9-lLpcO&TcB-qGs5Waca{lgCe?Jm3l1aLoXt@A7_+#E(K=w8pGSYW9*An8d-;6|d;fe6sh>@YY z)t1)&sOB-`Rkwu0QPCsgcOO}L0UeyHPyM|F2LM5z08^}J|4+?ipX3UA#O$pR=G|V) zT>rOsr#+n;iB7ZeBfPt#mJR;yEjVB2`^2NOw?`HMTDjXlqea2bxryjHn>_OK?t0EMuhCA>4h=jipVpMa|6nm+; z-1TDp9|>opsz)qpE?Bi(y7HWSvHod-H-P5AYQn4-mujE8`qwun_(U~~AZp^R=7G45 z>|fuK;1~5^#G@wLO6Ic0pRSkcpCw#~dNSfwQ)y*!`O2TO=*ILB^ zTI~tI0X>piBWJC7#j!0dP^%*W>?r^}K?_I<@3e^nwTKCkvneB0H5S(XS6;S_xqc=t zM}cu;eT{>4+?Bbu|D)*K`e!%j}ynB=Z*8;0&|(-+b2`u*pRd2HqJe=xnz;H#jH#Y$%%7@UWo`);Fy&0Q4V_M9Cjo||`JMi!;?+k{qUreic z*o5RmYj(upuikt{onK6wdBjA=`>yQx!@s=MnY;XbpUqzj`SRgScKYGnK2FR6Kt!C6 z43U1A$jU#Q2K9wPMR40(4Sp#*u#eo2#F)?d2-0ihmq`-!x27G=0`wrnU4mc z*ym3djZ%EH>umxkosj^j@IjW{f4I`eyS_7k(iI7&j6ZzK{(ShYPfoo}Af-DpK4ck8 zlzu-f^AQ2ZI;AHv5o{o<*}o2}UD9mWwBPsn{H>7RIctFo(Am?jA?jkqP&Vs0sg?63#vBxwIp#SS6|PeB@Afd zUIkxeR)`VDBd5gJ**B-j2DlX?vqKJZd~zC%F}|Xv&Jf+C$k-554l1Y1Sk0T?_%lS8 zYkue7Bb+NaZ;c(@41s_x2J)0L0p(zG290Zd16W*iJMbD#SaPoAd^P6y(pavTc79Xg zgf-_zjsl1dKLIsZyP&CP!k&|OD@V;F!d<(06EvpJykz18Cpl-c$vz;Is>8ZpfnvHQW1LhSIXE`}JW+uT%esdizX3)HH!kt6Qu{TLVYPJ}M#tfNP1GptU z$HS!dyi-fTSu0^v&BR4c9RRHZ;bzOvP+gJvmwzvDnsOrc3y|~{fBcAOo)H4ziaBJH zZ%Ap&NBoF*zJB8U`{y}HCL8^{3v39K;Yi@U<-EwwG}-6p-dab988HXe1Ws^Hp^3d; za_g=zU&(xP2#^HiFiZmdq6*W(tbiF{B8>Afr^6)9Z?5`hnC{0&K&s_@&3SK<>j!VU z8Lpda&YmD~&SVQs>irC}xPWL5m|FjR_?Gk8Ud$C-bg}*#Fl!9vTNIZLX=+ zcvJU8?uX@^h`$wnb8Rybi{s|cCvI_m&s}G#OfkMu?LQ-RrJz2!;e&ZD#F1;7tO$~exsk4=qG-t0~iWh!zog!SG% zx5(5HmBHp-^_`xlPgHX*&`?DhX8h2?t9Z* z6ujeRl?c5D!Isx#`n>Td7M}7ev*wkEIGs}Re&Yw4Q=Oh0Gp3AJf9CTO z|8hR$=9)nR!@Fm0E-soYCnh-qxs_&KV4j)~zqn)$=9oday~QjdPzvUUN0#S*g#5?( zocqQs6HL_lCye}@Ukm|bskuV4`apEg$ApoU`Q?!RalYqHm3~!7kq?snfAgJj0vzbqxwB5kS=b4 z{v|!heFzvo&?^g_AMcNBRqR8b=046laMa@p{k3s&`!?1AsSD_%L673Ee0t4&(5}TY zl6r89^Bj++UNLy%`mlXFbS>J8Tbbv1wDOAgn@$h_ARb18)_h*jQBd*+ukh7Y7^6Wu zJ1^|$_?6x_1*yI|3R5&_*5-l1&@1Y_yV87jDvqG9aNp#mAKe}7)LQ_&rwVg4n#;>8 zJZc}D44PoR5QPOglq<|*91RTa?JY?6)lS{Zl@eJ_q*Et zF72_^K9-X-ox2NwedDgKzT5P~YCr3=^f7lo#l<}Ts@?mak9EQ0F*=*8$n`O20rc<8 zlf?s2S7{zFv|`K$uQJ~gvK9@Y?$QD-f)Z`6xH|WKCQEmh!UJ8*b)eic-yCB2!5^HV z6`tsF?iot9xmgJM!^fv12NhoED(*mDnYl{{?SpG}`ytjv^jD4#rO_M{BKpvoO*u^T zLDzEwDKE@ZLbN$HITT}}FB;sfDE;P@A>N$M9Eu6i4|rfBD4)&Wf=$sT*UAWr0;~T* zo*al_yE$oKn_vYO3Tgqdo5yqR}SwOKO645fQfKmc=#^msA3MmL887=4D z&#i|BWB5Q}8)FTPmdU1o6<$Dk|KwWV!8!sMOOB#1nCO*CuJGBj9C?IDz-Y#x+Pu1`-8gCLJw=# zmsV`$z`7${%iBav`L#MiyRJW*?zs@dPwkx`_v&T3QgXbA2-< zF-!9)=qo(S`L~ z4Ii4RTJ(gLOHcEjP>o<-q0Avd^@y3G0`1D9P+_pImp_4})9%HplzQ-rsgAJJPy?ZB zP5T8_wbYAOMfHN!h6V_^HSHH!wNf8m12q_^glR(8+IDXiL+ZzSMukCTp(0^tEyage zj}GLyQW9Zmc>2p-b-tGr4d^SpH`H|4ZoHGIpw8D<(S$YuYdIgLhKUmWtc!sY6VX^+ zKeYnpfv1c786!x=Zvd^rpfr|;=W~Bjmto8JRq>_< ztII?*y7SKO`Rm|X1k+(c!{TLdZQbQ<$ln3CzDj%F*+2;*f&evdbN*hqGa+Z#rjc?* zfdi=U9r-5kxU1d6X^p;S#9nkduZ3y}Clb7eJ_1j&;w}0SZ*Tr7cqYLR=-)@KD&C`? z@($)-gx3?$BOjYaLRg0Zp5jP;Ffb|8MqF9#z?v-0=N-!@!sUdFfld|$LlmHkc=q{S zP_-~kiE(ob7TPZ@af$&na9RTSvVB;xWLJxCsA33R!@CIH)-SAE zk_K#gtmzO20K&Dyqr(;?KU+o)K!>FcAb9=;o*5SY$`$CsSR>MTVC3zGSB80ycD7Q& zh@z|Hs!e;bxFYSTsmq8>Ex;pBgZ%fdvXoo$o|;yAj8mzclCa$UGKFmX_>5kI3} z@lx`)S{j8jId#usu0y{{dwCi8yDc5VGd>y@`9>=KMStLB=bKmthWCCf0OWLq6wL=5 zbX&{BaP_fWY+n*lTiVYn2VnI4aJ#WIwiTH*Efw9UT;ur%jwD5BjvIH! z+=MPl=Xr_Je1Tcedkz0y2m_PU%3U(YbyVl#uecpbX zr6ya)-%_yen9DV^(B=i@4sk7JBjCWB9Sgq3|EKOnOcHdROp|X=fP+T|uKu&>rSELy zddyb-zJfD=6c7J=^QG=RR=9LKUy*z9Sp7Bh=Z`OaVXTcZ9sZGm;A5O?w9l@u+QH<6 zOpkx8pu$pit@TCStC$q%W|;xsfiePJzP9>#(`&2y&|dUjzGK0IV>;L2Ux1xEM6ngK zpMRzx`y5J)c)7z9pw>mFQ$~2T(H?{ zU!?k*f_E{8S%1k+@zVIrMV>EXFH~G4SLX zV6g(~D$C=W7h({DB<2)haFGsmmlg04h0zEFX>Mv}aIq44PFBo6QJ8|zBAZSVh8C-! z=Vj&mvxT_`C^>w3W@xb*dI9s4?+GO79%TBozi^~RaS>AoeCsWU2(lFT3Px%bK42a> zsIU!@N;Z(Y0tG3{SH|LF3kMOkZfCMkvJU=@LIpxj z{v_v$+v`~XT*ALqsAjz}%3#J7%&@V7WUu)53$?5dM+MAqhua%jAP2yIRJaeQ*l9CA z#gryu2yh(c79O<*_o$i95ekcl!3g+8g$~v!QQEUM5=t`>2W0J)g`U=xQQoti5=sjZ zj}h||>kEUd-$v!k+Kf_KiD8&g!27yxEsGM(c8*foh!L1^eox_T>vhrEb2c9-&xqH7 z;QejkV{4;m@43#8ly)K!BjXDSORSxvbLMQuC~P7bBj<|?8?7+1n)D(EM)vCFV8sfoz+=kmg}i zcEkO9-Itg*&{W`!Fr@|BytfX$+gdnBMt< z311HDjLbyfPwTLWi&>rDB(>tQ@?=K^S7{uZ{1`h$n$(KNqRLvtRiHaSEXSM?WYG@V`oy*>Z%*kB66qK>K|amOHad1e`EyElh**X36qM1< z*yhHU+~^ITXAfw>ZV**Ok`qEf(}}YEir0N zH6vdXLmR-j`b*jlFi&N;;6F3MW;M!!1@CBCwpuaX3!O8R5h4pLOaZOL)`gU@U_2Wm zfwss(1tMBKNK^6`>Skj`p>48oK$q;X-A7XYk@m0EN7gghb-}+hj%|LN-4Fk1-7z8? z1E}`25#SAs`tfs4_Y<)b6C+U2rfkJ=tv_yl(;X*vW8wwNv_)I3xVaxQ-xkNA&tU{vI3S9#NWv2&g>LF51;yjf9@ z-P@Zvi#7_1l*q$?`*G2AJK0UqVyA*4BMLA@0{f!dcI)D`mu!@jNn$^yOyFGf*v=^4 zd#O`NnIaBiDg_=zC3ep7IZHMw$~3^*)(E_d>g|H#`Ac=G7&%ldV+sO_dhC+oHJ6PS zVrHNtvL;pfYgn(~9ivlM*ynjF)1R&?(t~fL`?2wkW}A<>s)Jisgk7 z3Tlgd?b{NfR(>w&E)ZuhBLY?t&R(3*x^i<__XlxK)*)aQMcXS9=2m8w7yA|8WCsM# zi<0a&CK{}|{%rpr>$~i$;9XIc{o%xbRW1;%uoN&Mc zdrYF;Lfy*9q+$UxCm1X0vQJD@|Fvt?_ow22n0er4;n^1@I{hkG^<7acVHO0lMQd$4 z5)*!H`en7s`YBr!D2wF40Gl&+^Ox=~;wolEuw1lg??ImXHS=rn7xcHu-}-(pUUyvU zmg#T$QzO4A*I@tX+fcmYxY;fAZ)3kn)+p7m>-)AAlMybrXur9wVgKH|c5-9i&SL0s z{4Mw2y4FzDl*eV7eFnw$$CGYpt}*!?@>;PTyRGj)vD@*YTTW{Ve@CuW{)yG@Gbu(L z@41z{Mqdr7uH1x$^udb5j*s8!T~nxrT&L8;8uZx~#~=T7Oa1rwf34PAgzwzj=UDvU zxX$g~{|J99t+&`Vxxephaqe;GZNr6+e@HecwXlEpc@|e3-+YVqyW3j!pUpb}rtwlS z>$qi%==ZL*)Quz^tXW@R@r&b7lBSx8dh8|(-AVI4bn*YMRVTGVb)<$8f`#{m6^|Y7 zxt*-0zYeLX+=WH-k&9=KkKcBerL9A3ZZ?>-?YmjLe0=%#s+z`n#FpkglMa2`Y5K>t z?wI}&wti`gG8=QU??Len2eUiqKgQNewkr2wPxn18KH%VShyDj@gJhfX0M@mSQVes5 zxU(>swm{J$8DTy8ii#Z^QtoK4wf&R2opccE)mK^U=}>vcd$I1%*c}#!CtvUx#VCiK zJIQPHHzKu_##kV+2JYVRJ3#xg5vijzoxIEMERJ(nzO%YkV-sR$^O4D*zKo&=4mwG2 z_4rK?U6MIAq>ocfaj;B^QeW8wfsib)xW2*SY6qXBR`qxdh#okZ@CB0MHV0zTocgRr z>=%V4_FCWP;x`VNNrvlCnvz{gD=evRs#xeypM+jFrYX@^T4QhYeJ`GHh`s?=*=(j7 zkZiGWeLsr7JIInmfD}#LO|r)(_Wdeeb7I|H?e(@>sC!5b*rdL7C0kDz-SuAIwS~Hu z|7P37gTUUt)VA@viy?{cXto z%G1~mj&Z=zF5=Zq$aAZ4g6}E0)p+Ey0}--*uM}w3ZAl z+$RhA5GBzkHj|nv>j}<1+D11WwrMjE z4)on9QJj$9`!w09Lp37>Vte`$OV&89OU_wivNQGwP$v2I-7VSZsF!TFDSap6C}}J9 zOuA^nL`fsy4myTLooqX5#q{PV4D~7%ar7JO4hG4mUl#){jeDbGFJY6=_;xz_r zC?yV#DaqOzwh+k&g)?@bZ*#GWV}7!o2Jee5j1-C$0))4(V_R~R#tH-iClRnCeXJ6k zqd1xVlc2W*w+Ns7*vBr(wELDU)fm&0SSlm1|Ma~mx#ze!#ZVKqOL9zkeR5mhyOJ!& z!zlrpyj^UoX5yr*udk%c(IthZ>88&{G?PJfNLR{pZvjxm4=-hzYjj?KFKUG1FPR}T^e)p2YGJm?7k&ui${}t`cIUmoYZ(f6O#1^$drl@j(9}ZB`MN6eu;%?CrM#0x51h0L4Uuk2Di+AEO21Bhb!vjPh6w`M+&qcv zA1bXq<(Jy6oo<5gYX$=A{*R>{r{YpqwKYr;{>{%OulN63$~l#vYNwNKia<59C&~RY zrK6`hQWJDE%n$+1&7ha5D4jYb2CDOTGe{t*8ynxhT)KGbN9uykiW%fG={fdxzgpP_ zC!I9-&iEscAks@L0BDryI$5Sg?OZtmxk7r4ebBE}cF@Tut#xPoQAjYU7Yk-3%B-BC z(-wBF9EDu9Xq$Z0pZHgqvr|@@scxA0(p8HOlTZ5(mH9Za(!zCT&6h$fxRZIHsfuwL zOk?VXL6^`L{KyQMa6kv<{9m?)GZB93Ype!UuP?8XM+kL>~4JKU#>4H)5Br&$WKd|hDQ%btFo-Le8 zXy#2e^`pxKPG#xtdJK4Mm<2G01Fz4x)2nnaXKjfLSAGNrFmlEK3ayYtr4&?k3(IVs6EoEH^%3CfpPcOPFE4X(&d;#ZPe&lg&C`=YQ1|t7 z?#M{c*RV!JHP1|r^f#B`frGwVKiwJ;-8=`(Fr8&_&dV9A`WiNf8_oX#z`<+aVAIRA zGf1~V#5B(Xj{vtU-`P4d!9c?n5!^4ZZMZ`5POwRUyEbDNN%Um_k zutVHz{vQbMhnKx~&dr4Hj<yGTj?? zV(G5MpHtfh4wd_yW<3huJ9}d3p2eoAodf3OnA3xgn0vz%A-MHd~WZo z<5G&nmZ?1hC(2V!YdtpoE9~UbeT!{V`v=aJ=bnZF1>Nk)r3V(oN1M zuv1G9EwrbM2arItKzuy+*X*gKREwQcM+UBxzdfDx*mPf*(^8rRWXfV7v|N0e_4w1y zF(*m7QV(|wOr}hn7Cff!Lpe(_l=?WEftYgD>2Hsv`^KClnabU`;{&(L*Phw@#Be|A zwB(V+#H8cE{c^1{ho1!O=bdIhZr(TLJn*P|-x-%D-8*g1P@j+v;9LfB%a5MHJQ3~h zIz!DO8R0wzipm|%q&(3+V0)JOlyng1HBedZc_upl^Z~}%*ldf#z@En}4?OegNyY&U z6J(Ck7>5Kpy)eMqHrSW$g2-()ok9(CmdBl0ezJN%!xfR&d;}K_h!_vf=w!hS<6R*X zQq$zsfe+=sK>HXC415xb5{knP^p{th@yMbZqTD1@B@9Ox7%6W7;t8qYn42VDX^Fcw z@VWfWnanIhBa}NNwAl*hJ0JrWW@VPQQI|WlkYtUE9{5)N`OMp_93xu~Dve}|iyQb+ z{{4(BO9bQ<)FP5SE^**j`I@uqo@)PXdyZO6a=;}GB(AI2de-Qv_upOTs3jyvT*|=a zioIu@pXU5+>q#voox-IK=u{j%i+L*gyUUYWMsmhw4(zUQIGgfR`{0;!Y`MjmsV4)5 z6&`2Hp3?s=JddnUp2g)1m{g$7_B>5KsPBcOD_wEa0a!)Y+3}~n2MfKBl}dLU4J?qj zv&&Cc4{BUMRDr!eXy8Oe%2};!(?ekw*c7EFu6*E3MfO>hQs>Lk0S`62+CU#ei8#b=fly+=qee3KN&WoL=KX zUnEP3o*L-CQf}oEowH!P;tOdeVR8KfWff;!a&zD&@kmGuDHJChsIBmIY0HT+SwTWt zNd(-;0ILG$Jeb2Y3G-WOwFsa32$XoyE{dEvlUbk6 z8v5UXUopxxG-UY4wp$Q!E&UrR@?ETR6M)1L0hEkWQv*X4wJv_S-KOa%LnX#a!t*`0+u>0VsU)~Qx!s&`dqY`z7Zmv6gP$GpQ{*m zd6k=CW&&{Q7V%R{0}B=3T)yV=%@}|dZIL*&I6nZ3O9!s70f!N6Af0auSaIxs^@UMlZ_DNJ2D%rzoU zdSom}@=BR9HQ&F7?&zADXK-}I2-#!tU~1c-Azgl2oE5b{{tD#0#lxxXgNNuouB^NS zlQDbto95IhoxvmYU{_8a?WkKYySF)gN)L>75?xtOL`S=Vsc%V{xZQ*H^xLlMDB9+> zSE=tvAb>yUOn>ZZMDaFfm@d(kPjH5VUgi0&)|3QujS$3#=BHBzgI@G%S075Nd3*?j zL(0LK44x}%b0t#d%x6QEI2L(RM+UFZ-@0Z|4ELeX642ztSq$RnLf3i<8ajrS@Ra$u zV}sY}6RrZvs;(P`%_nK#tO0ocyQ_>Mf_7n+>MV+;>;@C)zrfq7Tj+xaFJ&?A#Na); zh8y@7TBL)6R5Lg@45rcb+^nfldsncK0a7{c%wQJ%pqph@lr{<{8BkW>Tn8z1m|Fx@ zYB7eB3@R^8{WefUcW_IgYQtJ94(r3y*4IG@3KdJuR;2F&Ct z1k+qMq#L9Zy<-x=kbo`8jagFsg*qg2NAr>5Xof{2ZH#u-H+HwyE&J zPvDP9%vZP64@Z8qSThCe%fRxPpKoWG9*!7mW&=Ua41LtCBR|1XBLeY>G>wfJRM4l~ z#QCk3@ez=5Qa3IhD0CLxlCm}Tk3~qvl|8sygKH|+y1P&ej=5cf^pF5(a`17fz-@Pd z)3L&9$j{1`IDm?()OWWpNIs^29r;E18V868l_u_i1--`#FE2eI_2SY8^(w90qYHp) z@cPnM3z{n!(WyM;o>^dMg^HB?t9*}pIw&mna<452u;N9sCz?Uj1`xA?-8lvDzif#R zj0JCsItZ_faQ|Asw;FRn%9MN@ZP2zd-u+jBIzpd>oK*JVN(WC>rn~PhbV3x8kWWbJ$}*D?euRV|7Wr8)#t(2m8l+jMRs;wry+}^c@QJzR8oM_HOg)_5^_hW zz)cSJS5|m<6ge5X#j}^1Ra41>;>t!3MIqmg5l{6{F5u*YA1gaN;)+)7G!hVLr2heq z#MjFA9=Szu`}hRN3TX+a8kAR#c(fHo*{>u(R!Ki`i-U^FDGzZ`t9^VTJ~=@i3{$KQgiA^#q_c4%Xj?m5fisN*ZQAitCU2;DHG zRdw*3PjTz<_}dUQvU;e-kY3fkbHw7goWKfFYIfvP#rFF0^(|d+a zRHdBLDlt6~c6Vt#Y}@qyp|e%F=b*r7J9~F&18n>B-$UoCD$jY9Fi(WtTly2GJ#9RM ztZF+)ESWnodv9qYY-i}Up`fZa=Q2wS9Z|`WO)A|`iy>T<@LYWf+HowI{i|7T+H&X` z82sgw&>Y=T*qSZ+)7C>bsubtsC7&F5DeTQHyQl4kZdIvyZY(u8sgX$CLf#wdIFy)D zwbj$8)ca)Ded<>7zEJ0(%&NVf&ZRjgZ68p#kq?Br4CPiG^~98lPIf(@YLSgXJ%);^ z96VD>wNKeTq;4l44D}kStn&1%EcHIs^^m%Qd^pr+sJ<%5^KEI)Dce-4HrXW9Z>X*6 zx~HsEbgCWv*+8g9B121_EwnfbnMVV)i=+tWqfBwX6$a5{dB_6YSk}KwQ|kV zCXZtGz#OLU45?RdKEJQr{WRlI>|U7Tbn=j9_3rbI@L#J2m}qNW0qXd~iAc zG~;pXKA7`##*jg^{rRMF%`+xXV)w(&Og|YitoArxR_=a=@g(*D%q28s$fO!|zNb9- zjD8lh$xwE1b?2 zK4t&ia(=pE$hA8EymdvwS&eMOp_U8N)k7DmYtQ>tbe~PnMjVFi31t8lVB2|O#oXE1 z?4`r7OVbTQSE}Eh&#EwW3CmeBh9Re$heE5x=UEluF0(mHCNTf$XG4+Ivh#x#Oqa0S zB~uu%%nij>|2VIxm~)xUT{44Ro_;=br+S^27Twe}EN|%u?8@}(p@-G^=gjD6*Redw zQB`p0yP?O`2fRG!bXOEbVy+4aOm zIy6*WebK9)j&>WPN?XMPIp7)OW>-o(2qmy)nwpCle&%NODt6pq5llM zsJ`d5xzf-bRUkR0x*q!P(EI9aFSAOt`&fa*N<|Ev9O|#G@bajnyQ2yv2o*VWW@x0k z#Vevx>ONK|u~tQg{x|fw`i)m+rJ)CkCb3b)ger%os)b(lm1y8|me{J|LjO1Py?Vk+ zP)YYd6-n$=@u5G5ZdWP13xs|X_wA`ECDBM{Cy@0R!bdFcTc5F$R-Yncx<9H#p z%D~gDlzp=0!L*j}?;5WQwN(M0yi)e5megq-;gOo)3!EyNr&}4@sU;nFe2&!+FUWx! zj#tKZZpob9Ej(V6bYWw)!FjiG_UV?#q1r>vHIFYCRePWBDyNrp{3(KB9B=oMSzYtvAeWI`eXn1p`O@#h69T(!NSI=wE5w0zH(?^9@Yd9D3tL?nf z=?J$L>NHG9s2RP`QJvtWQHgMGDVVkrCX#C87e=eQz0xZY9xXKBsJmISd||nI)k~ua zajvC!+Cg}?X5&S@8oLYWRS3_P(&9T7;fXRDXIU{%wbhDvHqUCgX8yojoiTu@bqUJzE-Tm&XO^u@6n$wgId z=p|ueO~^$-4gDgjR^r`qe!@@qtcG||4qSP>TDDJ1{dA!4c}>#AjkN~eZguQSEsfK` z!gn=U7Z2A4c=PJmzAdb2jPPW2$we7G!`p-ri-fgIhYCeC^%sL{`Q8i$;()3(G+a1V z({=G%@v6556XD7x_42f9WuQcfomCO>x! zO>U7-i-irf!9E-&4dvFsj%t~mh6vkgulvZDB2-siY_w`R6!`9H<9&WH)dTc_@>ca< z=ojIe+H@bEGP{8EPDD)0{Pcvdu$tmySsxX!(g^_y%g`y|U~RRJPyO7*u&$+8*uwOT zP*U3lLV0rmvt0PP5*!q2sDd@}0|15rR*rdkYD3a4s?KK1q8CwblMc-ZC8AHr|7 zpMBoe=LFh5jsr%QuN2b(WWi z4RZj4zLW%8k7o+^)}6YP*zZvLbk0#3gZEZ&2YYWQs}?Zy-vvt&6|(tHJcN#%sj=mM!wVqWd)uF6lJF zuf)HGJRonw9}v0JQ7-+c4!<({dg%ddyZmp_`MSzWUX9EvVQ-cm!nEbaA|y~)5*z2P z%)VJlh3%9d5nZVhdSo^l2BUfjO2Ld>DU1$gF#Ov8O3HM4yAqQ5oa^ z5H;7~eMf1lmFvOskVA1RusY!S>}&J?cHt@!?8sbg2Th+=X^=xvc2V*^sB8IFzbgOrd@ z;O~hxGIWua%~9BuK7=LgB!1V>R>lFOM>8FZ>X($NP65!8E(3;)XqIBf`Xyy5XZ$14 zUdAb8X0ss3l?y&kbd(W-6g1Oug;i{NiyJW39b*uY z^5)j_U4v{4%tKBS*)bB4o9XJIV=aiPmif>Ukt5>)5?W^(8aA|41v@V<7oBC~A~D72 z(6J#&waN=$CGuocAU#^>p(vpQ?AQ1@kuReK8POsQ9RpXa$_L*d3SzuLX0|ZTxrx|y zExvM=2+J5m*0u!Tc_KEW#Sf^%t}(tMIW07NdJ2_EM&Ua|(Twj%S&InYC8pMs1Mxkg zM8+Dwb*PhMRnheFnQO|03#TWcuxEa}Q^H zjBSSz#HuVVoPsmQy z4g5Tq2IBb@wK+u;enNJsV(|;2S;m-OPg`HmX#uDXT)U7WaR!ckt?B4W_=o{j=n2`k#?6Rd?}! zigz$g`~#o$UMu{Je5FbT0c3rqt$*S(_3Qdykgrwu@!P})m~Q?>&z!Co0^XzQAzoW- z!bJJ^JWIZ={}tJ*O2b3MFlLzl__N;YgpCy*ahPw|Ju7nwbNj%}@x@e>dZIR|ed_G7mD zN4GCTu1r9{#0vhXIGFj~KeruDj0Y)pG8GRK~rTJZModby1e=DALL#WPn_b zKO@d!9z^-DTS@U#kU=si5Q+1dR;Xz90%>ImGDNPzdy31LXHdCpI5{5N)5taWi{e_Q zFRG0lMP8YPh{$075wn;$l$hO0j+aBkWF{UZ?f@C?AM6G4iX1XbZomhLUojt`bUNTs z@iUMSauYrT7=I}!%Z{k1l^KYH+>FPG2bt9^vWFM6S)%~BUUh{zJW0I1UMt{mXTS~Ke+VA=6+T70 zx!&5}u`}a_$@kbVus8CDV(ogffZ$F(aInXIg}s$$hz;uP1Cly5V@&2_0a8N#L~K~^ z5m46Y9>W06aTrIQBQ~uM40zR<5o4l=mBM&(su*4$5%9H>4Wu=ux|uh_7MJE>z@iE^C(FPhw)E!MqC`QC0a2sSdWXOi zU@x^*#VTP_@&Pfu-XpNA+Z|X$V^uJ@TqI@!DdMZ{jChmf*ag)Ls6MvThXsxU(PrT? z@`q{;|4H0c9}o0=>IsaGi2t?xC;u#dU7s4L*JGEE{u2Q_lJW^Lw?046x+ft)V+FC) zqLfdGhw5ts{d&5ASrM_^vLK%of2@!95AK=+%EP5)81NSYa_HN@EZ`mt17<yajo{gV7r{lfn?yryC8 z<;~9xZ=rr0{jF6ZR~ug6pmq5$(7w4XP}fAM5!MZFZrFR-8Ti+1*W~{mwU#g-)^0Gn z9Q>Sri?Jq74ZdzhbJ(E4{&LcD&D$ow$Nd4{KyVcwXmGn+^xWxo;qQKH7ycvwXIBI2 za?kVR+xlvL>a7^L?yyAz9=Ni)Z>Oup^^i3Q`apmkbNR>fh1)A?dh4UM5cUo`Haxhj z^8$V+{tvwkQQHXn#Aksb8~P&r&g>t{8{pe#{vJNxpylWBf_?|JcJ$AM9R%ZHUnc7^ z{>7&|ytN%0TXkm4hA%g~x}5sL00@RUHnr-`K!>pngO_VxFvC{HV>RG-;nqb`cQZ`kn>$*4`wP6w*vK0QaUiFnsaj#X{1`I=wAXdk7B0Nevr;)!Tuur6hCO#5oGofeRpjA=+=dO1iAQ8!@eMwm$bWX8#=bN9++_%&TBXrgn22t z+qGfzCCq5XeVEo@AC&Y`^Pb6{aoZPe;ekP>yeqD;nxkRL3*$3lG8U? z>n_~KhYa`B=LSK6m|=F)vM$_W20J{^P#NU)ikTdyu?&I3X9&ZRhBh!r;vF-l;rFA( zawcNnGx49$*C6@s8QJku~5w6P}&koffsqHG8; z!-|F}up_pn#BbIEz7ed~!etqzjjW0zvO|&|mt6V|FAJ!Ol zW&CyTgF-DoqXl;YZP>Ok{z_ci>I04Kar>jr5ddns@xc|HH}Hq?+w~4cohMWbyMQ?w z%QsOESGMaNf`0{ya?i$!D;{s?4^cZt4=r3I)D8PKwpg)KKF8CAJ!{o-@@FkBmTgDra(5@vTU zABA6?c{lt7z!ANAnQ39V%jR%2$ca-MEdj)IE^QVNN#WR;zTwhF=isbf)ATTa28DwP z&~Qy-P*6RX2^s^;&ILSScsQ{UjEW0->FFrFQTRd_0iZC!x$9dmEtRL&Vc8lnGd}#h zF)4WCTZ0U@T^+|-uM;Z72F%RheQ(_}7`x)E;KUi}Fu$=V*zs*fhKYV00!}7u9~L$; z04}jNLu1V{Br1w9J3QLh4#d>fqg)-*HBVA%#9JEI()ZWIHu zUwG!M!LltJga6;~_r{4}!P|^GU0d_*qT&h5!#^6ogA}|dQ(rxQ{Xzm^b$F$5CHU9d z@EaO?tdF+>=-kL3P1pT&-oYQm@6mIJxlTi-{S|dhHo>wd1 zc|Y#@EB{nfDnVyN)d)lNyaS!Feaj9}X@sl8sD_ZMf_L=CsC}bO@Bq2q$gw6Opj&-< z%mb*Z*36mRBgdP1F0Xs9{lpePq~O)^zeb#zGOzA?@BW0be{^2;1dL+2H5Fd9f1mtB z|A61wg{Oo+#TS}tull|3ev*E`+NCvT#smy&bpUt~Gj`>Go@-Pd;poWThPPL<-X~ul z+tblYrVyYbn5O=#&>r_JhGCprR1+TXeVWFu_PkHd(l_#RUnn3Tz(Hm9>Z^AF595tS zc`(|H%}8w14=@2Xm&K4uJQj)wrs7*odco^HXg{_6JO5l%31Pdqo^dZg?}Odb^uMh= z7f#P?9DdlO6M|{iyvO^y0}x(joJSrt?F(`FKm+WRj`OV*1n1%0rlWw8B6`|&u%jMU zIpaP;YqAeX`jBv4AJ9n_s%C7&7yK2b~ppkOq`glKimWzQa7_JKFdTpoGZloF!FG0h1xUcLlxnz=gi zp(!^6%5i@*W<2Vx=QFoQ{s0r%dR)7_^dr_mtuJTpjcj85A4T^b z*Yf_y0URNuLKM~oAxwa5JD=~!n$xebR4HTRJ*iW z_vyCKQEJ!P)bC+NuL!8Zh!v&Q`=pX4}YvzD-q$r??#% zk6c3$rCwr^Wi>M05E!gE3qDNON5QD1l!^_0D1>XGX<#Azm&Fzx%cD*F_qGxBlH zHUyaT9C-$Y`531Vof(f^w4$KQywVo>Igfh~h5EQW=6tL*2RefL#kI0yWLeNC%ISvT;e>&CM$z-I%AQ++? zT+66cwo?``bv6luV2OYs?8~g0pW-Ek7N&-U?~K#zEB6Z6QIK*Z~OkJib=UA4lY9Nu%|)6XineXRS79o zVsw#ihy6TsWaMMtYcOcgEv_g+A?!rr$T?{r2V4&gVDLnSkdVd==ahZ*RaaBo!34;$ za0z+5WkdzG+TBYD>`E%`1d|s`^N1D%JWEp!bQKrJMsUHz!^oGuk5yIRiYYJdjNpPv zgAqfYvZ^s9yUVvEHj+zY+D6QM!&TiWlFlO~{76PR(SFX-X8<;ks4KrDB8mYr@aOD( zmMT+<7F<*LQ4Bh9`rLHibk)q$&Tl=RMC@c-WOj|r>YrQfe%k+S+>`R1)Jsq&T~6Pu zD#&TX+l(i!yAYR|vvu?PmsSU!PJAnPlCui|^2s{ae(!1o$QDmMaor6$PMn8Y-0xq# z?{vXi=+pGw5Rk`3E$a`gK6=`#3;k5L+kO?gP`A8)Yjw)$?za_BQPK8mP&b`-|Bh2Y-#Z-$!jzrga&Is_bOHT8RF|GU z@U9qy7`Zo@%XESLKUY_sPJJi;qZ5P&nO?e({$HybPbZ5#OC$C&ZV^FduRo>w9SGnZ zDdq2FvggHh1CcUD4P1ybwA=hbA#?+|DV+d&M@9bKFisUc)clhL_ZiPz z4^{Bpa#;Y6pJpFsf zBj`Ha@BMAn1!qFL(a&|?+aE!<=}z~*uPy`0g^K5>So>orRClhwznXQ1(5-*2i?uVL zVLEL8V72JXz3$*LRGhsKx4ar&0N&Q{+Ts%&bt4%{;y*{NS=)ELS5;fU$g9N$bYB)lKmigIv$O> z-oLnJ9q3G=OJffrl8Jjz+5KKMTR;=B=P&+2Mkz4{mDj(ZI_hjD=;j6eNc|JKPj|O} zeNFt?(*NRKl>bP51_dp#{@|MAvyK1dz6d%*eGZM)J?@9rV8HHe@r&|9)G}ziuDCz4 zhJMz$d+y&pKPCP({sZcd{yjB0XZ=3x{k!O=#23(sk!St%?`s%m5g#)Cb_FdDCTM8% z|5WqxY~lyO-?2L&FTrFQzW*;_{olI7_LtC~b^rGNRwDuheEq{?M*8qs}ATa%Q5A)sL-Foo)Y6{4zFyTfsc08|v$>Hk?&`5Wg%>pjJYYb%Oqk zn(4DnJ#PQ#po#wi$x_gNrN$){(i8bl&d-QfOi(!mQ^=51L{G*)u168CnZN5=`|sBT zriOGd|4BazsUn_2b@nsBoHD5g4452+fRY^w6y$35r55x+%hP{>)DX|2Kq0K=Xlhvx zx?J~*y#@-7IsLC|Qc}A?y$O|QXF}0BX@6}EDb?Jg2X!7hi+BK4(_dE;bIQ3_Toi<) zvY|NLV1G+ZUaEg@TtzvO3Q8lop?+~qNosU&Zbi^BDyUKDKKJ+3RHmNj6<3rWqk>|A zPTw!D5vFGLx>W`xQF%}b>Rq3vrZcq!+_;Nk5PaqZ-Pit+8c8a*H>1)u86jZObhiGn znlGu6UO{CJxM31qP?P=k8e6KRcf7Lbh+PN;TDN2t)A^jo$KZcazuN1d;D#kx!1Ov7 z3T{WbU+wkKE4q1-CCsQ(@gJXqTZsfPPv%oyWQ0@UL^1tYSu=%l_#5 zDi$a@%o{on$p+@3b1y$8y~;VtXeI&`LK4C}eopi;|5d~ZMhh_q1(CqOky87y=N111 zLqyC&`AMRfm(Dr&dA^SLo!bb#qgx}{%iMRy51g2az!Op1VEqs(Sn{Bndyd*S_1YDD?=rzE5XtXM$?1YVXjMA+MkGE) zZI`4n`_8fYh*guPAYvl;-jNWPA5L}mRaBu;>|$s!7>~Tbw45{dO}&(*NV>*LP&*}; zn6{HH{l3+)r>S%zc#2B0n2S*X{d23zPgCDPK^9n&%k)Ee{dcWeb_DSrx(u~Xa*wGv zm-XR!^)c{V8GnZQ9?V>BM`8Mhs%2*+-Q#5_@M&f40iVV7HOJ0M{u_UR`blyT{9=%941pBG3#ekpqVBwaj;@GRYAZAI*@BAJh>gdZq%^ zD9L37VW@H_Uw1(=&NQG@V4$=dLsdY9x(vw_a~kC&bz_49Z6g!#)RNgO7c@jV#7xIZ zPLFRwU6IUZy*d>rO=5Rqxj=u@Wl89ZSpMh((qcB)1u#f#MrBL9SXdA?~Gt|UZ)ICW6>ma&JdW6HrGc?3@RDmRfbsQ~{=5rzl+?&u&-D3%q zg+Z&NVoo`Ms)csxiY1XOI@(F*R_lsR9EK+9o`P5T2HHyot>wqqhoSFve@fKM2k7q3 zq}t9j?k8rqu1xX+s}y}eR$Lo`DC9=KTB4VO$ydTAspja}rPojD!6=3VvUCWFY0()ZO4ideFFzi6?vs(|7`K9Tq@Gpnm?|+;7_r&zfKKR;{hvU8 zv=Xd!i1>*+$+YV%5+my+N~FjaM$j2k#BX#Hl5v&+qXJXQ<#g&abXqqhnPN?2oRsKl zpNokzNNpoCrL);CSco#RF6Sa*CT#579H|R?1vaD?U8lQfp9!0-pC?_yHk>{5p|~#g z5>-l^gLaX6vA1Afip6#1m#9uKXT6)$mmP)8RJzp%U8c^4&DSrHu4l(%OOGr zta5BJuvm+(Cc0Q$^g&XeY7Uk(Fb*(M$U@R`^cLv}b}P03V4UgKAg-1c-8Si2Hs;Ki zo}|XkYl$o(1Pzm7*aKM6Kz?IH7Q>C?gGNY6Y!g;H(9_7zVz`t1&{0x4dnV3#(6cGx zI%5%OH9A_F#a@gH7(CL%2SObQ=yK9L_G(-VP~9SKFqV+kflq7!dkZdQu&0TCgW*96 zKm!Sky$hE$=-C``ld+Vv5q(Hn#y*HE8$1GlDaJBVAUZ)>$v%z~4dypTWHUTTLFhy& zi;cr+2YZ_N*$gjI2s&9RWM9HLt2|pGZZVdVwxEGR!@h$HP#tOE-(svFg@We-y^H-6 z7o*B=i2%9@X*)Vq+RJ_ghSqyp_&E#+35Lc<73_LkmdaBUk<0KV!O;Y%mi-P_raB_x z=Q4aq2sBA*U=QF#s(evI9>bRufu>3=00_~ldPMv@h94;kO_xryXX2gJo^K*VO9!c(;)%X~7{+oz9j5VY^=xnJMXA3?>-SdWjhv83( zLFY;RIJ@v!YR}dPu=$y^4}DJ>z&VI7Qy*#N-({?`tkUO8gE`6gMs;p$5ZDC_i`74t zLOB?`YM`aH=w4!gB@SIIjo_r?r`2=Ye84tX%Ma*3qmd@f*ue=)a|hIpz3dO-ozRgTz3~5j0pT37(a7&D?gM{KQR`pV6qAknqb^Bf&sp=oI^Do6~mB%uY;A31isT{G40 z`Vg_1^{c*KdWGXcfDA=;Zk@Y0<;EZ-bsvcf+pg z7sxzoL()zRi{F+%rAEWD^odfR+K4pz@LVu?2Z6EnqZiBkYxkuU44-O6{UPzR+(0jt zZLB?<=AlY@*9j)PSlN0n+2-04Y3;+s?_x{2ds#Vph%BtOk)R#!dB+DcKcqag9|)jd zN^}0?`99)L#&@JUXfTdadnYXb42tmoWb7l|LkGy>YoDgYe9C_x@r<#b^Z*?wOQ?O7 zmh!3RJs(8&Nd@Q-S#oWCTGl7e?uh4%?@5o)p|X_PcWGsxj&$>%Gh#^$G)#u69Y_;> z$_H^`MjWXKjgXOQ({ZX#;_mV?D#*g>BV`%2(`inh-Tn*ui~0i$Bs)QF)BU{v=eYmM z|Dqm*mFoA(a%=t0M}tIR&>4Vy!^U0rw-sikP9AZ5OA29}4$V2)({@>&a z$WNrd&!J zG?}ut`~1rs?1tzKL6#5ytlKGn{4?O4LUTn zGl|Y46-`0^Qh$Zj>o3dZa@~pkpm|XKFZDRAQGX4bHvEXuBe@@gUQt2ST7OgK$qgZ% z7!iLge`P;tX+h`8e7F%r`pDi7uCEb59MEr&`E&OX3r3)Q>8~LtNp0u{G6Fk+ST%wM zwJ!TfSO;KewsKR5-6Iu!s4Dv@7^uR?c5q2VFU?S&tV)t%=|Vq|?cxf1=IMO`2{=aQ{LB4~)vB+So#pltt8{3Ij%i21qAjR!!-IfSw1&}bV4tdmUE~Cm{u>A={ON2I{0|{)F!4`hSBe3 z&$zLq5t{}#M1+%u$JJyVv>g^);kv`oh3Qb-p4 zxNMROA(M>g0RRTyAbA;}@^l`ALK;PDWbNEXB$$CHpX5pQz{bGX-g_?Ye7xbg{1{(y z!SWS7BJ1PUkT8ZJxr{HNS}bUzYyhBtd4~0hV*&}yVndI~K5;*g=)*~hP60QaW!GC| zMy`sa)#ocBgp3T*BsfW0fLoXOf+bJ*`1?)Qhm0hFS8tJa@9c zF-}=tN4*4dGR&2`@%+fq#$07kJ@qndj$wh^lNUlhVH7LN>#3PAXM>yEmls9OG`bB0 zHBhg><{OsC*Yo1ZiZ6QyiW(BHS{7h{-p*TmzH*p2fGV|Lg)PKfm2KgjBzGB~4;*Wh zT(h`hyybA-d9uMc1YQ_P7VM1PPrj1}PjfbT4n{OFu7d~a8u=$~4%yGNcd)1_@rGpy zX1zR?mySc2G6r3n5jR;&4IAY@@m`V>O@hIkW<)m2(-0&_^0;KGX=>251#yc7+&cO1 zymm6f6bXzqL=J1EVY~bsPeSGbhRaoi$YpsO;PN!y7qY}8Q00gac@`o%LQdsvB$!Ql zl}=>OgRL^`l+!QsoGBio!D`eS`)yJh8n_|68gk%hlDZQp7%YE7jQlpwpK@TdSnZR? zxJv>;fxLjXg_1Jbqvp3V?vVm8@$wShE=ty@rzWC}ai6pioY%$dcuMJLoTj{u`T!Pa zI3lm$B~uzlb2UNjk^`1am|x^IJQPJS+M+3HPb?s9&>sVP!l)Gc=#<8_1M!fx*>GIm z#LK2Y%#mOdkR*GS1W`)Xswh{KjY^?3OZkAp8UKbPf*5k;&WhV$|fo`k|RXJ}o! z5SK~eV9l?Y_X#8unA-F%NC_ztlPYu&%fX`1|3d+3js?8 zFjwU+{1q2qV?;2R4*7%hE#`*YgTL`Y!dQOo82UTG1b>*SaCFtW?I??~)N?!Pb#x>26RUrY@cKQhAq z$aqBpZkRleznYqD&IO$y02$1}w8@|F0;!4P0?eBlmHKenc58zi%pjM5ebvjV~ft@pal)vVuP`k$~bSR0P2}2vC@Gh3myYbUVNvtJOfcb zDV3~%r5T3h@A+laLzW6XN@lNx5e*~qem;vDFgB!@for6NgfYqo_|4Qj%X-5xxrAq- zfZ^#+e0SnYOA`1axZuAvSmZ{&irQ`|HpD9I5u|jCU2frxj$X7DzNtqaDg}Y!iEykK}j2K`vkgj4}6kdWYv=nQP zkw3s_BxPaT6@G$Uv@ENqDPoY(M7n|TPy`4L(#otyO#DFx@KwS6HbiioCbH(6B2+ zTAA&LnGbd^k{IA#jS&pcM7Df$gq9&D6=4txlE6gM+Iq}Z;uOV#sPxPUx358;ssF)V7=8q|_xSYEiMX%jpQ#`)Z8)N+5G1EJPULz*q*fLM{-dXWHE?L3*kb#xdX(JV9rA ziG8o7NS`RP)MAJV9jGD*?bj?mhD5oAhq<8mD$u1X>`Zfx0ij?C4CxAoz@BcmPgz`z z2qmk|a7i&+=#l|(L|Su?@e*idHs5KL?+RO}FvGRzLWO=q@iVQ&pj6uX6486K0t6R0u!FboVqEA|Tuz^X>{ zgl^3K2?mCA6h8{fG7e2vOrXBnKf`*!O0-{utPH}WenR)v{ss2Y@UP-Gp(x|t@pV$D|c9N>XE5759W2 z=?POzN4gDSCJkZ0K1v~+PMR8bOxhr0q+!fEMX7KfyHf9)Bycd?y4^3x`9-EX*SiXXkg1?}Oo;ocD%PqNfmc?LD z>=xA1v!*?#Bc>P*k_}^4Xoc_SWz$I$XF74p;=oKOz6y18 z#dOPb(RAXpWeP0FoD@#dr>E!6@SVZ4vt}4)DreWZT!hSsnvpvrd?tIAagK6f-5ok? z25H9B4DVUw+1U9?kGhQ)6K1exWK7y;h0QfCRIaRpT_nsf%!r(lI9Z*si=CECiUdqjNCoZ^Z zESQlyH{6xI(zsoDu1<21JCp9@<{a+E_BO(mX&`YZnJIM2bq;rD`+`R=ttg_ij z^QB9y>#*M|3x%PV?oIW~7R)d7AO{!?isHJcOPRCW=L9dHEe+df{89P5F8)&KtoS(< z3uw#20*yzM6?Ms%8fWFr33j1*h6NdaQLe2+T~f>v%_(+4dRc?9NlJcQd4_$~^c=T^ z;mg^ZjmMQub=j97PEm7n7lyB3Z#AA&cGNL0A)M%Q-CV<0vbPz}DF3T_c`4CJI5*cd z9KwbgQA%kY7nJ{|=eoItd$YrgIHkI-{Sw0|$~kwow-0#-c3Sbd4v|sml;SLRlloW@ zShCVor@7SSROX!IF7>rW0MXS}_w|y&DZp9m&hukO8R^Oy^-h;vX8X;{9cHW|?*cVN z=laE$17;`86D%rRO^(K9Dc$Q=UyhkwFfVd3ZvwW*I7_*#K7^h)TR1OwakxK70tYA| z_3+E2*_L@zi@n#9zr)^9`q%HfTmb5l8B4s^k@sUCC*nNee>nKIrN!vp1e)$qsA)b>H6-=FXtq?h&_2h>_j6=i3NUX z``sUr-7{5l zVip!JM{cqHhHX*ifTC;E+^mJZE09~Qzhm2!59)(5ljpK#<*o=1WuG#3Dhulonbf({ z3*Ak~4o=3-nUze=`SQ?VbFuj)@`cFiqw zO@c_FR+Nzp%7}!_FLM>HVhFOAguyD5!um^@&dy$Lk=})2WE@td6xI7&^mmST1MZJI(kBjP0$vnBWYXhxT#o2qPLtl>POrOai!5>3tlCFtX98 z9IO{*-g6FdNBcU$!!8(CDnHeK$gFfuahLl_Bdk=cRY~uxQ)RY0m$=9I@gmvjM!V8l zub^q2d))idP|bSubPf4!Ab> zTroH@7P+ks-_5>+nLpssu<=U5Jl3K}jeU36HKSg!qG9_L%slNP`D$sjH4D3FV0FWu zD|zz*7Ed|2-?DEQJq9*39J&Ir9$73{Q@DrRWbhmaZb-h;I4^H;us>~YSdMY!0JH&f zMK!N$afLrECM?hBI}q7Gzv49CeTna2;&;~D*ihxS4cS*9^GjxAto7bUzKdNqaG>E4 zxKomrOs)0aPri@cIPg$VcID9g$|dM^j{RZzVAtm_4Xi5!aO>2sa~!ZSnGZawdN_9L*_@N`4>m6!9AJ;dvIv22DBHh^tV0cE7bBQAg!$1Vb2|Bm{jS5))6 zJSqZc@nI##$bpQ8=_^hP+?NJ#p#2c`)VO=#T7&yl{{`_&D>l#$hLvJtlsOHybi@Ms zQn!uaKeGQc?i;w@5O_6lfpBT=#_&Vz=f>E9!UhB=(+lmB8@+!b|Ajp`P};EXY5}O* zXME#*nEW^P@W9K4qgPoANXw?a@je2u-j~XHVf>Z$1trVk0v(~`a%>_vm*Bu6)81wB zDQZGkr7>wh&_KWHgN*US-c5()cP9iQ(n`+xQcM0d%6Wl zKa;AlX9l_(&Rjj@Qt62fa{Lm;G@cviZ(v;|xa7^02T2pHEG%|lprQF{o=bpNQm_Jw!4&g#f9*ath=z(0ZRj%u5u}{6@`Fd0~cfZ zfTO{F)$TIw<+eHeS9YE8(!j&I`PaM_!j@-j_C8K-z+N555qezzge5Hw+2=;Zoh_E2>aT(g?EB2GUg4eYK*>?y)b4fVr${=NpwJVSG5SwXyR`*Fw=mY-r&ysT0c> zfB_;~yRdhKAha-r+=VR}h-$oaEpev%%HVCZ(_!z7e+=wx%)93A8o#n)8x5?x09A>& z#*%B%u6Zkix6{sseK7t#aHO#kFxy=#E4I^8!+MPs14)fuS4-wiuXKYtj*vfMUxD|j z=-NHk5C|ITI2YD$tR6Vq*n16QJq3|Nr6{WeOHp6}#N6)cwJZ`=hz8e^+JTWe-8BWU zyNh8+j8%>m45T+sUYmAx_Vx`!g3mR!Vc=?`YnGo|jCXMu5@#L60&cv~Co9S=%i9-@ z#9P(awt)wYL0QReBJW~2l3*ReiU*278;9=Z?BlxwnPwdZTX&u{#%7hc#rPEOK%TdL z#`X-*%Nvhn3Ei@Md=W^Zbp+c#P}7LYQn-nHiV;YXRgVSNvBvbQX*XwI-*6<^YQzo> zG&kmCLENK!D|UEO$fH=zKzrk(ESNjVcPiZb0(lJkX`s9DMOK14%Qqv!n@S$X>Oez~ zlSOj3_)bN5)5un=X+YK3npNNq^UH|zPA5-bzYct9?8{<-2GdlecLv#kwGEgXKY{TC zmS0AcH=R6%ogAv@X; zRwwP2Ua`){Egjt0bohGZqLkJ0-O{U87u@o}Elnq{cP%PgofIv-W_87R55k+yUpFk$ zu9kz&m(?A&YH(N6)$8ty1J)#cE4^-Aj9WXnuj#?{ki{u$*C0=VI zzbm}Wo;2D?!+%Nq+KTUJcf$NZwJf*E??&{JytTpmXm`Wbnf8MoUC50SOS;xp z?4#Wa3oykE7B@xR$Xw#SE_grfe%MCSkAu&f;%}5LiCQ_3ulM~P`Ovx<_uF84WA+V*N7VY< z@53Llx0+54b~G_=AUx>n-D1NZv$x@-U@69n8wnn)^%=3=3^Ejl8k96~Zjd}I>!)J9 z3&~+P+@K1;k_8^HfQ&frBJvL0`N1z>sXGgF6Q|<9Ct{w7JUH5T-|*5M)p#_jd4Hn{$%en z-5cD{eCX!OrO6w`Kk}Zj510xDH#eWS*}k-7W85L$b9StWF&NfNxcOzNVx#yFuZ$gU zDjD3_oO#n_ncp{YKk@!zA2gK?e%E~OX5g~qZ_p8iFUW^LBQ(DG>CKpB1>Zy-F8rH( z82558q50L#lx4l&Ooh>2h9#IP1_PS-H|fiq1AUJm|FQmzdkx^H&YLC6VgiegAj{da zOf?`&DY?mAMh|pL2(MrxO`O3rFyA9tCJf9?2(M%(fiecI*?!Z$Y&y{G=kR~oznba? zuQa=4Lp-B4<^CN0iv63Zd2mhhtE^B@!#cNU-YfPAlW340-n=?H##6gK_$cjl*hy0x zXwimbpYZJ3RB@D66_#QW4;D8^WoLT22L=B^s}4J3dO!HQIX=78Gd`%|7g|kNs;OtN zqB%Lc(K9b7IFZH-Lz(&qna!ANm1kE_MIwzAhB3(p1dYU zgWZzCd2F)DG^hqN7Q;&$kb!jY!Y+WNFrS-yv#Y!?A^Ic-KkPg3P&GAcvb(%WeB+XN z0(QE|K4@(=XMX{O9&s{H$fld72WPZ6-Evv(w>j=tULE_A$w@V@#p71s^5o6pUwQTH zOp~)}QH%er1ItS`#~tT2u&26*Y!)BqHL|lz?y6NSL0MVLy|zUDR@g+o zf%8xWw0z1cT`t;O{2Q`4%xqky+SHPGi@Th@#qC6R3;UL7g=$+%>MhA~;TA!Rw}_kz zM)MFYlv|eNmMv2!yx)*-<5sJpTW;L)S^?Xd@w<1cb&+YUYJW??t?X)s*VJck9%ApSqEbYIr7p5Oo&s!i_B`agL7oSCbu>OrZqT)6; zW?L3xw(HM2K7{>aq7J@l>AKmzvSfQ)DzArKZc0?KTL?K{Rw}lOQ+d7YN>j3`t|c=k zWRVv%@?7CZ@+;g4m8j)TP5>kUDvqc1g;fD_L)=o56Aj6O2BT>GVUKWURfS+;JrR=P zn}PC{keN7;UuxmxkRTT56w3Qb7|2Da23tfq_aK!)Q}H~|Yc>&7!(h+QOGrFSfG(7U zQB06QU5hM72+4x^Vvuqx4|hTJwMCbsfQVql807V^UvcRwJAfoC5DRPya}yHPn=?S}qFB zP4&ir`eUJrU2Do!`HG@)Grd!``{I#m>l@r%)jCmZZi#mcycmzvSle*TOqios%X)TTrVHkj*K+# zPu71;f2#J2j%J1Uq=2ZZsm zFVq(kt|vQ8VQSMG)m>3Q-XY)0@TuRVqgD;BL-k0sJrCon4VP1-W~&zWR`pc0Coj)8 zAR_64bjXIdAxh3`^v#P1rt+>@M{xbB8d38NiLWps zml|$i>rFD%1ra4L8e)jhQyrEtqe%&n`m8(;zmUk{-BPR7gaa(G=s{kHUrMB$Cbe13 zxM9^h(X+gGzp_YiG;f0a)$~PWYJQcM;@2A~NSBhrETGxs(ag`I`#DGXf(Mt?3QT2< zs57s`FD9xu1377(z>R};lq^r^7ZBt|51(Q?Og7b+Xga&sj}?_c_nszC;eu2XqS#vo zKW&s8#8s@*xEbo1Z|2-~Ulp)3>7sOoZ6dM{dtBwV5&(XI7N8i-k#;n%vmS2^+a8{T?)YXmkx3gAz zMMqvMTu51g4^^kUd3U>Pbwae@TA?cif`_RwZ@RM@SLa0sXVKi?KBGI-w;B)Ll&ls; z=Vpbwb9_Msp9VU7_SMtTZr8&XaaN7)QeS!Fa>suu?Awg%-is+~@O#wRZ;o9LU4!{n zf8DVdzIOCG_1!lCcMh$o{1$z~u>`&z-#hr|&GtJ^%N5^>Z}2=g0i*HiCvT$fWUosb-aA$Pm>7Mo!v`KdN(R)X_D;8dCCD;4eBqI! zH1)(A%N;Xlf$H-de(;^67uB;`o$q?A4fzgz+p!A1d-RHWL95r@(6yNF^tTAHo$?r)0Z87-U>ea1#?&hrx*q3xyy4JQ2 ze_y>3Fx{1FQ})U4O4r#A;2)~Dw4S`%wYF?u(mm;VTP(g1$oJ>(8UU*!2carkJpPG# zSL@Zg?&|{fC*7BBupPwzsovN6;BLsel>PGiQoz{b|56`peRel~UD^I5pw`--MH*%gT-N)2ANP>AnR9%!QGLBtcQ;^t z!uJB8$5T$=Me4lP)%Rl77knT2sBkOgB)(l;(7NSb%KBbl!xx59Qt(~slGa`KvetXW zMm{dwMmdA;R+qINyjQk90m$!#+bOB|UUg;b@p~cwy+<+%K_VP4QL}*St_4&20!AT> zg25})Lcq8?2YAIr78Zt4aCntk1l0C`fP^?fVIiDC!2cg~P z{_0*zKyRF&s1QLR;SFk^Rv{qR-Q$CcY2k3n=%{+AwF`*r@$nVKvH-XIu^Y3Cd3V#qk;{iS#Z&4?=)!)zB=yfRadExhz zNBB@pO53~pWg8O?37!|mQWzj`f@vGLFWOjeD6*_Dj#7k2Xh?0Q``V4*&o83^`g=4| zlhHPP-{~9opMw9Q0qJ{mH%RiiKk)x1{wKj5gR0ZO-~v~Aymf^T4lGye8IOaUmj=4IQ_ z2dr;MhxPXzhvEN>{;YZ3mhzzco65uJmyRRwiczGd7W66u*J=;TUrG~fmH1yZ^=(%l zxCaItN%}|nv+WfCwOiXBJO~L)IU@f@del~hKdpJ!_Uu7C;Ifm-rN7u}@aHsrZ8f0Z zsXZbumnPbtk76{+w#Enk0bU7_0K=wm@C0Ctyn9d+uq&aWl9mh?j%H}4+NK{kZF2uP_+Q$u@cPlqAj#;S@4qSj=i=MQ zUmH(L|_re;}tP=4|z(a*)NkSA;{_*{)odqh5c6L^EX4hP2c z=pD`4_5=BhO;Ja40V&OC8+`z*>!bOsO{Ak!uaRru9itC5Tia6r7+rZ3UFA5%smB*; z;9$>%VUrg4(9#rJ7ygN6v^6u|CCCqG(7e;|H~3ObWm{gpe^C4{71gve@NOUm$F-N_ zM+fEo5?n(&Yr6sdx}Vx#g3M*eFBvu7sgxdkxh4@%UL+90oT~8#lht@I1>4@5Ul0UK z)E79;!NG8l=4^W}z`ihvdZq&fmyWVE_;zi6H(;63EC(7cALRjs*^+M#G5~bhfq^SW z>ok|!oeMmGv0U+33hFNSCe7@2kAlG9WI!tOa2(aBNOQY=Uw%w*0WuN@$`tSuH3jWk z0GQm16mSX&6yPI+cU@FLX7F@^Z!I#-HjIC-dDb2aIOMWJxwYZvIiE*AXh^L`3s}KX zKk928=iwuxA2qMr=iKiKE<2XQl@ck%qY@1pV8>sA701L}9*JWZRcPvfZR`@_msEVa zkW4Y*!MUgXPC)>mj0LH0d?3miFash?OzKFA=>2J5+0ockYUY?4yT7MoBe)`tK(hd08@BqUWdoSz|G0O zitBinIDilyTGZkHP!Uw{Yh-=lWy&1F|Ha@f4^uYx{wk<1%(P99x()dPAUJcg`|;og z-T~V@!jhqN9kCBf00&&$fV^s3093Z1j$;pnK>zh^L|(HkB&;0T-hp};y-5hLU+tFkHAL^A-*?*T{(JBn+HLqS{{N<~>m$FdF~9q=!|!m`nD-3b>VN=3 zm;QUjAKrH?=CubrN>%*vds3_Pu5BIR`=Li2+aF=JYJZo5u&^zF@Was4jy;d^ zwg#L`0v;}9uKCbVSo^_8Wm^+Y3fc-EPyl~BRM}B;zj13G0N-i(@F4RqLv$wKZdF^m zPFA!d*V}>#Nkf0NQ$gZ*`lMS&_(RTS^YNi3fZ0MqqfX^^gg@eJH7^=!?|204TGFYh z4)4d5ZRQO_?>ovKS%S(=C3Vu$Ior*tLmxX-4^u)zeyixDG2j4p9FleLAGL3uKIH~v zT27c5H>B=pf5ZsY#$|}Tizoo19a`Dm`=}}ulcE6KU49Z_6&Z&oIe!Ynf#c(HVf#k$mh2236H@_7t~_~z+8*Fk!2j_Xwgu3r&mGh zMgvG-JIde~{1aevUVZGoJ>YE8e~x_4L31gfTJJp$+@5?^{2%Xy&6`j*l-yAQWY)a1 z!C(U-hk*Zk=x}HG)E{jp@0QuLtEQI@8xY5A>(>@ z|8S0)tA2=30QL8o)KSE48>6S!qim z_%DGx2%Ex=6m2J1rz^+TC}NImdP$T{>!=`KpwXyefJP7j7+Tf#ZP$HG^X69myv z9sp2dpath5`wGEOIY^Tib#U(`Lq)(lbzI<_B4lb9op1&TYB@L6=M8vM!n>i;&V7sm zC=8X+Pg@HIn(5Hroe7L8XyqY!zZ4A85k3yR>O9Hl0#<2~M9Q?G2p}-td7fbaG^t$T zIL-n2gQ2?4Ooj{04;?4vu{k)iYUoYpJw_m`>$m{GqZ9%`JJi+rlo10fK#PlLAl7U? zqxsNT&Paxd(8aRwU=Go&1FYz-yCjego056+C_oV%Qgya63SclyhTNM^xj^_j^rf>8 z1p7#sDY-W=LJ77ZbLS^UFG$8`fG`UMgh+<$ou&dai2msn4k7%ad4_hD*tyUHc%Nvc zqYi%AJX^a!>{S@JCGSVEl2>ob#ye}>#j6WrfaVzqdR!FHO453XRrgMWbzv(8XpQhJ z!mk=1aYP|K%o*o9h-|W5CoIvf1Nr-suozr1kT~JjNBcDV)`Y^UFbqyV=xB!DGB4L| z6{i$-hgIUxQg1RR#|#0^=Aj3SOsM-LyT;Q=F)@U136{Hibo-isG# z3fn0K1n`I#*B55Ny#S?*%!EHOZ`IOIiMt9*;qinDAYQ^5W~de|RuneE^9aEJxP$|z zQA-3l9u>TcPyswkc!@bun<1VqblTyb77X}GIM9l;*Tn8cT+Gh2;$h@F+aH9z+8nV@ zQPhsCG~Z81fKw9oYafV%ijsGT(uzMJfkjD((-w&%is(C>&-;Ex0(z40qxKmXNGRD6 zbG{fzleWJJN3`YQV@1LpSpb$q_SpU*fYoVYRFPtb2so0+URwnrNy`_f7ftVQ25cnq zqwQb9Z`x*YPLUrX1}KrpKHF=cV|R*+ilP7t=?jLbY}JIb+7IILqGUio7VD4_86W4K4y2Fb7crfX8AGjknbT)l(;y0naguXdy=~w@APE;za?Rmdj@VqJ4ez1?C2^YKHWoh2d24>E{kAI`pomcy za>v3yao(GsX}<>sA|ir*!R>4KXU>1-7uufyd6*a>yihUX{e{v)DAy)-af(S1mJ3r~ zy+B+g<)8 z2O>*oaX=R2Xw2=}hh3p1sgVkr7(jv?t+`A4q$|24JJK&b4!D7wPv&mzUtNbvUPdOT zizj$rIbY1Z+JC!Fl(a{d02Poo&e4Il6srqYqK)iL7uX8{0!RQMsIE&T&QV?&k&Z$u z1r#&2qOO=C|ETzk3J1*wH=BpR1WQRtbW~nO@FZ;l{?+_h+tXE9aw4iLqXPJSaEn>5 zm3IljZ|V%VKBU8DC5(bIT4zZ~R1Cd%3OQ+;0LZJZOI9L`%A)&DBc~|O%r@;<*OwAW zl#re~9X`#OGEZs`blFNu!wq!(v|}1RV{FFothdfjJbm0!wcSe0Z0#X zQ9omH=8oB8^MIul@Z`|W%8Tfkle2aJCU5w;c>5E~PVGhcOqtV!bK0We)o=Ga$=exl zDQT8$_Qd?OrNbNF9)3~@uvz&m*_;WNwB^HF-kyBYwX^I}l9O!igln2Npft}vG3?ZW z$g<3N!aeQ(fZf$6?z;jmCjqZ+VsYBq;eBr(JPFyAa#=oGHh;n+ZNo7A;M-?U;&*k? zk-&7jurck>aM{~~Ps?^EToo)R zT6Q5YEn&Fw?eV7~0JcTC6nS0$+OulJ2!5WGrb|05~?MX!mQu3)6wV zHul?a%iFxC{?YN*Di)@%*b$ocOxyXk=xG$N)qGu#t(@4Fc6Rs!m}p9l7F{cLJqDS8 zrlE&x-*Ul-)ATig#oPNrSQ@C2zHNP40A`*9Lk{m9JI2z6KLZ!7DjJiecboLt5k5v9 z9(}8Q+8te)g?69x-4QuP8=iP;d1{U}Wa-@}{Qz=yad_4{=RZ8Y4FRUvXF{;&Tz&+EJnGvQ|MwbxpE z?R8_bKJU+2m&J*@+Q$q`MJ?9tYWlvy@vPY^cNbx-Vp{(a%HF0)6|QF!!E0Cv%Bp@G zWq;GuiX~?=7d!4IfZJHnm89KGjuk7;<}MD|E%}}|gXss_D`Z9Z+0w;XyRqXi74H7J z6HP{0!dcbg(%t-Vc*p(#7y&R97`_3l!>oV6{8IEgmfK4ry{&g)RbI7 zJ<|w)M2RgA$s|&wP27s1*;ZiLg`LQo%M7QKG^JIH&2|KbF3CimGc%G>+LT!_75uoe z_F^aT<}sr|M;29q%#QRy?&VLygZ&nzyopzV$+lT+-fJ3$n9p2Ksc6aux2-In+}-3K z2j-)IA>MQe%(V)968E+LIN*wk*S!WWEmC%sk8mG(vUpN|0_9!P9k9;Qz!0gNtZ?g> zX;n>kD^jyZfm2q%PvV6|n{*9Lk1OoYI^seyBw&oy?+>zo-f~{HCoV0+4uMDYQz#Z6 ztSi|>9Ep~Jz<3nVbZt%VDnwv=WzMj+!=Q_jb)8M`E6PCe=9!schrtvbPwH-Jsdxj@ z0y>ylA+XF8_ztVBP-n|=w#j7s0W6B6GdA^C=(9r>H)bmBc{O*qI&;&I%HiimEw$et zFh%@Z(UYX%>OB=U=cX@p+r^)PG2Ypx8vzbglh1i9l&%-ls8tDauz3w~2>2RPFZOPG5o3*adDJ*h&4Kpm131)v-4ykr$~5qbLLMalJg^jX zQ1`QX8CXLVU`Yp+KP!Cu4^e(muc^pB=jSUp$p3){PEeHD>X6E7UfPl;ME!FFK)1YK#M0r$W#Knj8=T%u_lNeC=;M zSLG`Nk>Ef8>PHG%&8X}?rvcL@r6Yd&c7e`Qy`^$^&ZuSfhXcT(2|8hKbz0@v9LHrL zhb6!8Rxr!8KI#l`WO78Aw^+}_1Qngr`Kk|B&dym2222?3+73R z)u@Zwwd&iINjWXcR7c8Zi@_^NM^xXfOwAePXMYqsg|~(Y)=28o$^$u$ej!IC;Dp31 z0DYsZ@=Oj6jE}H$cwx+&lsL7#@>&kbPkxkR$6kvn)REQ7N8`i

K=d8a{FTebH(e5?&(t1Bdf-ppS@hOUow{$&MX0)rA^h;^SI?% z$FR=42IP(#)%t}g*+7DcN-2CY$O!E;Nm|)VQ4z9X*KEz*hgzP%70rg7v zxY4bm0FbMy6XmXApmXYk>UC8m=hOYO=-36kcqSO`s7X~7=X3o-PD&Q=z+Z<_s7|b^ zJ74ObbrS2wBQq6%TcB5Uo^J$ftHg~5>)0t$H5bfstO9ILVZj@RSx13YLsesQJ$wRB zt(%nOQ-3s@BM|v!^c?o+7&sY({<5Jp-c~x7?%v&8c?x zfg}|8+NjS~;c_#VIr0c7w&9LiSEasC6`Y$FK;)I9#MGkmNpf(l3C}GJ$l_r=cr<1k z<$2?+swLT~fKo82!PEQOp#~LKv2qOoW}Y<~lZ?_P)u~IWcIVm#y78SR4J4zwbnn$q zt3u8r14(=(nmrpvoJMe*Ig^VERMDL5Y3`xGtmEyr;*_F3omSmcRh63;NEDP~#cXi1*Q+&Eb-AVB4ukdN zahL-XgIZtJncE0vFcME5muaS$)#j?97p%bh1^XLs3v(!Sc(c{Zu@@Y{>P7M!Z!2>+ z)vDR%H!jRmU{^M&C-Hs_p{viGB=b}s^F6Pt_Eg96Xx zFJ&Jn_T3ku|FA9QiIs9e#BmJ|etDCR9#9x#KrR5M7VU8C4+8qj>BXJjNf}}YaeweHx zr*1r0jIb^mg3LMA%Q44_=5~jJqe%M2$-$oIGnQkH7lDCD^Rt&HLG8>vZ|#pcQ3QS= z%`ac(U0fS1J)hx^IavhuAkFVyiZ0r((4RN?BTg|FQa3d>fE!3wuv;!C0KsFTsMO{b zF#jkFrstXh5PT+@y0W?JW#h#v@cJMJVz%^Ss42~TFS{>lf*U~qrx5geQnxe@tsZg7 zW~C!Ic_>czdr`MHe^WjF5^^O8j5`!(`n{>Un#WepxD>cD7koMtXZx2>_kxAI>!rk% zjbO{6$nM8c_cu?iUUDfDTsR0pigW$G)Wgj)t5<>P2I-Av%)Kb_ z5uY#e?>^bQusR7GHB=YNgT=W;f!%`U->Or=K*Ro0z)JCjq7~iQ%}c8fU7Ed$c&U6P zVk&(|EB#^ATg?ezZ6RHimS-1&*jMyN_nl@+^_&axRfTz+5QLCP zpo&5NH1nbsj4Rqh285_}-FKU}RcBwYS?zeae3kfW5%^Rz@2Vb`H+wbla`_tZwW7%G z(&qiu)ARgR3oZwM3q?_McUkkXYL~pY)vC+oq2hufQn#%6bhUS0`fB?t<=(s-%vfqw zb8hvDyj-x9kc9DWGJy!)ECdIM($!g4uxoj@m(S0rnB;15AnHFKra zTl1_!Z1b^y4D3d2>aK5oRGpbO9qb?S|6t!i!84)e@@fINJ!IxP;n_tfYIifx%Y|U> zAj{9kvqdO+cYCw4TAG&{Vk2}Su)(^ayQ|sh zVkAXi%m7ATEdarh3NwfpX%VM;pxIb$00F&OXuS?|w`fcE(3Y>jWnuCf&#M{hF!z|7 zs3TfNy_y833iPYxO9t+tws((g`Tmt7cqj<3lEVk?qjq+G*AiLn3YH0tSC!$4lKwR6 zn3nEp@5||H?5_nxh#wT~?jG0jzIp}tA?PpVN3b8F(z_>sOrLnUWKHHZr%3iA)V}T? zTNb=Z1h)g(wfsnSDJrwut_2I`2E#*bt~*7sA2U;_(^{6i+6P_+x%mVf;tBI0bw-Qd ztK*m5z`DQ`g?Nhkx%-!vpjWw*dknvZ5?_Btv|4 z4}1u03$QV~XUyYNmlo2iip#m7x##j@*w0ZXfvZD)rMg@anpxmPVwa=7r&>$}+Aga? zOAGkmA<)mKVq4g+1}>XJt!~(@$G_-5O$F2ISEH}khv9DU!4RPTEY$}zrHCt@VQDw) zfd5~V+3nkM_|@zyYr~{BGGZ}RMd!QyTTX%MGSaRml5= z)O9WQUhTMIv)1tzAs%s|=vsGV%i~vvuFPIbyj2c>$D)F6QcLQqGgokHvu_UAsbBE5AkX1l-RqD!E1RN(@wet3o?6{$2lV_&vF!N}oGC2w6xb54=MaQJ=%u zSA9jemQ<(&!F<1nnhXnYs;`s*Gd}<%vPI%1R_v8qVg&21SXAD%x7 zfcOC$#kEEEx>H+5%E#r;h9&9c8^v`+CEaN)W8~BG{Q!3#ut{8B^sqac zwqz3z7ViL)!Cvl_Z~oopj?-rLd+4SPw(Lt^mVYQre~G+#;5`ap_ARsIA^8O$+-(PT zJqmv3XqhJ`OGoQ!OYtJzx8W=1x11=}|AbPq$>g+>vjCcPt`M6!0~I zdalJ+ek31>Clx6v3U$$HYD`O@{7gO$xbs*lubEj5D2NdGwR{pj5Ymya>+~S<^A?MepFD4+XgCHF&8g zgO1S@DZ9mhh&SXL@M+hTD+e^F+U~n8+vHY2ghv*WlLtCb^)M82cgt~?W)p}&fERZb zHFTG@?3Yg$`Vj=h89qGtMG}}4S#oC~i6AeQFnGXsr^3ShEZvfUFC#(Tjdj<=mFKX{rv=qx(z-Bj# zty3_)MIEpl+@*TA(3a>X;iMq?m|fHlE%18@kk{!FQwpM=siUe}s^k}iA;dxnhm8QP zI<>8(Mt(;~C#o*Bvj+^Q-tJ$T>*U&tZUkGvsPl}>zV4dlk8+vNEf^=|bMOQG{ZtDz zT_KbbWiPF`7!xyw+6T|c)WAqDlybNTGt&e_e}lYFs3+>BCazeI8qzbQb=YewAfO}f zlD7;D@fg%0qM2z$vuU+|?R7N`=;hdLysuc_&;nWlw zEuP)zomC5`sS>yJ%vMb8FP=va2V+J29g1fpWKEoWYUyd+V9kORi-`I6froQT$+-N!#0e;dSt}ya?jM@;zceZ}$jV z#=az8D~ZT_=#@R_Ha=4BQ%p9v(Kfc$y@vIBk&dN=48>0dcN(Qt4a93f7_qcGLyQo4fXwxzybb`@ zS*6%ao*fHAW3~3Y(p)QBSy~EDYb8wJS+^Qq_g$+B72Hr};*S@3_HbJdR}Z~z6=nMv zyPw^T^6J^v`t=)|>(iqGfmY3)>fue>*E0Hz=!!>_;EriOVj2tJ)UD&*%)EYbo$xXF zz`!&QpPs#7Md1eMY0cyI0|V1NmiA19X>a(Iv?$vr*n_;ES-!MGt&VS2T+fX%pU*$Y z2C#I`(N?E7xJ%L~&m!wX7zfevp5v|a-^5+70c>=}A&jFapoiDWMFVlb5M_R14OD24 zT3Or-dp4lD8&oe~PEF|SQ1;m)rXZ+)M7efrq0#3#haAT~V+nvDA zH>{^wILZD6f*9O${t3LRVFT?|>y9pX!=OZz9yI`r z^9t6Iq~#erjE9KU)7JX#ji`V{GM8KPF=$b8PiO1xTA7_2Czr>|A_rUiIBQdtJDhDDs7fmY)iLxF*0mRSQ@ShS^QXxmqBN8Omb-t$Gq zX^fX>ThEBL@7_)Za4`3U^%=|}(e|Ei+I|2|@Y?m#7a3w6<>y;}w6EMf_356uGo4ZTsgo?c-(i|}Cqxgw#AcNToD(k<9q5_fw)E|x8?yn}TYgULD>~HU z*!KI|Y~b?>Dg$!F%S1EZrhf(!*7n- zVE;1Ug7|k4fO6Y*y&ZRRHrQ{LUl6YlW%uCP_P?Ee({F(w*i;LU(~u}$^%-p#Z)TR9edcv#?})7JR5 z;%07Kh+LA-15hlD-lhSiS7}@pShMg5EHRDMrhnTBKVHcJ1Ir__u7Q()3DCOcI4f}P zzytM_wykYM&FEY9fN*8x9a!Sx;$4+Gf{;-YSfzzcF1$0Op)_ zyv?O1_Ldy@tNiSN7?1LvQ*Edk`Ymm|=1qIS0LkM;&*`>BKvx}?fP727F|b|~PdnG< zTXW92{#oR4Ar#DZJ{+cZzU!)0v%ToXOPpbwuRR` zyp@^YSVOp_0PZR6Mq6x6^(|onsYZEAkzlBy-EP}d^Wl~ZsHOzqavBu0;xQ*DU2hl05>X50$$boRzZzdVH(gyu|+(vD5qIqqALn>$sr0!k$8be3;06i z*ANR!$e9W!5u4@#sL-}sH3bDKa;btZ!qW}yGz%G&U1%m-0eT4!AW&L;+ryfDh4zU! zCBGOCP$1ezxR#TJ9*JC~HDEqPz`SXDS(8_|HZkorM~q;xdT4EJH8pn%=>YLGi4iG= z&Yq68`kKCv_ZnOdtCVsnNB>nsLn{WMq-{n~c z6=sLW&7L0sd>L}PU}IukJ8&*NzN2q!bAA_nTedM5beW2shSBt&+TFoYNdpv1Wr-rq zU_+nM?)7fRZ5x1A5*{dad35#MXvMvIQ#gH7AgJ5epiHB0Z}Wf0yX^^#O1p>nJ%%6X zv)WeyC5#A2O8!H9x?utx(e}qX5n#j2_0~Y36oC|{J?dTA?UNvZ$pGG@=tsS4d;Gha z+oDa}25Z1eihk0&w^QD=+^*RqZO8zcq{vQ>X-|1)xNX>!R%t3l>}SC``S#Rz-`uf< z<>;KphyyGDMYgBEn{>x*GyT2Y&4B|RKkJvai{8w*69`;L!V|?oL#@`Y{TLK730C<^ z00YT#qzASO-g(_g+id&6=`#DU=oBreJqM_dshd1MWbhD2Se9j-Ry84a3N|MK;B4TC z2S6U%ufHSRsoI=aPAF3xHOv9s#hrKlx6)$dA0)tZWFhIvZQ*a(cUTGL57y5x$3%1W z;q4FJr31pz^JB&{%yH2?eKZgoMYr6N=pRkb5GPpk=@vla#XBLePKWaxagw!wZs9TB zxkFFVe>6QuoMJ7cTkwld?qmU1jRWf;SSY%Mw)o~wVG_O3RF2@Y&~!#SSNl$VN1jyJ z$dMrcrU-6WhIf5;^hx?glMDguL_HqZiB?79D99%Ai-FS~i}c$8m1tY!LP>0De=%^z zW3hf$`}YdRqF{=!iCi&o*271?7aX^|DDDu;1wa-;V7L`#1>VPVR9}6Ic?QV)qMU50WSda5^4Uc;Gz%1kz z4TlGzPA}OPJXYw>w(D#50iqDs%!lWEh9LU+c7Fx0$dj7ZY*&p3A6WXO_Em~2MMP?D zc}6uRPqbQp1=duEin62i&8BL^W!4({wf3U7rA69A#}@1}#2i*Ay`cTU8(C2{&;|2f zv9EZn)!%AI)KuLRQMoM{j}iGSuvBYLQUu?wq6%B=o-6VV?|Ve;$qH>z3su!Zmhyxw zB3;_fRSXqb(QI3>uX%t9q?fd(DaMK%X(6qW*Su@2Nd4mW428YOn`ZUV?hPJhcl4+2 zM-+2JAxYBK444s#z`+5ye;y(h&D?7J7IQ>m~Jn9djtS{q;};y#T`Qu9c~!#_5$g-?F0pzETYmeZO7jVMTU)Xb%p{1sp;F= z-zh{Q7Tw%lUWOp~dfu`rdgoo(O3b`mP0qh@+ip3&;=e2hz8boDu z0U(aV647wzQ}v2YQ6pWhk*Ii57NGIk&5EJLR>`&<*r)8f9$WRpfP`mLJUzLzj$g|w z6m8QNwvSRyDs}^!pQ#oB;5+&^nsLgR#UaUs9h^Eu32P^Pv}Ur>y_lY??=aON9kY{=kWsNMNIE+WR>>_M&aeRh9s9Az0sS=10>!>!dj<}8bNDBQgLDUtzmiw%33xfX z5BR5s!}M92Rmv;HL`G>B{{vehI;x+eDSUgUn9k4xJPz@Ub&T$;iBvu*&SD^6W!zId zGaRSS*TgDk7w0jE+VYR$=c1E(H_b1~y5dorGPO>P_=AR1bPEZttyskf>9Br{fK@i| zynzLaf%FX0t9Agtc@)ro(`;3a5Zf>vVU2*|h2e~TsAfdXSg|8;-X!p|F)N#n(+sJx z7ke`^b#^LzrQsZXndXR+TDX=OC@-%asPuqepEP?FuHr;yBOt*P0BxiHt~sMzBFjUNtKZ>QcUvC@x`Uc00iXHN$zj1;Lgej!TkuXS87C zB5=&p6f0eC>w&76aeP4TaaF%ga~}X}<5b2{@*Bb89 zw`oSGMoa7gTgLCe*BS29cWOqf5E4(Il-YIS>kSX+do<%!b0kE7lJPt7AS|S3Xb>ul zgbNHZyDt2D!(;kE%?y>lL;%Dwei#0O;VJ#7W)2`Dr2rVS)8aoGp3zTeTvZ7Y74XFP zT709S9M*ARRBVYk#j4*bLI^z%Ss<4HW(Y5jKH;(F0b z{YA}6Ri0!mTM8^NOpEB1{tB!G6G>QXbH8;Drd0%XO`0fGndBtf6G&f}Hql%CO-;P2 z21u1$XtS7h(L4Pe4Mo)=sR52xh90Vuf-csuU_F_htp{uuqJvdSzo$u6eIvEyxB;aL z0UA*HLruDBlGKeuH=248U99)?CmNi}Q5wvV_7VCNz~G`k(;Qd1N)tJaMrEHuYiOju z(40{%k!Ern2MGNNAZ*cJYA&i)NrfEJfU;i!KrQ-f%{5iDRL02#ewG3zIY5NIqoPVR zu&zyMQ0NUBdadRj(6MZ|jwXUp(QD|WzX$Hf5h;>OGAWIUK7*Ftq^VHlNCUaKCc=QC z-_T75vl!J)X(G4Lq#RHf40?KprcU)xn#pxE6HE#KSA(xmj!$ne}GPklNt@p|T$mI7Bj}cxdnNj*-Ben!SZM zL^eb+w0L;0RmYgx>399M2!;d>l>ktxcT~s3T9>b2>ZQtN#;eT)6j zz+n==MfHyB_@y@ZZr&E+P#MsnibwU@cFe7{my~YF8tOTm|8>gfpYr<&b zkI5DYlj5#)Yua#oD}uH0r)0B+QrmL3W~+2~rWMwv7!XSxDbQ>TTg}65Mq+j}nC62H;_FbVy0@6wKgwT}0Kw+X*W{KoV>+M#!O z$B9}uz#(bA(tKkYhX(pl$Jtuky+hlOBND$g{eYg;yRzd_ZOFX>U>j+^HH}CA+PkLX zdad(4*|uCj87U_i=Oq8pai^AgPs>(~kO8>}fT=8vw07$~t5n;sJpojd;tT}U(%J*} z98*KSmVU>dl;V<1>X6l*xra;5`r30e|Hl;9*3pbu*0D)@P798Kmhe{W}y9mx;R0Fzc1aM23#J3gK>HCi4NDgg!`)PrGVifI2r?B zWhkbO4b&a0Z|#2|{9^n)`E19MI^TPfcX)oA`2%)laZqng$8sPydhFnSYcn1@t9WJa z#g3JL&{?}f`fcWT?Cj#zy;op$spvjyhxuEZ3D{qY*YsZNh^i|C9**az%n8^z#bMyI z8DCd(U$lce%ElJ!RQyNpoeoM}%l(=i(ovbVSPR@n+>rtutzn0Gl+8r!+~Re;_d2%M zjVhVE)APH`iCE`iAk}p2t(#opv6K6q>|48eDHbrzp}LtRAv+7d<4&@3Nr?fk)suDZ zCG?&8?}%eeF6i~WFMu+GD><}NHk|mQa=tM(`DMq&x>W#`A&!v!C~+;0>y>w0t&1!v z+bI|wI9alwI3f9$j>5W4C5=1fqoqKINl8prbx7;BmRP0PT6+TiB4tx@Lq|kyW=Sp! zXD#@N;BMTU{ITOX@LxRB(yZ+f1eB4IEa+HKd$A-Wt?$S|TH{xz)nxl=t!8B>!-c8;x|@gQ(l?ieCqSByK7zw4Y-@A_c)R@E5UREc-7d+#fa zUA^anRG_R7Z8@WgfwI#1bG;w1fIY`%PQwCJrFVSiuk~vmh<0(u+Dyj+L#208=luG( z2Q|B-V>72?acBh{(J85=12RPe6E71Ey}x%#=c4+xQk&h5-xGgUE;SxV{<+h){s;h3 zNZ+e|R{9zbCI8a7qCN-sC%NAfXDF8$k0k%v$qlV{lg0t>L^ea>SDe+0>|9r0@*sV; z{kT8}$#V4WWS34-eZ_;^-6R_!&`i)Ldlz()>s1d*c4v-5I&uQgyk1l%tzPq>VYdue zC7eLCpcf0+V)KLHdu#wr!ucJ2rgu^2&iXl0`#rcH1VAD&o=x`Y+*gly=(#5iz$1hp ztrS@sPF0{DaLbEMP@?S9C5_`95?^L5@#sM+}HA z_6B!es1JUaw}&`hHjD3{l9wFPDXb5FSh^=`yeB|IQmz0kxv(B!$9rVsg|j)p2Wv4yN8!VybPXVwO>5D&0sd28U;6M+I?`4!QTd1QPBNua4e$}b$q{JIV$re_}hljHCTw5Yi322Vwl+M2TZW!DffyALC8l}lwI)^rlcx1EJ5x^VD zb;f(i2Q(ua#yy(7mpD;2R}zlCn{451Onrpgn>EqXnIDnzFgd-`w!!%kX|H^uO3RK! zA4tyVL^NO?aratHvY$tYGCoc|*g2!Y|B+xXZjt~P8OEo{M?2><;2%l%rcJU3B!=-> z@`+B@24YFgUMZYnM?x>?J=KY7pg+>?)lAa3m`Lasy{9`D0r0|Qx8slYLnZ5rD|)j# zmo^-FG<%b=|< zX5ou+8i8J+1WR7%mDV+sJWAhZKUsssu0_A;y$-Mn*(1>w++@K5C8_vr@6FD5U{i?p zaVOijVadhsdhc{n8d@H~Q=p+-H$P-}atbe54r-APfrbKjY@7>OA4OXS&GLXQP zFl|KF_de*{(_jl2iNv2Y3r(BQK#k};*x*H z6?}CemX>5>B9I;&8XABPou>i#pvsWiWO@*gDez^rQ`EpH)o17tW)Hh$khs@%mNe`J zoP(Pk7j4H#>FPbx@w6eURJxU9rviF|QJdV|@9MAycHk@wcW7XIOP{*Qo4)l3?>aP!hHozhZpbHU9ma$He`mQv_aETJhI? z`#XQDYrCJgztLLeB}px|>N~8lfA94;ZNKeQ)l|-Q^f!IqcR9Qdd@N7LO%*I60O5c! zp=-{2{9`Eq4eY%MJB{Ble(Z96|3+N1UkdyJY+A8(AEFEWo&~sqG^5EI`kXO+Q@R$t zPkTJ>021f~rd{ao`x-UA?~go|vqMHm7xQ_boPThK**uX~HmKyAZ8*$kl{Cku`2 zBXmjLb3uD=kl<9!<=bS*h_H6)S zyYNZmA(?~FpK}uJ)<^DAf^I(bkc}fUfO87%-nSXl=&~o-hXNgi0URFM1DucA->aUK z9LjV=26Fgl4E&JY1K$lA4#^yafy%u`EQ8ZE@O}U^?^eIq|4uk<{Ee}#Ys81qAaTe2 zBKVzf#<+;FvuiXc+C2}a{bIj@aMrk(VG*#;c}hH7`io!%A=~J~u;|q>Pq~M!X4(f4 z&KZ|7Eb?^!r-H+{nSvk!sL>fmyXL@`e<_I1?Sl#DjmsG)x?DdbJXL|#ToBATR2q38E!Q%n*Oq-RQoRr@gXS%#U?0#x{#BCNAl;kNvjGQjN567RnfpFZs((Y2qO2);m z;13s{hJa3-yUH#vWi|N0ul;ZbWa0W*=2do=Q`Ru9bwz>-JPQc++|_nhQo7%UQ)YYA z?N=`7wNoM(54+MoOe%9bO8?co#_oDb6yr(Pp${|5LO_kp4YeysiD5kNItk)y`ceI_ z=1{vEDeD;(UD+Re%d(ET&EbaG6`(itz3jU5A*8I}Xy8m0ko1jljMrV)K17$vj^@rG zu2q6?n(+=)HqCttP~mPjE=6l4-d;SLBUKUD2t5@hOSEu zf@NVA38^9|#YPsRw~O2P;X|1$D;G&5DnXCTFn0BQ=q}S_H39})DK&B#L$pIbj(BF3 zWj{A?odndzeZ#dQKaK;*E^)35#Kpy_eO4e@o&L-Zw8VkolKaIw`bKFdesp;jcT6=G z>0s-kg}UGPV4wl^*9@Z!NLg6Lv%X8#+^X3S#m7X85zlW zgx=Tpqjtf^L{PcPoQ08`QgkLfEx>}PcldFedB`ZvWAuT(XCOD3B5rDYXc!IG&n*dr`>G3oddlKPT@hMOtQ9iaj%R5l$!X??sQuqvvmi4g@ zl(KpkZj4EWKHc}5cH2j*=i@*ao4DTe0)4h`v3Ac#+vhGP66b5yn<~)f`uw{Ne4GKY z*WCHUSY@R#hp}9H98|7}CmQFgz!kxm%lKV;=Hrs*E(h&h12;%48rER#g^$6{^FXpH z+aRef&g%=&Ui}#PyzGR)RT#y8l>&lPZQ;jF&#Ml~T!nEQIU4k*TFJ-m$L14O3+%y+ z-FTG|p?&yq-*bCVmkQ$TDvGc7MQfh{z}@2{cY#d;7W_o}VnI8a_k8V1>4MAzeqIVV z_i5YS7d}q{si-EwRD-_Vw^3XFu@sb{NVi0?>0Qc321Tp>Sp8fG>QWh5q9_*i(X}0* z`z$*ta0^V7D2v5?ENw5yJX=nx++>LomC=R4)!J?{KOcU|22`D#TJ*iXZQ8Fv#5oN3^pWL(2qF}7TOs?eRA zWCz+wSUu#?$SBvJ(z~0J>_95X0KrbYNgUnGI(O6o3h==q@q?uaLplZ}^Xq1;1 z02E(ClT;XM7`L^X8dc?GAYw%N^4nA35ww=x*je7llY2inm85VirDw&W^!l;xdfBZ2t^j~K`oOD3O(%;O(wJnYJXp2w@f2w z1Y-fE*=S}A(G6`H@xtb`<8Q<*O3>snztVlvH2wwhH0d`LNbm-RGe_#iHqCeucslnt zA}H<#MliqAO=@y|k$9TqBHJn%E(U>}Zc3B)i}cg>UV+;rUx`6ar~9QT_(k4nqL*x& z1k`iP*;-^%_=}nYnO?|LNuKdL=8rnpri2%&)1@GmBUlYsGlyu=O=F+xPwTzRsdgjT zW0+HQ-c7qf3g@^_V>&gI=`mlFWkU+#Jt_^TQ&&Ybiqv*Uxb_~T*TdBH;N6q zHr-l~htkjJ7nyh1fsBpmtUL0d^u?hwNbkg*rtjG8jQP49AF5vDfoe_j2Y)nsGPsu{ zHr2f-1(BL(8sD0YV0r-Wz7sTQa&KuG!B8B*!0OoGZ(=@Uwb*_a0VHV5MY&`aeD)h%3mk{?Te_)gQf^`>~Rz1x<8)8w5jc3n>r|ZI|@QTv2SxY?A z`4iZ4m=-PAri#Y1wp()2Ikp%i(?Kh4Vpo{YTKRZ#u@l8}`@?k)n$jyKXM6f&?lqlA znb*Hk`?M*m!X-P=N3+*72{XTcy{@t;w<0)O2s$p)kC+Ah@w&H7g%wF4+tTbaO~x$j zZ_w5?oqV32ZI25Cm6q6@$ zwShxGDNc|{0Lc}TqZ?=%s4!<+EzL~Ag2JkQtL|RoH0(@eCWxcro~50$ z_4Pc+|C#N}Jfw3}uc*vD7vd{D$hSzJvUCUE6Dv#3x#2wbVjaZG`;Y79s}DU*JuC#9 z8I!|6JmZwkT}=gNhDKl2A-=gdu-~lpRBx@c%CTMMd6@qTdj%NL=$bMsr{@GN6CUQw z6x%W_vL#-nXHMEO`y+%|11p)AbgR@?Dv3Fz%LE`w8d%NDhbQUcN^Xu7XpjiM4y@_# z?ut^ERi4c8^veXv5$1JYiq3;nT`2^~k?N?Oqj+t9q3(H8U1iyUOi&o{vyFc+i(pk` zTcs+e)K9Ywixh*PNS6YS=M6b#KbvEO{FHUfdpi46^*2?v=iQcbk71vnBl;ic_JCf< z<-Fs3)iI?rW>a6OZohhZRSQ3BxhKej*wM@~U6$IpiUevP>2c+^7!o*wOm4zdanD=% z+n*rJA6U<<)a9uCs|4q9{(=((*MVz&)w;{-wN;|?Tz{LB*ahPF{x`ZC>bR7^D>U0igUu_%u)A(;Exeoby%%p|mqoR`{H^*+I#3qu7(FqaJQBkpE z(pT}ZNffK-_~?XaGG+X*30q!|nb5VJKXk$c;g+EeyN(bY`p*yhY2wHsLx$Yl=la5P zaO<}R)*q!4hWzq{y+bDbI{vHiL&gsq0&ipB&yXSGznb*Ub;!i8lOoqgCxnk5Gi3aC zGloqZ78^BV$nu{o$1NYfB8MkL|7{0_vGH#^M*SuKe+K*t&K$d*nh;JVZjKI*3Xh17 zCdNiV>agF2v^jj^`hQ<(d@-cuI&9)-N^~-XNF~QoAZXI~VdKAEj?k_=OwbaC_;$QywhnPif!%X~MA|9QOD)oStt< z{M!((;HAC+xRrqc6UTbtmISPv;m2u zq2^K&$x~vJrfiOmiQXJdj*O0)5}q_Ad`e_uLIT{}$Z$(NpRzGAmQ0xvlel>bWqtG% zN_2R_udpvEDK;XWF(sB9H5iUef}`P-DY29(Nzt2W(GZO#ruDI;_0gLLBMc`;O@TNf z6Umg#iSbh+p{+!3cKY%a9W=ugef9Z1|Fd#_x~|sI6Yh?5s5B0BsO%XE&1((RK+9{e zc@1t&fadkjyYo$HS*2O8909e4IPDowyM;7rGB_M_aa?*?9QyDMI34?9rd&{d+Vq zvC;8S#J}(RlrN&CEkaDwEDa$s>Qfe|2^$&zI*=H#Av%&`$y!1*1v*YjI0R=+gLaf? z85Jz&u3G6cXW=yVUo!LeTuh6NvYh|7Tzua5f0PSLA+djj%zVDGPk;ZB(%@0p``=A# zu;BiY)}MR-yJ`JpJo{%s{>Q=pZp!}{G5?wV7lZsqE}&~&FyC@2`EPaWU%UTOwf=Ea z|6_3eX9m6y;6IX&PS{9c{4@D4R_%YJ|F=oNKU4q5;r~e6GHY7>nE#yC@=>v21fV zg!SE!Nb)5wTOW}S74I8MC;2A0u8#;=WeG!#3Q0~{?(G#D=@PU)lDq=;dC@*di3hQTvLL3YDCa%s@Uhq1yU ze0&5hDCS>v(0f^2*qVS1kqPniC|o=(B6hI+KewTPzt$<|h=lkJ5%YrnY$MJQYZkfw z^&UseTec}IBw+5R`r#ZOh4X=S7_|Oh^?B*sB;TcfssG-~5}_WfkBE0?goQxZkY!0> ztKBz-eX0ZhXcN8(>zyM)e5h+&mc?7@b7(?x{F-^6>*JT&3AFpD#i5_`18wa;@(cBU zZoq~wwvoYh9|P?e`iQ^O{U}E0nnj6g=B=iLCajJN!$H5o7%Z= z{x7zTDCqB^eB3SfY_6q@BLAm+lA&)}8Wdw`pAddy*i!$&dh(?<9D$2xM)^?wRS(wu z7xVk~y6PGe7UCQm783NSj~eWg|JmRCf1dNjI+45)`tpddgk)OinicZ`eCGb|^r4^X z$7-n0-piovtcJeTonfixP+yY5LzY23S>`&}w~`mR!ZstqC2}yGsD#yw$a#b9Y=N)0 zZ*oBJeERYYzOk0N_LshXUf7yt%R=oje5wAi^BKP6xt5`BaJ*Y!85aHMFbsMR zj*Y7Zhe;BAUcAZ@D9Z9SIA|{NMbeN+_^@d4qQOBl$#Mh&!fSA7jk9d|SPtQW;v?q; zFv6iOTGIYoJ+}*r8Kb`;QeC2ZtgRw69a-TLBgygk&@cuiu;Bmv!F6FIEvu7jWaU;Zwjt(@BQ5W%-rAo{XUjH zX*fCOU7q(@zt4M4=0uu328F?5sI12yilHdoBm4)mJC8)VNa|#izuVkJoqeX!-$~dVr=K@6zQ4MX8?}p(`~i6LPnlFyyiC=CQBR z?0(uY%c1)3v|sAX4cm}M;YEi(6ovnPT58x`TyJ=Q9-h$Ow4nkVkJLvOSQ?_u)1u9E z(UEv-WMO?%vt?TIyhU1kI=iWPdZf`ZE3z=!qQU=LA`O=2y7|%ONGbj|C(;~gY-(g!q~%?m9pbLT~->+oUI9Gul!*VH)CGJRhCw5a)e$7p@XQrlb?ol(~~)6(43 z)G)%Zj8YWds8iy^>2wwSBVA->w6Rrv8Ev6&8|LVY$TWH-wUC~oe(da#IIE$qr3D?R z@isblUfrAqoK6oZ8}*jjNJ~^lpRHSi`Z>aCZS*Vad-ozXO})tauH)7&&WIt}w;X=mUuN{^oB)JN^V)<+}F zt+NWPW%d!q1~dd-TJKnLW~5~n_}$vnm|M-p=$Tmh1$EP!2>ro03^~#`-IAMvdSm&_ z2>NKPn^w3n^02yDeKRd+r!}=S7_9Vds_D(Hx-+acU338^Ypt9V#aQbw>$=9)XnlR% zOzU|1h_N31%&TjmC2f7vv@_^S4PAOjL|wfp(mrJdrE5Vqb@VjrNM}P+V;#odVu`d` zs!FW8t>-BTHP*U#?rFwpvmy<((PrzJ<+J8taCNNu;B#|p(!PAYBIr@K;zsbKWv~J~c0*r^a=i8#zNew#CxodM{rwt;sbme=rhxyF6mSNE;#+!)Y;h9=*=c z6?sq)($vFs0tqWW?tdITbP|uWGuV|lMePiQY*POTOyhqNx|Axejd)`bwyeawgpZ~h* z@mo7*IZc=EzCFDsG4Ylc@5;{Jw&=bEQ>VHudhN*RwcD5Y%8O=A=LTDyqv~huIFOw* zdd@7L?b`aWt+O8z9y)u%g8IO1uO)(KH~#dUPgb73WKO7(-7r&XenbjvZfb9xxMlvf zGo2VKMLG5v%MIGEEO$1ZO~}VB_pdA12Mvym2FLCB<^T1xPieBxHY}+(Xol^z>%kG| z3@X&p)R;5PP0cf*5sQXRY|dmx=R>3Lm&$Q&X0!>s-$dj0ySyK9ya8kG#KwImn4Dio z=?X1@#FK#~WdY%>oy*4jv{08{_GX~tteqWi?c7lINJsuf?bLRD%uf2P`-|UFGSm0% z?09x({H+H%bot8tyF1FjhCh^l!v;mRxAO!S_T{nr^Bk+o9P3OuE_^e9Q%-pILwSa~ ze@xdKrVLN|-J9qmS3H2}MG|t4r9n=Ma@rElSa^$=>geE;Qassa!5>Q|o944}TU@ln z;%!}N+0vO#b;Of$GMnhN#FO2rM7Jzi_^f4mS3;C6wR}b%zK+kem5_M}?WSUuY`bik z!>9RVD&4^+EDiBQJjX1db!+^M;tWM#f%Y{n8xiCq~B{gEN2;1kM_r7a!L_F^<~x_eHh6J5oH+(6@U z24fKuT@pMP{>x|S)=D9r;w6#KWHW)y6eTbE5k(2~TgHsjBFSQ^s@s={%SlUzoXPNQ za>l8=Mg?vt%Zs;LOO0JguqBh7{1YmzyhU9_rD&%jBL~d1D&w+DJVHB{CR59k7+%`a z9;aWhj-4cn*)Fg}>`KQ|84Oa{uajiC(^7Lp+kv&9`{|AD&h~gBl}X``h}l$A8T(3K zZsGV$Coa!m8SHh6bcQ}x!KVY)PFw5gRB2wU`eSs47TtEx)8~k( zOb4!(upFtjF4?8gM6#BJ%PA+fpK^++M1mJmIoZfmt*{|MTHAGUPiG<(9W^c^WB55?Ny~I!Ib=&tw()KB?M|$7d%Uf^CX?lt(tZohOUv1K zx4bZ@13zZTd_5-H85bj4=%^E-lqt!GV@)A1D;zt9WO77}t&qFc%(IV-1g3Ne#%T5nf%CgRFY zxy9HK&txF0hQ$pxQoOQQA&d6>Nqi?-=f!pi?s7gYWumRt<=pZ-#n?=Izh3UiqD9%E zv zukU;1T3eM7%|Tz{eMPE_MOs^EgbJj(lG%t^`H^~3;X0$Go$r<{iM8o+3@L_>Bz^$BF1Fo?HskFo>uX7# z7Pcy3wN)*m@AO}{^?cXg^HnZOWT;3X$<|3!_nvuJSiY?T21M-G9eG$Qq_XW%S&?y8 z>6T5TWb0f?o*2%b;a4iNR42b{=%XzwYd)r&dknO(GL^I}Z^?CT7uC-g|Xn6?NkiD`i0i|6IrIxuV`3Ick zSbtu^D0oxf)mJuZGtkJnNqR5zws+7J!W_6+ zmvCCT(p#phGVz3RG5w0JJKh#g^u<(Aks+53I-clVc9kvzBN-o9^vN}fj4SMY^XGLp zTc1%SGji2V<++=W+5bvethY{r8HG7b#UQU>LPz`qkEuXaGv8?GOyN+LOj1!2|E>kL zfX`%7Vw~w#@pDv`uB5szutPz)q63ilM+z13Oy9UEJxWzayoX+@;$c4CQQoKMkarbT zrn)joSWb*Nx>Efcs`J2QgMIpJ3Z}KgI!U*zD=scohPAvXb`8B}&yPMAwH;hht5pXU zsVLc@Rrg)s84*cq6U+Ht^07+AOTE#ZS~xbL?iDH}YqoDPiWX>#+(qtE&$wpfJiqJx z5ln|#Axr$3bXq0JG3$Gg(;|v$PF45t2Sf4A);~C&RqHSvIb$EIO~*4!cQq_K$8Nf^ za2cyj%Cc1WoDSlgN-&Ex$^lFjq9Mh_tn5%F`7HTBqe#W*^4cT$4Fg6fTz6cOC#(Bj zrTC%OthX{h)97ISvQFAocqe@%uy-VrRMEFanzRX7YKuHUr2|h>(Z?L`tJmJ42S4R( zZ=|^JXBL<&XmLE1o;Pp-9l6wWRsmFq`#fKt^KO``Z_$Mu&7Tc9+ z>!+_hqi|X1hnZH*B>3Frsq|7PW4r^VA;Hho!2`>g$Y0Gz3JwHJ$5b>1IRAZ`)u{`U zltfl&RL}tWLKPwp&l^LFc=P=B0_CJ@U*ENqysuKhv9Wu!RMy;G5cv(G)$UqHW$3M{ zbZ;lKUyE6{4gQg8KafzKcQh1GDAl`nJ=)bv#YvNfy}d9xj(ak1vd?-@kxY?50sX?- zzw3F4@67T{S7H41P-dyz33Cz8bT}=DQcN2PnbXx)nDWelfx(|^+u&i?&sDlExRW#) zr->}KYae=C*A7<8WVgD(rHH4^SF5#7OQy>zv$Iv@LV_2Urn<7qDOxEGU-#%X1M}F&z!Sm+a0pFcUXPgV2^yj9SP`c-sCT=ju0}t$YCs`vW^2<^KFIpYHg-HwOn~k2Srm?sM@Enb>!Pv>F;Cz%1+ zu--KItYMBGK}I~2qHiJ(X=?q7oHghq`-(f{4U=U{-y>89QE3j2)xx&7kwQo|f5AlAZdd!eOllg2t$C%`$z=$YDdD%GKk(X93A13Q(5 z>4KbuKWVo#%F7X%_r%4NYfipiO!Kj9#*if4gc)5tcp(#Dm4BN-^}1aL zDW3gMHJ7?_`B023Rju8ydBC*0=#v1fB8jV*SBvx+*DJ6FjIL1TUdn zrh9ePv&p?BZ~ke+GrK0cUT6CHKdGJ@f@>xb4ZEb+x`JCYVh{m(hrLxR@mYTDA9oc; zDgtvT^OYJ(u6eF@=g1CC@x%7hVYfT&cCFYhi{xc8v6Uimy`nc0d6UYriwfxF@dYY` zU8Gz0+=n_bmBji*inrcK?@}bQ)@iF&QxNCL+ex&9*`!lt;~6H(9Q_T9#Wt;xPt;`N z&@F0U8O?J_n!Kc(2CMvRHN`II*rI+fkx|ZnGCK)=^}= zhBfN9YIVI(|90|o#+ZU>L5vu`x*Q&}y(<&v53J!16c`cJrIBZ`G84H_)tSmv2Mur? zR+f_46@>#j>*Jz_iARv13O|CH(; zdY1j2n!K%FTWWnu*{g_W`^umOd{Nbov5KB`BiEO9JXrw8&(K3u(s~uySwO}4or-q3i<$dlYApSLHksbxJ0hd z6QjD~Vwj|=_v(=H#A9RxVXtFV@OmUjaGWe6iuM$nC{aQDiKtb6*)XzWg1WZiEGotN zH9B58uPbBc5b<}%MY5o{GKI`DDc5AXl84?UcN9~d#9S@nv%cWqgV&A?hje_G z6i?YJROuLBm|(^iP;%j|Rqr#MYAd&PA5{CwQN~=dDexKfRizKrtYa3GsE|Sq4qB&K zFPdLn;JJWlRFg}XWtR*bJaE2CtDpx|a!1PgjOn5h<^m1>WpzYbI8gWt?qgPGLHgAd zf6g4&Xpt5t`_AI4DE`e0;pfwYDkbBJ$W5h(wpf2hUjiGG6#Jf?(lJV#>Fp56?oqDR zyn{0paRJ6MLw=&sB0=sZn;8-`GSiC<*X+6Fz$bwhSXEnBoQWH)S}H-jMr$d(#TxyKlI z%(zxHxAVXe`ud9d4veikgFIoPoTRx((a9^9Mx554lA|gzMRVvpX24`!t>vZe6nz`k z2?-?6j?yU06mk!fV(j-jw1$SKxwd?x%Lm+`wf(%i$lx^!-ZF3m$uoIu6k7d&Rporv zjg;I=5lJsADQU{f)Yd%aY;E-uM%N2ew074kGoH@3bhgV$#HUGK`Rj(~;aT3*Go(0& zKgdY8WeYh+#UzaSEDs+nt=)9v-xx1j@pl57Gt+e=AxBEBb8;aK(`VdpOYK>T!PCj} zg{DWfk=v*IbcCWaZG9RxYtOtvS%pA|c}GL`l$x(#sZNJ}RJ2MtUwJ*<8gb}iairke zeCoHMzZUZRD5xd0y|#erCQHlMTZ{*Lw>HGhY)`rJPQ4|Q!zpUIbwC1QY4Tf*^?b)Z zO)lJeMMEtommBESY!$oBXWz4>)IQ#}U85{={9Y6J8B8VjG-9W_$ zKT~_m50u$nDy-N~r3Y_Oz6J;B3egUI1=St7*)+C*7HmINV>!7jP581Y4^)KLl9yH0 z{W?-naZZFvk<&GFZQrY=dkf2f(nxWn*X($sB9%U{Tb1tWJUCt33IB0m-rOhIPs;`* z<=)s~4S%s7*>_q_lE0bluBz3f1Nxd}JgUeiY2x)Wo$Llvh=KrUfLEq{oblBJplVOxMjPndv6$y^0Q=c|=pU#R~IC zo*qTC<>p}GtlpxA0jEHlRa$Aad-mC}S;<7Z6OgR~8 zM8bS<5-gwL5`~z!v47iDl#_l_*J}YTVtoQ=g_(VMG@yp$QUt--<@B@4ONKJ^T^r^s zdx_|@%9o2jPzZ7JLk8xdLLJZ|Xqn%rb3KfD%@jYauq zSZwd%T(M(EA>~vat$w^r>$22kl{;!T zS2%VsR4*OS<>JK7=vJCg(om7MJs!)homSZ)BTz^Q8H9&U4Oxny!rG^ZcSkyGZ#lG`5c+fP0&w7qVn_($>?eKED1Ia;Oyen7X;jgG+z z`n~9H>r%FzqiW_Mvn6kj29V>*!JIk;MY&d6`Xu(HqQ@R*=M4-#=KmS{UI{5wu^$&v zQul17{VHzTNP532p0)%YGq9Ht$FGV_KW7lAIL-HuLIxNyG0&Tr-&m*^^EnGcrYP2T zCDXtrm>&~sNQ-2)joxAUUAg(!rDj86t#JhZ#;%u;Z;NugyYB^h5)AVU+X%|i_e&K} z8#32I*96|CjuvVG2W6RjIGnD&vp?8G-%fgUL(|E*2K6po2Jn(RXs-H&nJzZ98wQXw znue?dC=F7zkQ$0$d#2)`2IlW&7DlbFfN!Ap(kbFDQNG!AWwezpyK+z6y=K)YoN;MM z?TXR-@5pDRrmIFXO0^y~OyCpr0TXRIP@mJVk^*v8Ir)gF5UA4EQ5mFZlvq3-UMWw* zysFDNiDaMC{Avlst3PgdNS8zqFJ1XA-N>KLoJMRfm8!a-nawQwGn;bEI3)8+osfBe zi^?zMHbj}7spWE7eY0tzR_&wrJ-48yo9rp3+C9~dCr8yN6`eBU(rsaM?Q)_sQ}d{K zla>+Gvp1Kh&oN?AVsSaaRE;6E2J*Mk*Y3~)AJDxk_zTGB{gSmhzL870-E=la$fUNqtuJ>$3=U2yUrt2rn;lF@n+?WU*{8tjU0j{Cl?n}7ROSR`R*du5k;+IlzNV7W(DQ6y-euW ztdFPw^w`EY$S06Oa*GPWwYZe`&3IZLzi!H#G%0depW*+(+BMqD(s+Ul=@e<1Sy!ln zp^}M0a=P-ZAEeUqX7e4RbQY2Cu?|e!Y(xSj|AfBLyh+VmtU*Y~++-%}2}3(glT?liNvu~vKTCQ`*w1wA z4mBAtP_5Qq8{UBMkT)yFSyD-?7H?_q5~8D-8wj&cN6BQ7h3dFq0VR;76_G)T@3UL~ zcwi5^VyvP)PF`Z8TM46L4;83H*=1Uyq1wq!l`3HM#5qd2hrDG#yd8h-F=kAmU19rJ z&Hv7{#BBZ1#KU7sV^p^AZ8Ex$RBA}VU~P}ibbL&x6tig*;j7LIm?;-|zH%T*I<@nR zjy6IrHY}UQ4X{T^q?{5PZl+i3*&$E%Yo$zpx!O1cH0cKET zUq`0t=|`X2LEnl=a!=CcIR%3yWRccZQ8uKu^%6ybZ=Pt-B419?cW^;1CH3BPW6J1S zh}{v9HZs#d%_6ssr=NPW*L;qeuBT+7Ql&`q%w3f#K(yom4VBpPD3%&vyPQ5S6rD2o zEc3t^6%ym^mPm@~+Pbucwmn`#W!NsmP=aaG$G;?p%IV9j_1hYm9V!wZ!-mH9g(l8X zE8jpJIY`BJolVPN`#Q#9)tRm}H*B?2bepaXemNUCpOS2e3L~HmBwaG|j@mR%Rk(s0 zO9sjmomuv7n`y5@=VIWJ%{SS*KBCVut*ZdY^3wwa=G%0GFH&u6SAj~3r&(IV`n6O? z_3H7DEM_=Z3z;Xc*marZ@UrZmoXokE4W9*iDsw5F)TMN>x0;x1%a}Yy1!RHwT^YS4 zay8_>c|84oq=)Fu)(a3Qk*h|tWn(UQpd3O3ygSiF4(r(YCi-=oQO!=UM})O070}js ze_ZQl9#lCq&_MVMlp10@^WJ!M5mjSbP)tUY4)yMNzh-L9rOG?uFthfOzFRQ77zvJI zf#TlEY%8Wj=3Wc?j)s1TF4e{pi7xs~@;HHplOYqL)2!*Jm7dMG%bC4SN;2J6z`Un6 zSuI4XBTtQngdH8H;KiX^RD80RTvf)b7^ieHu>zIr<$T*B=U^VQQWLOf8b%ksb>2En z?>#8wFjERh#w@o07l1A@y79^b>nj1=LCL*3$J%-(>=6~ww2kP0~ zH!ddyTWa|S0fm1=9xEb$W9S-kH^cUpA%22Ih<;$@nH$uEAKwvBFOE#gMT>I_Ts?V% z>)4%D<|EZqn*6H9ys(npR7oCJL9Mc~)A|^YxecS~tHA%?j7O?pUWk;%^$!aEzn6T( zUFl#ZmoQ&g<4b?jt$bu|2bt$$W{#5Q^P|<>%&TMh>rMN)g>gk!ny9>War@?)xIF~x zRs37#3bnR71xtF5o-wG%@-p+qW2{pm4OD{JGK#&FF`Uot(Dr>wCGFkpETLLj^FG?6gFLp+ZWGOrYYAY@{Nl1$OH`%2_iLAeR_PF{f3rcWa9; z)Q^Rbbas(yH{AEnHMaYU;`>Y&Rg$S5$~o`}8C{{5V~9+pgZm%hRc&c`>#H+DHC53e zCFxT!pQub?QDh!5SX_Ukt;LZ_60M@Tw{Az)v&}nj4HQC&Jk5a^RBh)?>_QFe(X;hr zutx!WafxO~pm@_HtLu%@$v(vfr8%u(yGxiW)#R0;*{6?@KVz@Z&?5a4*Fl4Aq=7Cq ztBSS|LKw0}HRBPD`a06=CFiQy3Jp0;t(>mlC1$swdWVhbWj1KYZap!L*}ARcab^#s zAlDW!-on4gd^ncPv(ww{OZsHJ z1qvF^vQPMw0=Za4|B8&O9(n*d@8AUXPda9`sjiXC_C{u!E*WJ_P+jEy3Dzx2o`2Ql zP`Yf&;qnK0xV&&N0`TAR>)F$6WRoV)kjIX+DH6T4RWwz@tk98KExE0j=_@neKEWu- z2>s#$U4Ee7h-fT{Dg*hkPmz#V%_wHB+wf=bhdl(STGf@5&BYcXY0)n?mb4Twe;Z39 zKqi8Qy>on|jJP!+*=3oN21tQcU`4tH!{l=n^D^sNjiS|_q&%PgocY*j+ou(pXku2A zql}{0$?Vk8-HzL|j1Q=2vRQ4S;?>(K%rOlF>-kai40;PQUB!G+O;|PASU{dp+ny%O zJ6aMijD)WZF;5p*d&t7D(p~#>9zDkVBLjKXs_N=Uk@+kYXWmfh5niB*OMc@-9@r7z zSG(63Dd_t9;HxAQREWJ(rqffp3z6=2Hq@#Yl>WYMH6nmDdUh8Xc$}5WkXTBU%-bfr z&h!(r@(c6hMYS^OAK1UA~kSRJ-iOIIpQgycV zDvCeQtZ3nhOTDnFdd@_$cOsn0cw)P@oS&eM1d^2PsZpwS)KUIoYBd6QvsG3eb(zK$ zko(o;I=5X{Y?uwmG^Y!s_ADWUG0;j7Ir_7w(jm;C%xC|ux+Te{m52{ zJXu5y3;QW-7mT$U4R0L%J+roe8Pr%4CgC*G>1y_jQOt*W#4KdHjd|M+37$N*_WJxs zN>JYkWDCf%W-4CyF~9aeQ^^dowUUyoG$KLUm!)KFF_kryS|8ejp+(*y z4JOLM{z=P@(N*2Ep#qq%*;PcR`$jufS2Gc}%~?ZRxZl%zUQ{;@-u~Jy=Ec)>9mwnA zq-`8op^9$W@MkJn{DSST#mom|>M95C2kB%#zr*% zTtUT1qh9?1{qFqr3iJD_J{d`c@|Yg`Fl;+$^EFzVrgrFHWFe7@$lV%vLU)lCP<$dj zePWBs^p3R>dj+yii-=M#GuM3R3+6)|)oJe6n@T5}7pduO%XYK(lvwX1Bee2rcCLm^ z7BcI!rpX3dzKY#w?|5g!dS;Av%cCl6J|Oq%s5FxtO{79&F8)Q8l=WArP%-|%V7jNE z_MCkBW-3b_EwUXn)>>%tn1kLyu0(a%lnCC*$ zMtoEklbCv7Feh*Yfj&iPA9;Gfy?dNLiDGr2pg%#b4%)}?1AYUWNv6d#{LE>fB9V+Pl_UeO%9Ti27#xUQDF zZO$Sp?s_UOy2-S(l-?q&%U3RTj4Yyfei*y??Swx_f-r^j&HurFXy z)T|2?H(B!$X2s7oO(^2}J&x&Ns(s2qtu5?V?k8Uwjo23_P|Td35O9d_$# z(_kf)>YF%YoN`Z|B2KZttYI!>?LShB?0Bc^GX?ii1+ZM!2|y;!9C7l$eCXxDU(PpH zC|;t~9pt{K%3^CJmNE3r`dS`h;ib)fp#Nv?=cB5@elCv@bkF{W9?%GYfdsr!CP z#n{D0OzZQBfu4MMj%hDqR_1CS32G?Oak$XTjjd9@`S5`kOnVE9uaMV1(&m5k13mjI z4b>BUj`PtFbCn?=l~r%>bK5B-No&~JkxFc{=t_&^N8_|onqMAu@)IJbQ3-3g^^i)4 z3*?z8D5m_3d98?M154-+{sAsb)Tpvu67!A$!Rq?)^lqXnVqRrEt&ywgnTW!9CRNDX zce?sL(`6+9VTKg0b&*@khxgXafM=)F%o!#0#B1x=6)KY%H(zd{_}VhX+}T_14&Ml?u(pJt}1R{Yg~z50z6jV`+m ztlYF}=%VQvH8@r`}hS$Tvud`f?JXXRS@Odi{?l5JU}u7KB&U;$V~)g3#@P(MZ$ z^IL6T4+@gc;hl59vWEBhVSgATIxY;Sdf1eKzJQt!Z(53HvDqx$4N!l$rQ9Yo6q<7l z=C(d!PXuzx+^&w{%}P+#;oY4*N0tK%$=zX~EVQhNtP79ZD&OFFu2eMpo|-Pc>wC&5 zYPUUguDE_kH=^uKqxhibsf4)RgTw0&Je5tY_l!_@W_d>1AJTg72#b3!e(Hwy^_y~^ z4!*W;>3YvTyz@B9#PxxvZs=I=(Tz~C+|2ORme_*h@hmEd*l3oQ zyQSf-pXISv+(|or_Bic$zaqCQ^nVxgPPsGn?qAS`jT7n(YmVPO@!Gi`k5`UGg~=Td zq*%=B4U2A$7rcHk!`vv^R9S-?r-YW!s67Ltik{I>}-GQLfA973Kkk2c{+#x9_hQh%B7YO;o zF<-#%_4&O{KOYPUoahS#eBg#(^l)g{%LN3#TlPvJw-ZzIxPzj|aWS7iz>AVs087xE z91>#w5L$?ZMHwfAWxtT)mK>1%ZuI5mIW8D<%g%rg{O|?bf=>#DMIY}8#e}dM?B`-$ z9=ve|q?pGey5(5N9pW&4j*~qhj~9Jm3?WW%24X?C#~X`z!jcC}a{EI*k#h@RnBevK z1ko7`2f{&&G$vraKChn_uxLTS=k^6-G9U6e(VQfBbITL+qc5*dkVAo3$mfX#LOdUe zIYYjHM{@HbhsBh!fdSolgJOX5c)B!oC0?+*kecTfll&aj*F385GdIgq__7-AQ|I$)cx?2frP!HW|l zF$CcXa-Oi)?-Bj(7*>D}$!H65CpyDkkrR9Z@At`EKz8%tpwAN$B{>ue`XFK+XE+EJ z`$R$D-J%c-OK3H~qrotaf)j3MSdb(k0IA@xc97zL$1h8MFX#6Ney=R^&amj^C6433 zV=l(|JaQPzA>mWWFN#4yc7`PpJb|bLeIY-34F!WSa9#>SLqr)O$D>D40QVsi0w=k} zpzMJNVo~{^TS5yw?+v?Uv=t0`J$`>~O?e(C@{-#h@OjY!9~Of=WZ%pA+yXCiP!WG1 zEcydzkMr_QLE_vYKR7S@y$~ibh)F;XAjAS>P~e@SPmYDLD*l)t!~#M%Bze4UIUrz? z64qOGLRtfo==VW6y?&YV`F#POgthSn1H8cd1g9wbeQr-qzo6H0(Cz2lKA+Ezwe|3! zu!qA5VOjPBW8r|vbC?Ru1P`h7g?KL{%Og86p%_#L?Lo}Ba3BziL2<*lDh6912~H^# zfyMY6(M2nU`z^n#jxbV(l}))XQG18 zaKVE)@LufNmi#_XFw6^r6!1A?;HVUc;WX&GEP5dQeoP|ZgXEy;pfe_WMDQ85!2`<^ z@cE%aUfvz^LttWIPK+NLuiQF*Nl1d;@;(m_xeZG&N--}u1__~c3b$|dc;y>$2yefb|@!(Ux%NlSAIw9(EYjNl`DN- zUJkfLFSHJ-45JhFL3E(<9Ov`NLFci0yd51Uy_0{WKIS{e4#)Xk`)kQ;h-FY%{$eiVfYg}l!|`Eu^TkZ4H|_c zbT8MS(T(*=1s^;%UvvC-<9yAUAUF{Ag?Tt1m<5*Ps{ zIai-v)UVeZUQ)y^K~{83uUW0v7*9BfW9Fiyxo9<-iXD4d-T$)s`*!!(=>QgsFo2DJ zQMaDjSfP!b<|6lZjKs@dl4IM|-~PROyZXp99}IHX4-Uj&sKo%}(kpqr5X6`pvk3i{ z()}BRTK(tg(eB3WYDLI>Y@{B)>qhEVA5u{MFZPqECpnhdar*v8iEh}|ANxbe@!$SG zlvI9Ww9dV_`sDE~^wt$)n^=PFMAQS^*ZqWA-~ZbzXu7a64gH0tmdd39f` zUZ-94aNepLQHNgl9;H1GDP6xwbNH`n_OI&0bLgr$t5u4_M^(&GRlha=@G>2HZ12{>SqA@dmF43Er%Fb|iJ#u?G6O2D*Qh;c#zWUGM6;g8mkr@q}X_r3OVP zG}~^PbqYHkc&8NS4cp$>U@0Z9XeiM}5IOc&DONdYYS+dn)!&A06zFf&T~z<(yup>L z2tBlJ^-84*5}SU|e0VRV-rFA^(O;go>Yn^ad4CISJYgw?Rb|$eRZ&X&Datnen+uM~ zx{b2#Sfc^IOrv4N%7ViOm0J%Ut}&Qu4E3k-l{+J&`x^~7fvGWQa~AyAA~SwhEizN% zHjb)cSKcZLd9ibbx;>q2kS6!~?o4u-%8rVSvS7?nG1s%uB&|mtu zLySlCFH`jYn(m)9LYs3O$v!LnLGF~wRnzhmw^JLh)~*^ga#f7#pHe9O$2Qlr&PoaN zT~usE#?e2dU$v_+vZmjzTBT50mv5}3Rvj8i&ssHGgH}(Y@p8XTJ2JP{HDiq@BB=AW zVqZ}%5;|{>a(sJfV#V@Hqo=3d^-$IE~oFRxMR%I+dH-qnn-3jN`H{qa!my!`4_?IrZO zt177#L4q-VG?J(KUoTj-MNLQhKc!Yp97ErGoISHB!t@X}Xuw?;M%-_3aEE9z@!Z=L^> z`Oh9)F(f=tx^4bFZzh7}uIpdws|Pvgk&oXZD07)~o=%rH)}o>>(OECiT}0L59)IK1+>QQIFUf5& zqH+V()y~e{7_Ttqui>@2KW@srSXZ~@+I@@e^mOk}e>k{$$;7qWGtY<5*qr%&cO& z#oy-{o>~!(6+Mu2Eg zK1dDH7OEy;kM(zcPQh5CDtzLU?>-UX8`+`{^~lKqpy@uy4j9LM_e@EC@ZhtJ|M4<{d`PPsBy6c~Q1{Q5Br zxOa>yq=%WCV|b3ixrNCsM2_hrLAeFUF+H~^1t2hgcmZ>ZRs_l|SZ?uh3t0lvgAAbD z;*J6tL8TxQs0>sNssNcmqd^vs6=VbD7Q7N<2RT4vLE}JGplZ-~kP}n`a)Bm*asuT6 zaUd_q2l9ggpdcs&3WFwsP6JH>O$JQ?oer7`ihycC(?HWfQP2#~OwcS)9cVV_3{X9& z0n`X;0?h%<1vP_OK&_y8p!pEeGf&9hf)jsFVegHquRi>)ke+-LZTy!u{eRc3=^L;9 zmP{A7=kC2+jEyN$?$*7pZTspXcE8&3z~y<42iE4q`{aq|#QWrS8y4_QK(gpVo(OA4HlQ3;P952zg?`VD20rvXB_yDYwThB3nW(k0jOS z4GRDXVm{HIJ4f<{ynf`tk_0dY6Uil!Jg@*>^h>~sq}(~~U{KsK;1mh%`-nUW?#$voIhb6B^@<~Xi0j40`_2dvBq@glhxiSXS!Xvn4E*#{2KBWAB z3j)C~(of{-0k@m3?D51TZ;THCRN#SA0Av}?V{?g^Hy8}d%2_KpzymQs4)9V4`Ey7J z^P&uJ$?Hdll0PWYvsTJz#Vv>37_QgnMvN?>JD(5OiPEsaT0yf}*xB(gpN&qav0tW9D!T=kQ69R%nKbWJJ%cYDy27>C;@p=l1QA>?EQhz^f_`52OV zAHWeM7AFjO1tucPKF;SABrr|lVt{bNJP-#T&ft(NLI}i=$V&iI0)kie0q^kzCBYw( z<><#fasWX#=MT%sh5-!l0BU_0i4O>%7?b_>={DBS;4UPzpjo_F{Pew$b~ta=;%HFhvglA_y#`Bmh-{fI@6!cU^gp z5Ch)l_lpuQ=3pQ(1knIc28PN$!5y@>_jm;WRRY8ufRPWf90F_z&>|GdfmNa>x~9h~ z0X*{rL=Ud>0pJyY%>X?J3ILKr;Sg31Sf)D+856xhw=dw81t2h9ECHZPfUq(9=PSL? zRZ+-+$R5E5;1HON8?X|vA;>q7ReE1fAmnlTvAlwx^MY625P&~l4uO_~FcThoyE6oC z!Cr)XF*I;1J`Vzp4FQt|=I9fZ`_6`{`@nP|r^i5?!0d1=zyo$mssQK8cdg99xG`@y z#t9;@UOo_(-9UeHz%(#GjD@}e1_BCzYyAL)eUW+}fb$U88V+&-tc&tN)M>-A7msz3 zfztwqgH(w@z;ghd!~x(0UGa<++OhB=L>mZ zYcQ3t7_wR_y&OPF*cD%ZzhtThh#nXs0PD|TpB`TM_a4y$U_K07Er|Zy&|=t2&dqsz zJka@ANZ#ASdHo!?3*#4y`JkdOMv@z+fd@0bDQ!L=sk6S-HgHL&?A!0v-xI1X|3)0f_!sFigLt z;00wOD?qHkap1{0Tp9(05Ev9f&oEmaPQ4FyG7y6$_6-AieoqKx9Y`x?8w+~FTmb5d z&t+HyD1{ex5J0d$1fv3n5_X6E;jl8%gWjRS-~d>igCBv=qCx;Cgz}H*5u!io0hW&y z_CuEh$rp126_wq=a0o0Ce9!@VyOs+C-PR8mKpMcWKv+N-K;$qQ&X2Wr4_s7xRKp0XD{dKa@RyGEsns0fVAK zTKw)HJO?xxU|2X5T{8#JX&8nC1poPp8^+Bkw98>OV5BpJ10Eh~>97U1< z}u9;8dZdu^8F` zi&5LKHfSXeAB>d4p~A5S{g?u<RkR% z5Mtp!5T<11gL+7AKolcS&XM4+xG-uh9>}O5rpv_Is#z^%nRKCRvLseMZG8>AL#+Y4{i3NJivQ=0!m3Tga&d4n*(L_ zM5kggW1+|e3uF#Wh+Z!iDU3mKK`aSs5;?KN_5eV;Q1l=|64(F_goYP@wZkcT_Vo04 z5X8VziooY_btvZuWEeDH{GqVh>$iViDTZM`p# zBCLRHdf9EhO?=LSDzR5_&> zjBv;w8VJ?Hha+kVAmD%nMDYuri6gJ7jfi*Qr=7y&;^8}qrPLpK0X75e5ZL5&Lz1obvvfPcoCNnTi< zaL9d%q-huc`p;J~2$1YQ*NPB=?ElLWs{40;3!lmR3LV=SU?2B7Ha(f=IC4$iad7OP z=gld>gCAg>|1PX^%?sa3ffabh(sw|e>-Oe3e)7ye59;7qoApqW+>=6&KXX(6t=&O5 zrYb*D{ zn|^h{H%D=#VBCqF4)nWucz*a=%=fE}2XxQz6!0Cvp{Eq&Hcg0dyniCeV*Sn?RdEH-l~g-3l56{TOr`=yuQ+ z&>f&VL3e?+g6;<01NsSQ8|Yrpeb}3F{|TMOZF<8$uqpldhIRShu_|AE_>Bd~>HWz^ z(ZUdY%aJtfz_9;S-bAC^&2)` ze#MnnU46~9*Ij?ZjW_*h)8?CRxpnZzx81(wjyvz#diOm)*>>-J_n(-O1~>?$>mz*E;HK4TmzI^TBO|KqDpx;l~> z+eFJ*wv+sm?Hs4YcKnRv;etGT;`z4RLn?7evMYh_m9XWWA}KBY?y=(?EzW&i5l*z_ zZt_Q#X~Wscu8z*$uRp+pPw~{5-0|GQ8zer<4n3Mbc&PV^+UcZhMPww?QAN^~4J%0DY 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 literal 0 HcmV?d00001 diff --git a/dataset/create_final_text_units.parquet b/dataset/create_final_text_units.parquet new file mode 100644 index 0000000000000000000000000000000000000000..a94120c4a858a2722cd19ff8bfa4572de5468043 GIT binary patch literal 128009 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

Xn{m@6I8%gzo~Lg@mQ!gAvOV*d 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 I{FeX!0z6?Q6#xJL literal 0 HcmV?d00001 diff --git a/dataset/join_text_units_to_entity_ids.parquet b/dataset/join_text_units_to_entity_ids.parquet new file mode 100644 index 0000000000000000000000000000000000000000..6a957953e326d039d77bce71baf7690dd21b725a GIT binary patch literal 10281 zcmeHNeQcf8eZDvGb(~;=i{i*00c>MOp)>S+f1p&&P2$*20|Z0-1uQwA@g>)e6JIAc zU`8kuQJPllpN>u2L@7+DLen;N)uc@nHW;nOCR9x-+CRXmYC=?kO_Qj!Y})f)CxO5Q zTH9&;BTjtpeeZkTbAIRd@jTD(B>Srqw7aeQ@h#nN{@T9o*j>7^RC;vddq3(cl}beU zm^0@#5av9W!I12P<%~obol?aZnpseRDW0h^iaRQ!qLdk*SX3sEVhpp+SuQwzO$pIbIF)%$iVIDPF@kcHVz$X88eQgrlMrpRk`S6= zYRw~D@>(fPt&KzlB_$)7Cu5v;RB={*eMJ&Mq{k((MkdF-7SYMTW3W;ar7MF?L!vc; z$4pGr!C0-BGSX(DBo~rb1{+Qr&w@}&z(F!lhRHcoUXsM4shn+Mqm<|n7|TK`7b5rY z5hhH=XKB`tZOb+!46sT1{_*WeB}uRtag1qAQn|jO1l%JO@giy)grg>VOAr&5xr3iz zXv~xblCmL&VH1ocYADBQFvBnpL$fB7=S*#+@E4Ir1V%i3=eZERGPa_vvKrQAk6jBc zokt|K7ewfsoDt=*6-*gDFG7|j*5kq_qp}e+E90EWSVkxsi3_K zNzjQRFA-&@NnAhHbdFn+v`5u&DrFI4=P=MkB9-7H|ArAZXosTUOc3u9L-|N$gH)K1 z@yd6QPmCCeC?v^E|6d5~1Lc9t_R=e4&`J;~TSQ1^@3ZpOM9N809vh7ae=46{K@zJN zq(J#{nV675iHINxt(4*?QBF@wqOWFFtMVk`U*{a|e_5(a| zNL67RN3J0xO>8TprZ6MYpIN1HMp;`tmVp0 zC<%#uD1jux+(Tzpa-sqL269lKlM)i8#U05K8I>&y<+G8QhWPaVpL|O%41Ds;9+4YNrn+3SOE{#C?FJyMzYFSNtIuY zA;_Yp7;}u~1iDld8aF-Mb9F>EbH2qt*A?_$%#)L?f*NwMAvxL0ma50PJ zYlo38mPwf9lDmGcf#i%)C*(wexxy%mxGSHnPB{V>ni}g_VI3#{wMZ?CfEI;J0@eb; zE8l5SuLuu-f2|}Hs3egYlZZmZ+KA?>D_HTd6D-=a#}`aUfPJ$;|XZh#~9(i*(Ra{CoK`Z{;JEn`m&@B8ug{ew5(k?x-U!}+`Z z`Tj%Oz8-6TF!$|0s=xF6VkZWdwmx>nvH|Y3$@0%aQ!Ije&loey8pD?V)Tc5R~g+SQw5D0 zP?-eJ!D-ZKw$d|iXx6$94+}&ogF6W&L7+&SLx~7(J&+2Kkj0qD4VNgx7(o!p#Uh7Y z^vMMoL1HZ|Ct4%V839=vAw95^8bCTKiAM?wFXrJO>f}g_NOch?3YD+`24VrJ?OiCw zQ0sJN5Cc#aU{aJn@RLd;2k4o_1V&FfXP1(VoJJ8*%m8(i8Z9UZMUl#bDBDDa102T)52jgj=9VIy=W>XYJHYZ9w!KHRW0Ji{oN?TNv zGFcGjP_JA5F0p`4gGAzTi|Qd1@9!04crC1PKaTafj||) zScYPR^MeU4g5{LwNdV`Cj$WFSMq(3j!yF2%Ww9qP5|kv|jD;C+!NMmF`%Ey!CkwGd zxS^Q9a5xAMZ-Xh<=K|r-pdlIXG3cH-!dvLXeJ=Na9a2=0r6LIcFrd*EgF&D`#~>}j z(A)~uDFTrh_6u$V8arTGDDd7U12!+$n@oXM6a4Lv>QPw_`4N~wLQ3c|f=Q5wP-g@H zjuZg1fU_eA&Vh0ztfJ+yK1G41K`C0jZ46ZHgJ6&dnA3tBWrW|spaQZDf(wEJ^1=~` zutIK81&|il4QEM(fOR261z{FSiGr5APXaDfBhNL#LL|uq>PKV@6&`ac9&$mSl-oj~ zIJgs$i&mq!P$4uJ)D|cU=1?|trb$tcpp5{ca{|iHGms|=%pySumzCF>0@5ZxenMP= z-m(O4GX?R5nN*~1=nU!%^`<458}wHFdn2G!gMu1?yv>Z4&o<#2Xbo#27dfN^7y(Fw zOolv!V+1Gwn$Kni5{EWMv^?0+a!No{f~e$1o@>A#i3(x`R5GL{XcUswLwy&jgRURk z9Vm3N1-ofv8!_Ig{{4N73J0y64R(@HnIu^P9O0PAIfM;AkY?OLB#vxZv0!v~66_j~ z>yUiJ1eT!397Y9$*5R&bsbjzgbQoTsq8&&C>eBU}?Qnur#+rr~ijAOizyJz)1kI2@ z*cmbbXjM6Thze+YZs2It38b6@Fa`@vuzQJ9cvbS%${T=*z5wRw!_camgUXfn6DS zE|JD2N~kXM4N?(Zd3<|J2s2aw8Vf5VHSYI20O9=`J2?^nHI2K-z69~ck#~@R61i1i zxg}OwTNy*Iz|kNfgHh|q_UfI(=oSF~=nw<-&#d&NLJmW*MmN%y>5Ko^VNhvHj%m;>KnPtoFb|>=9hgO(=Lh$8K!#s`rdjlMnWF}MKnn=t z5`lq5&x%$ch-bQ*R0AZS#*r&Ra6k*xn$bvaG`!X)fC(BTkwZk>K{*0EU|dEggYLr@ zt@2NX3E&;&ZxM5#eEDCHtQ;_j&eZ^O)X*O{QFDsnw1Hcd(UB2gJRlLRDG0$x^UO*U z<;FOA9S+qlAas!;E;ICP=)t2$?l%K)3FTV|NObUsRDejd1^s()e){sJ!C>LTWN8l7 zM|XH(A#W0Z8OhTf4|AS!qJ3sAVC$XWx;OAKlrA`5LB6=)DZF{n`p27E?G zH?(^bO<*5eeR@B{464Y2FQJ?@gaJBsg(=WaVWb3`IN(3J`2>apnjpF$Hkw}T1Xh~| z*H0&gDFU!wNQ;m$4P(&-jy&1{6RVS(&*F>Dgf; z1H6V~hAh*@XE$Jg#uu|(`wUj`igq-BabDe0MW%Y?Wa4diTgE9bZS)tp;AfeuV6Os)bl?FzGLs711 zL~)pcj7z-0u>f38N+MV|C_>u`9ShwDp%4J05Q2%k-O>L$bw;UC5T)QDbj=uB@Tj98 z3F9E{pKR|w(>~mNw({XV=Tq*>1Y>ML4rzkNkVYvdO@%CzmPUny_w7{2bx@^w#K`PeIMWNdivnMdAk>*(zGO69Z9 ztZ8d|=#|GXEpdUgPXp3~3XaDRs)~$c}sRxhkShr!% z+K28gm$rUm@=QS<}cl}`KM~@4{zD}?Q2)N z$X`4Q{@X6{(y{QRW8q83!k3PPFC7bCIu^ckEZq7>PiUT>>sa`;Ycf5g1()xUK5g+C1=Tv;A_uq{hs}mk<&7RK9d+{{6mg@1~#ow*kb+B=2u~=^a z|8f$J##IxR=NC_1xN+3qlR~2~Z9X+{l-F<=e&0Y^!0_6_;o{i?ckH>r4BY=AV=lI0 z;G%zhYI z+{gyto`G|#f9NK=5q}2mFZFa*Cnj#4x@i^0dj5RF=Zc?SukNl^tGD5|`1xYBDylmV zSNBw_hpW2|x4zrC^P>AFi!Vnm+`qNDYxNqhtyx<4$E($oRXm6H)+BguJ%ra8{O&wC zGbNAAOy7(Z599frdVIdVJUcomrr9kg{Mcl}FWg+awYJlzQ+tm)j2*w{=;85&y>os( z*2iln50B5wIX`uv7_%IwnoIk3RcnDy%!P&9@Ll!fx$6^Q*SH$rec=3cef4^eoxZ)8 zS=WH-eR38zEtz`dm6L1?()JPSKv7uLpEbDG}Sx;MTsx$LHHIWaqWpjOy|v5hcR&vC4NvNi9ny(ebo7wa?p zw$=MnlVoOUVlIx36nla{CYNWJJ%YV2wDw+~JTOrsVtj#KZ2Jd(x?tD%0`@XCk>iwH zjC<_j?AXn%HD>4Qbw4_hFYImCUNSp9N2WP!ou0^UYU19OZ-4pwX~ihR=ZNPAc4Cil zv`*6GC)!x|3lod*+b7#M-&{oeeX-}lZ?lu+=kfdhU}ycvYR=6r&Q3LtOtbU3SFO3J z)%biZ_fGQ(84z>iVC{k}w~rV3gSqKR?Dc~jnYT4JKY35w)wy9{iu9@pHM+T%18IgoPumb&yy1y!S*r)tZORPVc?fP1)sE-rO@n_uW%n zzPYy7wrb*nowN0@aLXbNC|h&fTob4E-7{Xxt4L5_LUq1)*>%3&tJS&vz>DJYwgatE z0EyzF_1bzVN`16`1oeEhfRUcl{h88c?qxjuL4TX(Zwe_*}a!c_Vfj_7h z>gVfZn$?el*4A$;#sTln|9t-QrJlY;cl_9LYTOVO7jI|*a^E???OTQ7-tAC>tA9&h M*ib6%$A1$1FG1F3%K!iX literal 0 HcmV?d00001 diff --git a/dataset/join_text_units_to_relationship_ids.parquet b/dataset/join_text_units_to_relationship_ids.parquet new file mode 100644 index 0000000000000000000000000000000000000000..ce245949c12fd34a8434d1afa4152adc6c0e6060 GIT binary patch literal 17709 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 literal 0 HcmV?d00001 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..aa3a616 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3.8' + +services: + graphrag-visualizer: + image: graphrag-visualizer:1.0 + build: + context: . + dockerfile: ./Dockerfile + ports: + - "3004:3004" + environment: + NODE_ENV: development + volumes: + - /opt/dintal/work/graphrag-visualizer:/app/graphrag-visualizer/data + networks: + - app-network + +networks: + app-network: + driver: bridge diff --git a/package-lock.json b/package-lock.json index 7717fa8..cf2f24e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "axios": "^1.7.2", "fuse.js": "^7.0.0", "hyparquet": "^1.1.0", + "i18next": "^22.4.13", "material-react-table": "^2.13.1", "react": "^18.3.1", "react-app-rewired": "^2.2.1", @@ -29,8 +30,8 @@ "react-dropzone": "^14.2.3", "react-force-graph-2d": "^1.25.5", "react-force-graph-3d": "^1.24.3", - "react-ga4": "^2.1.0", - "react-scripts": "5.0.1", + "react-i18next": "^12.2.0", + "react-scripts": "^5.0.1", "react-table": "^7.8.0", "three": "^0.167.1", "three-spritetext": "^1.8.2", @@ -52,6 +53,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -84,9 +86,10 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz", - "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -129,9 +132,10 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.0.tgz", - "integrity": "sha512-mlcTKuQAjczDRwWLIxv+Q925jaMUO8Jl5dxmWJSSGVYfZ4rKMp8daQvVC3rM1G2v8V+/fO0yIVTSLS+2zcB8rg==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", + "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", + "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -149,6 +153,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", "engines": { "node": ">=10" } @@ -157,16 +162,18 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -179,6 +186,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, @@ -190,6 +198,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -199,11 +208,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", - "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.24.8", + "@babel/compat-data": "^7.25.2", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", @@ -222,16 +232,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "engines": { @@ -245,14 +256,16 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz", - "integrity": "sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", @@ -269,6 +282,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -277,6 +291,7 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -292,6 +307,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.8", "@babel/types": "^7.24.8" @@ -333,6 +349,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, @@ -344,6 +361,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -352,6 +370,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-wrap-function": "^7.25.0", @@ -368,6 +387,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "license": "MIT", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", @@ -396,6 +416,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -432,6 +453,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "license": "MIT", "dependencies": { "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.0", @@ -468,9 +490,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", - "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -479,12 +505,13 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz", - "integrity": "sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.3" }, "engines": { "node": ">=6.9.0" @@ -497,6 +524,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, @@ -511,6 +539,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, @@ -525,6 +554,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", @@ -541,6 +571,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" @@ -557,6 +588,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -572,6 +604,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -589,6 +622,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -605,6 +639,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -621,6 +656,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -638,6 +674,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -653,6 +690,7 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -664,6 +702,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -675,6 +714,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -686,6 +726,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -697,6 +738,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -711,6 +753,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -725,6 +768,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -736,6 +780,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -747,6 +792,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -758,11 +804,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", - "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -772,11 +819,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -789,6 +837,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -800,6 +849,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -811,6 +861,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -825,6 +876,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -836,6 +888,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -847,6 +900,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -858,6 +912,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -869,6 +924,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -880,6 +936,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -891,6 +948,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -905,6 +963,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -916,11 +975,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -933,6 +993,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -948,6 +1009,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -959,14 +1021,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", - "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -979,6 +1042,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -995,6 +1059,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1009,6 +1074,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, @@ -1020,12 +1086,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1038,6 +1105,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -1051,15 +1119,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", - "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -1073,6 +1142,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/template": "^7.24.7" @@ -1088,6 +1158,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, @@ -1102,6 +1173,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1117,6 +1189,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1131,6 +1204,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8" @@ -1146,6 +1220,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1161,6 +1236,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "license": "MIT", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1176,6 +1252,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1188,11 +1265,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.7.tgz", - "integrity": "sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", + "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/plugin-syntax-flow": "^7.24.7" }, "engines": { @@ -1206,6 +1284,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" @@ -1218,13 +1297,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz", - "integrity": "sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.1" }, "engines": { "node": ">=6.9.0" @@ -1237,6 +1317,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1249,11 +1330,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", - "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1266,6 +1348,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1281,6 +1364,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1295,6 +1379,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1310,6 +1395,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", @@ -1326,6 +1412,7 @@ "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8", @@ -1343,6 +1430,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1358,6 +1446,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1373,6 +1462,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1387,6 +1477,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1402,6 +1493,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1417,6 +1509,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -1434,6 +1527,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7" @@ -1449,6 +1543,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1464,6 +1559,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", @@ -1480,6 +1576,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1491,12 +1588,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1509,6 +1607,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-create-class-features-plugin": "^7.24.7", @@ -1526,6 +1625,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1537,11 +1637,12 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.7.tgz", - "integrity": "sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz", + "integrity": "sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1554,6 +1655,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1565,15 +1667,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz", - "integrity": "sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -1586,6 +1689,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", + "license": "MIT", "dependencies": { "@babel/plugin-transform-react-jsx": "^7.24.7" }, @@ -1600,6 +1704,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1615,6 +1720,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" @@ -1630,6 +1736,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1641,14 +1748,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -1663,6 +1771,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1671,6 +1780,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1685,6 +1795,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" @@ -1700,6 +1811,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1714,6 +1826,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1728,6 +1841,7 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8" }, @@ -1739,9 +1853,10 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.0.tgz", - "integrity": "sha512-LZicxFzHIw+Sa3pzgMgSz6gdpsdkfiMObHUzhSIrwKF0+/rP/nuR49u79pSS+zIFJ1FeGeqQD2Dq4QGFbOVvSw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-create-class-features-plugin": "^7.25.0", @@ -1760,6 +1875,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1774,6 +1890,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1789,6 +1906,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1801,12 +1919,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1816,15 +1935,16 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.0.tgz", - "integrity": "sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.0", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.0", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", @@ -1849,13 +1969,13 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", @@ -1865,9 +1985,9 @@ "@babel/plugin-transform-exponentiation-operator": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.24.7", "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.25.0", + "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", @@ -1883,7 +2003,7 @@ "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", @@ -1896,10 +2016,10 @@ "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" @@ -1915,6 +2035,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1923,6 +2044,7 @@ "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -1936,6 +2058,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-validator-option": "^7.24.7", @@ -1955,6 +2078,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-validator-option": "^7.24.7", @@ -1972,7 +2096,8 @@ "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "license": "MIT" }, "node_modules/@babel/runtime": { "version": "7.25.0", @@ -1999,15 +2124,16 @@ } }, "node_modules/@babel/traverse": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz", - "integrity": "sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.0", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2016,9 +2142,10 @@ } }, "node_modules/@babel/types": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", - "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", @@ -2031,17 +2158,20 @@ "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==" + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" }, "node_modules/@csstools/normalize.css": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", - "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", + "license": "CC0-1.0" }, "node_modules/@csstools/postcss-cascade-layers": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" @@ -2061,6 +2191,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2080,6 +2211,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2098,6 +2230,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2116,6 +2249,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2135,6 +2269,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -2154,6 +2289,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2172,6 +2308,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2190,6 +2327,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2209,6 +2347,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2223,6 +2362,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2241,6 +2381,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2259,6 +2400,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2277,6 +2419,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -2292,6 +2435,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "license": "CC0-1.0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2464,6 +2608,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -2475,9 +2620,10 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -2486,6 +2632,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -2507,12 +2654,14 @@ "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==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2527,6 +2676,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -2538,6 +2688,7 @@ "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==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2546,9 +2697,10 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -2592,12 +2744,13 @@ "peer": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -2609,6 +2762,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -2621,12 +2775,14 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead" + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -2640,9 +2796,10 @@ } }, "node_modules/@isaacs/cliui/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==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -2654,6 +2811,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -2665,6 +2823,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -2681,6 +2840,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -2695,6 +2855,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -2711,6 +2872,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2726,6 +2888,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2734,6 +2897,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2742,6 +2906,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2758,6 +2923,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2772,6 +2938,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2787,6 +2954,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2797,12 +2965,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2811,6 +2981,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2822,6 +2993,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", @@ -2868,6 +3040,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2882,6 +3055,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2897,6 +3071,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2907,12 +3082,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2921,6 +3098,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2932,6 +3110,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "license": "MIT", "dependencies": { "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", @@ -2946,6 +3125,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@sinonjs/fake-timers": "^8.0.1", @@ -2962,6 +3142,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", @@ -2975,6 +3156,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", @@ -3018,6 +3200,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3032,6 +3215,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3047,6 +3231,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3057,12 +3242,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3071,6 +3258,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3079,6 +3267,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3090,6 +3279,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.24.1" }, @@ -3101,6 +3291,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", @@ -3114,6 +3305,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3122,6 +3314,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/types": "^27.5.1", @@ -3136,6 +3329,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", @@ -3150,6 +3344,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", @@ -3175,6 +3370,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3189,6 +3385,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3204,6 +3401,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3214,17 +3412,20 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3233,6 +3434,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3241,6 +3443,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3252,6 +3455,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3267,6 +3471,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3281,6 +3486,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3296,6 +3502,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3306,12 +3513,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3320,6 +3529,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3360,6 +3570,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -3382,7 +3593,8 @@ "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" }, "node_modules/@mui/base": { "version": "5.0.0-beta.40", @@ -3712,6 +3924,7 @@ "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", "dependencies": { "eslint-scope": "5.1.1" } @@ -3720,6 +3933,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -3732,6 +3946,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -3740,6 +3955,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3752,6 +3968,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -3760,6 +3977,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -3772,6 +3990,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -3781,6 +4000,7 @@ "version": "0.5.15", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", + "license": "MIT", "dependencies": { "ansi-html": "^0.0.9", "core-js-pure": "^3.23.3", @@ -3837,6 +4057,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" @@ -3859,6 +4080,7 @@ "version": "11.2.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -3878,6 +4100,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" @@ -3890,6 +4113,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -3905,22 +4129,32 @@ "node_modules/@rollup/pluginutils/node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "license": "MIT" }, "node_modules/@rushstack/eslint-patch": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", - "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==" + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "license": "MIT" }, "node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "license": "MIT" }, "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==", + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -3929,6 +4163,7 @@ "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==", + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -3937,6 +4172,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", "dependencies": { "ejs": "^3.1.6", "json5": "^2.2.0", @@ -3948,6 +4184,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3960,6 +4197,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3972,6 +4210,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3984,6 +4223,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3996,6 +4236,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4008,6 +4249,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4020,6 +4262,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4032,6 +4275,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4044,6 +4288,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", @@ -4066,6 +4311,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", "dependencies": { "@svgr/plugin-jsx": "^5.5.0", "camelcase": "^6.2.0", @@ -4083,6 +4329,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.12.6" }, @@ -4098,6 +4345,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@svgr/babel-preset": "^5.5.0", @@ -4116,6 +4364,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "deepmerge": "^4.2.2", @@ -4133,6 +4382,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", @@ -4520,6 +4770,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -4528,6 +4779,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", "engines": { "node": ">=10.13.0" } @@ -4546,6 +4798,7 @@ "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -4558,6 +4811,7 @@ "version": "7.6.8", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } @@ -4566,6 +4820,7 @@ "version": "7.4.4", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -4575,6 +4830,7 @@ "version": "7.20.6", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } @@ -4583,6 +4839,7 @@ "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -4592,6 +4849,7 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4600,6 +4858,7 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4608,38 +4867,33 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "8.56.11", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", - "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" }, "node_modules/@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4651,6 +4905,7 @@ "version": "4.19.5", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4662,6 +4917,7 @@ "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4669,17 +4925,20 @@ "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" }, "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4687,12 +4946,14 @@ "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==" + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -4701,6 +4962,7 @@ "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==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } @@ -4717,17 +4979,20 @@ "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" }, "node_modules/@types/node": { "version": "16.18.104", @@ -4738,6 +5003,7 @@ "version": "1.3.11", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4750,7 +5016,8 @@ "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==" + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "license": "MIT" }, "node_modules/@types/prop-types": { "version": "15.7.12", @@ -4760,17 +5027,20 @@ "node_modules/@types/q": { "version": "1.5.8", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", + "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/react": { "version": "18.3.3", @@ -4810,6 +5080,7 @@ "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4817,17 +5088,20 @@ "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "license": "MIT" }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -4837,6 +5111,7 @@ "version": "1.9.4", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", "dependencies": { "@types/express": "*" } @@ -4845,6 +5120,7 @@ "version": "1.15.7", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", @@ -4855,6 +5131,7 @@ "version": "0.3.36", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4862,7 +5139,8 @@ "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==" + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" }, "node_modules/@types/stats.js": { "version": "0.17.3", @@ -4894,7 +5172,8 @@ "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" }, "node_modules/@types/webxr": { "version": "0.5.19", @@ -4903,9 +5182,10 @@ "dev": true }, "node_modules/@types/ws": { - "version": "8.5.11", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", - "integrity": "sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4914,6 +5194,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -4921,12 +5202,14 @@ "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==" + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -4960,6 +5243,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "5.62.0" }, @@ -4978,6 +5262,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -5004,6 +5289,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -5020,6 +5306,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -5046,6 +5333,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5058,6 +5346,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -5084,6 +5373,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -5109,6 +5399,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5121,6 +5412,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -5129,6 +5421,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -5144,12 +5437,14 @@ "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==" + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -5158,22 +5453,26 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -5183,12 +5482,14 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -5200,6 +5501,7 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -5208,6 +5510,7 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } @@ -5215,12 +5518,14 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -5236,6 +5541,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -5248,6 +5554,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -5259,6 +5566,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -5272,6 +5580,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" @@ -5280,12 +5589,14 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" }, "node_modules/3d-force-graph": { "version": "1.73.3", @@ -5306,12 +5617,14 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead" + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" }, "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==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -5332,6 +5645,7 @@ "version": "8.12.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -5343,6 +5657,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -5352,6 +5667,7 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -5363,6 +5679,7 @@ "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "license": "MIT", "peerDependencies": { "acorn": "^8" } @@ -5371,6 +5688,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -5379,6 +5697,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -5387,6 +5706,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -5395,6 +5715,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" @@ -5407,6 +5728,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -5418,6 +5740,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5433,6 +5756,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -5449,6 +5773,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5463,12 +5788,14 @@ "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -5477,6 +5804,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -5494,6 +5822,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5505,6 +5834,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5531,12 +5861,14 @@ "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" }, "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==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5548,12 +5880,14 @@ "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==" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -5584,12 +5918,14 @@ "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5606,11 +5942,16 @@ } }, "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "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, + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/array-uniq": { @@ -5626,6 +5967,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5645,6 +5987,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5664,6 +6007,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5681,6 +6025,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5698,6 +6043,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5718,6 +6064,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5733,6 +6080,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -5753,12 +6101,14 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" }, "node_modules/async": { "version": "3.2.5", @@ -5774,6 +6124,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } @@ -5787,9 +6138,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { "type": "opencollective", @@ -5804,12 +6155,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -5837,17 +6189,19 @@ } }, "node_modules/axe-core": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz", - "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -5868,17 +6222,19 @@ } }, "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "dependencies": { - "deep-equal": "^2.0.5" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, "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==", + "license": "MIT", "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", @@ -5900,6 +6256,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5914,6 +6271,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5929,6 +6287,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5939,12 +6298,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5953,6 +6314,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5961,12 +6323,13 @@ } }, "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "license": "MIT", "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -5982,6 +6345,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -5999,6 +6363,7 @@ "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==", + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -6014,6 +6379,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -6050,6 +6416,7 @@ "version": "0.4.11", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.2", @@ -6063,17 +6430,19 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6083,6 +6452,7 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.2" }, @@ -6093,25 +6463,30 @@ "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "license": "MIT" }, "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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "license": "MIT", "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-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -6121,6 +6496,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" @@ -6136,6 +6512,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", @@ -6163,7 +6540,8 @@ "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" }, "node_modules/bezier-js": { "version": "6.1.4", @@ -6178,6 +6556,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", "dependencies": { "bluebird": "^3.7.2", "check-types": "^11.2.3", @@ -6193,6 +6572,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", "engines": { "node": "*" } @@ -6201,6 +6581,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -6211,12 +6592,14 @@ "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -6226,7 +6609,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -6240,6 +6623,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6248,6 +6632,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6256,6 +6641,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6266,12 +6652,14 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/bonjour-service": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -6280,7 +6668,8 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -6295,6 +6684,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -6305,12 +6695,13 @@ "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==" + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "funding": [ { "type": "opencollective", @@ -6325,10 +6716,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -6342,6 +6734,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } @@ -6349,12 +6742,14 @@ "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==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" }, "node_modules/builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -6366,6 +6761,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6400,6 +6796,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -6409,6 +6806,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -6420,6 +6818,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -6428,6 +6827,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -6436,9 +6836,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", "funding": [ { "type": "opencollective", @@ -6452,7 +6852,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/canvas-color-tracker": { "version": "1.2.2", @@ -6469,6 +6870,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -6490,6 +6892,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -6497,12 +6900,14 @@ "node_modules/check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", - "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -6526,6 +6931,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -6537,6 +6943,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", "engines": { "node": ">=6.0" } @@ -6551,19 +6958,22 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "license": "MIT" }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -6575,6 +6985,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6583,6 +6994,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -6601,6 +7013,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -6610,6 +7023,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "license": "MIT", "dependencies": { "@types/q": "^1.5.1", "chalk": "^2.4.1", @@ -6622,7 +7036,8 @@ "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==" + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "license": "MIT" }, "node_modules/color-convert": { "version": "1.9.3", @@ -6640,12 +7055,14 @@ "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -6662,6 +7079,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", "engines": { "node": ">= 12" } @@ -6670,6 +7088,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "license": "MIT", "engines": { "node": ">=4.0.0" } @@ -6683,6 +7102,7 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -6694,6 +7114,7 @@ "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "license": "MIT", "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", @@ -6711,6 +7132,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6718,12 +7140,14 @@ "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==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/compression/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", @@ -6733,12 +7157,14 @@ "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", "engines": { "node": ">=0.8" } @@ -6747,6 +7173,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -6758,6 +7185,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6771,6 +7199,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6778,24 +7207,27 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" }, "node_modules/core-js": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", - "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0" + "browserslist": "^4.23.3" }, "funding": { "type": "opencollective", @@ -6803,10 +7235,11 @@ } }, "node_modules/core-js-pure": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz", - "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", + "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -6815,7 +7248,8 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "7.1.0", @@ -6836,6 +7270,7 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -6849,6 +7284,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6857,6 +7293,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6874,6 +7311,7 @@ "version": "6.4.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >=14" }, @@ -6885,6 +7323,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6902,6 +7341,7 @@ "version": "6.11.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", @@ -6936,6 +7376,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", "dependencies": { "cssnano": "^5.0.6", "jest-worker": "^27.0.2", @@ -6973,6 +7414,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6981,6 +7423,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", "bin": { "css-prefers-color-scheme": "dist/cli.cjs" }, @@ -6995,6 +7438,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -7009,12 +7453,14 @@ "node_modules/css-select-base-adapter": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "license": "MIT" }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.4", "source-map": "^0.6.1" @@ -7027,6 +7473,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7035,6 +7482,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -7060,12 +7508,14 @@ "type": "github", "url": "https://github.com/sponsors/csstools" } - ] + ], + "license": "CC0-1.0" }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -7077,6 +7527,7 @@ "version": "5.1.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", @@ -7097,6 +7548,7 @@ "version": "5.2.14", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", @@ -7139,6 +7591,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -7150,6 +7603,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -7161,6 +7615,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -7172,12 +7627,14 @@ "node_modules/csso/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/csso/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7185,12 +7642,14 @@ "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -7201,7 +7660,8 @@ "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" }, "node_modules/csstype": { "version": "3.1.3", @@ -7408,7 +7868,8 @@ "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" }, "node_modules/data-joint": { "version": "1.3.1", @@ -7425,6 +7886,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "license": "MIT", "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -7438,6 +7900,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -7454,6 +7917,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -7470,6 +7934,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -7501,12 +7966,14 @@ "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==" + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "license": "MIT" }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "license": "MIT" }, "node_modules/deep-equal": { "version": "2.2.3", @@ -7542,12 +8009,14 @@ "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==" + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7556,6 +8025,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -7583,6 +8053,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7615,6 +8086,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7632,6 +8104,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -7641,6 +8114,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7648,12 +8122,14 @@ "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -7670,6 +8146,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7677,12 +8154,14 @@ "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" }, "node_modules/diff-sequences": { "version": "27.5.1", @@ -7696,6 +8175,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -7706,12 +8186,14 @@ "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -7723,6 +8205,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -7739,6 +8222,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -7756,6 +8240,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -7774,13 +8259,15 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -7792,6 +8279,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", "engines": { "node": ">=8" } @@ -7800,6 +8288,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -7814,6 +8303,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -7827,6 +8317,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -7836,6 +8327,7 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", "engines": { "node": ">=10" } @@ -7843,27 +8335,32 @@ "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -7875,9 +8372,10 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", - "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==" + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==", + "license": "ISC" }, "node_modules/email-addresses": { "version": "5.0.0", @@ -7889,6 +8387,7 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7899,20 +8398,23 @@ "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==" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7921,6 +8423,7 @@ "version": "5.17.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7933,6 +8436,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -7949,6 +8453,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } @@ -7957,6 +8462,7 @@ "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -8015,7 +8521,8 @@ "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "license": "MIT" }, "node_modules/es-define-property": { "version": "1.0.0", @@ -8059,6 +8566,7 @@ "version": "1.0.19", "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8082,12 +8590,14 @@ "node_modules/es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -8099,6 +8609,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", @@ -8112,6 +8623,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "license": "MIT", "dependencies": { "hasown": "^2.0.0" } @@ -8120,6 +8632,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -8143,7 +8656,8 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "1.0.5", @@ -8157,6 +8671,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -8177,21 +8692,23 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -8240,6 +8757,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", @@ -8267,6 +8785,7 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -8277,14 +8796,16 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", + "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -8301,6 +8822,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -8309,6 +8831,7 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" @@ -8323,25 +8846,27 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz", + "integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.9.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", "tsconfig-paths": "^3.15.0" }, @@ -8356,6 +8881,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -8364,6 +8890,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -8375,6 +8902,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -8383,6 +8911,7 @@ "version": "25.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" }, @@ -8403,16 +8932,17 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", - "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", + "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", + "license": "MIT", "dependencies": { "aria-query": "~5.1.3", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "^4.9.1", - "axobject-query": "~3.1.1", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "es-iterator-helpers": "^1.0.19", @@ -8428,13 +8958,14 @@ "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "node_modules/eslint-plugin-react": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", - "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -8466,6 +8997,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8477,6 +9009,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -8488,6 +9021,7 @@ "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -8504,6 +9038,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -8512,6 +9047,7 @@ "version": "5.11.1", "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -8527,6 +9063,7 @@ "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -8542,6 +9079,7 @@ "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==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -8553,6 +9091,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", "dependencies": { "@types/eslint": "^7.29.0 || ^8.4.1", "jest-worker": "^28.0.2", @@ -8576,6 +9115,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -8584,6 +9124,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -8597,6 +9138,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8611,6 +9153,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8624,12 +9167,14 @@ "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==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "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==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8645,6 +9190,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8655,12 +9201,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8672,6 +9220,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -8687,6 +9236,7 @@ "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -8701,6 +9251,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -8709,6 +9260,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -8720,6 +9272,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -8734,6 +9287,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -8748,6 +9302,7 @@ "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==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -8762,6 +9317,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8773,6 +9329,7 @@ "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==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -8784,6 +9341,7 @@ "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -8800,6 +9358,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -8812,6 +9371,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -8823,6 +9383,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -8834,6 +9395,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -8841,12 +9403,14 @@ "node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -8855,6 +9419,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8862,12 +9427,14 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -8876,6 +9443,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -8906,6 +9474,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -8917,36 +9486,37 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -8961,6 +9531,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8968,17 +9539,20 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -8994,6 +9568,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -9004,22 +9579,26 @@ "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==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" }, "node_modules/fast-uri": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "license": "MIT" }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -9028,6 +9607,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -9039,6 +9619,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } @@ -9053,6 +9634,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -9064,6 +9646,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -9083,6 +9666,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -9111,6 +9695,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } @@ -9119,6 +9704,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -9127,6 +9713,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -9164,6 +9751,7 @@ "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } @@ -9172,6 +9760,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -9180,12 +9769,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -9200,6 +9790,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -9207,7 +9798,8 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "3.3.2", @@ -9246,6 +9838,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -9258,7 +9851,8 @@ "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "license": "ISC" }, "node_modules/follow-redirects": { "version": "1.15.6", @@ -9312,9 +9906,10 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -9330,6 +9925,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "engines": { "node": ">=14" }, @@ -9341,6 +9937,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -9379,6 +9976,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9393,6 +9991,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9408,6 +10007,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9418,12 +10018,14 @@ "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -9439,6 +10041,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -9453,6 +10056,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9461,6 +10065,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -9478,6 +10083,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9489,6 +10095,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -9497,6 +10104,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -9510,6 +10118,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -9518,6 +10127,7 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" }, @@ -9530,6 +10140,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -9557,6 +10168,7 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -9569,7 +10181,8 @@ "node_modules/fs-monkey": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "license": "Unlicense" }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -9581,6 +10194,7 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -9601,6 +10215,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -9642,6 +10257,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -9667,12 +10283,14 @@ "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" }, "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==", + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -9681,6 +10299,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -9692,6 +10311,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -9726,18 +10346,6 @@ "node": ">=10" } }, - "node_modules/gh-pages/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gh-pages/node_modules/commander": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", @@ -9801,6 +10409,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -9811,12 +10420,14 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -9828,6 +10439,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -9841,6 +10453,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -9860,6 +10473,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -9875,6 +10489,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -9890,6 +10505,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globby/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -9909,12 +10533,14 @@ "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -9928,7 +10554,8 @@ "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" }, "node_modules/harmony-reflect": { "version": "1.6.2", @@ -10013,6 +10640,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } @@ -10043,6 +10671,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", "engines": { "node": ">= 6.0.0" } @@ -10051,6 +10680,7 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -10061,12 +10691,14 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10080,12 +10712,14 @@ "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -10094,6 +10728,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "license": "MIT", "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -10114,17 +10749,20 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } - ] + ], + "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -10141,10 +10779,19 @@ "node": ">=12" } }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "dependencies": { + "void-elements": "3.1.0" + } + }, "node_modules/html-webpack-plugin": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -10183,6 +10830,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -10193,12 +10841,14 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -10213,12 +10863,14 @@ "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -10232,6 +10884,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -10245,6 +10898,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -10268,6 +10922,7 @@ "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==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -10280,6 +10935,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -10289,10 +10945,33 @@ "resolved": "https://registry.npmjs.org/hyparquet/-/hyparquet-1.1.0.tgz", "integrity": "sha512-WrLZblRqQ1qO7oLQfJrED+4HrVm9QRASauY+fhd4Ufeuo0ULjQYH95o9oHmoJ7P+S3CBI2B6Z9lzVuhnaXw8Ew==" }, + "node_modules/i18next": { + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", + "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.20.6" + } + }, "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==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -10304,6 +10983,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -10314,7 +10994,8 @@ "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" }, "node_modules/identity-obj-proxy": { "version": "3.0.0", @@ -10328,9 +11009,10 @@ } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -10339,6 +11021,7 @@ "version": "9.0.21", "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -10371,6 +11054,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -10389,6 +11073,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -10427,7 +11112,8 @@ "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" }, "node_modules/internal-slot": { "version": "1.0.7", @@ -10454,6 +11140,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -10497,6 +11184,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -10522,6 +11210,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -10556,9 +11245,10 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -10573,6 +11263,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "license": "MIT", "dependencies": { "is-typed-array": "^1.1.13" }, @@ -10601,6 +11292,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -10615,6 +11307,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10623,6 +11316,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -10634,6 +11328,7 @@ "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10642,6 +11337,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -10650,6 +11346,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -10664,6 +11361,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -10685,12 +11383,14 @@ "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10702,6 +11402,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -10724,6 +11425,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10732,6 +11434,7 @@ "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10740,6 +11443,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10750,7 +11454,8 @@ "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==" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" }, "node_modules/is-regex": { "version": "1.1.4", @@ -10771,6 +11476,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10779,6 +11485,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -10812,6 +11519,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -10851,6 +11559,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.14" }, @@ -10864,7 +11573,8 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" }, "node_modules/is-weakmap": { "version": "2.0.2", @@ -10881,6 +11591,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -10907,6 +11618,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -10922,12 +11634,14 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "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==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -10936,6 +11650,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -10951,6 +11666,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -10959,6 +11675,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -10972,6 +11689,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10980,6 +11698,7 @@ "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==", + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -10994,6 +11713,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11005,6 +11725,7 @@ "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==", + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -11018,6 +11739,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -11026,6 +11748,7 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -11038,6 +11761,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", @@ -11050,6 +11774,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -11064,6 +11789,7 @@ "version": "10.9.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -11081,6 +11807,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11095,6 +11822,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11110,6 +11838,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11120,12 +11849,14 @@ "node_modules/jake/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/jake/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11134,6 +11865,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11153,6 +11885,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -11177,6 +11910,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "execa": "^5.0.0", @@ -11190,6 +11924,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -11219,6 +11954,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11233,6 +11969,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11248,6 +11985,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11258,12 +11996,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11272,6 +12012,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11283,6 +12024,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -11316,6 +12058,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11330,6 +12073,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11345,6 +12089,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11355,12 +12100,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11369,6 +12116,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11380,6 +12128,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.8.0", "@jest/test-sequencer": "^27.5.1", @@ -11422,6 +12171,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11436,6 +12186,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11451,6 +12202,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11461,12 +12213,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11475,6 +12229,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11564,6 +12319,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -11575,6 +12331,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -11590,6 +12347,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11604,6 +12362,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11619,6 +12378,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11629,12 +12389,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11643,6 +12405,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11654,6 +12417,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -11671,6 +12435,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -11695,6 +12460,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", @@ -11720,6 +12486,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/source-map": "^27.5.1", @@ -11747,6 +12514,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11761,6 +12529,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11776,6 +12545,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11786,12 +12556,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11800,6 +12572,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11811,6 +12584,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "license": "MIT", "dependencies": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" @@ -11901,6 +12675,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -11920,6 +12695,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11934,6 +12710,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11949,6 +12726,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11959,12 +12737,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11973,6 +12753,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11984,6 +12765,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*" @@ -11996,6 +12778,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -12012,6 +12795,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -12020,6 +12804,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -12040,6 +12825,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-regex-util": "^27.5.1", @@ -12053,6 +12839,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12067,6 +12854,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12082,6 +12870,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12092,12 +12881,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12106,6 +12897,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12117,6 +12909,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/environment": "^27.5.1", @@ -12148,6 +12941,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12162,6 +12956,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12177,6 +12972,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12187,12 +12983,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12201,6 +12999,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12212,6 +13011,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -12244,6 +13044,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12258,6 +13059,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12273,6 +13075,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12283,12 +13086,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12297,6 +13102,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12308,6 +13114,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "license": "MIT", "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.9" @@ -12320,6 +13127,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/core": "^7.7.2", "@babel/generator": "^7.7.2", @@ -12352,6 +13160,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12366,6 +13175,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12381,6 +13191,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12391,12 +13202,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12405,6 +13218,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12416,6 +13230,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -12432,6 +13247,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12446,6 +13262,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12461,6 +13278,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12471,12 +13289,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12485,6 +13305,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12496,6 +13317,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "camelcase": "^6.2.0", @@ -12512,6 +13334,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12526,6 +13349,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12541,6 +13365,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12551,12 +13376,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12565,6 +13392,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12576,6 +13404,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.1", "chalk": "^4.0.0", @@ -12596,6 +13425,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -12612,6 +13442,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12620,6 +13451,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "license": "MIT", "dependencies": { "@jest/console": "^28.1.3", "@jest/types": "^28.1.3", @@ -12634,6 +13466,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -12647,9 +13480,10 @@ } }, "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -12658,6 +13492,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12672,6 +13507,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12687,6 +13523,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12697,12 +13534,14 @@ "node_modules/jest-watch-typeahead/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/jest-watch-typeahead/node_modules/emittery": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -12714,6 +13553,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12722,6 +13562,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^28.1.3", @@ -12741,6 +13582,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12749,6 +13591,7 @@ "version": "28.0.2", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "license": "MIT", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } @@ -12757,6 +13600,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -12773,6 +13617,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "license": "MIT", "dependencies": { "@jest/test-result": "^28.1.3", "@jest/types": "^28.1.3", @@ -12791,6 +13636,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -12803,6 +13649,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12814,6 +13661,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "ansi-regex": "^5.0.1", @@ -12828,6 +13676,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -12838,12 +13687,14 @@ "node_modules/jest-watch-typeahead/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -12855,6 +13706,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "license": "MIT", "dependencies": { "char-regex": "^2.0.0", "strip-ansi": "^7.0.1" @@ -12870,6 +13722,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "license": "MIT", "engines": { "node": ">=12.20" } @@ -12878,6 +13731,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -12889,9 +13743,10 @@ } }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -12903,6 +13758,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12914,6 +13770,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", @@ -12931,6 +13788,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -12945,6 +13803,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12960,6 +13819,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -12970,12 +13830,14 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12984,6 +13846,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12995,6 +13858,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -13008,6 +13872,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -13016,6 +13881,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -13030,6 +13896,7 @@ "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -13043,6 +13910,7 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -13055,6 +13923,7 @@ "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "license": "MIT", "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -13110,7 +13979,8 @@ "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==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", @@ -13120,17 +13990,20 @@ "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" }, "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==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", @@ -13158,6 +14031,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", "dependencies": { "esprima": "1.2.2", "static-eval": "2.0.2", @@ -13180,6 +14054,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13188,6 +14063,7 @@ "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -13213,6 +14089,7 @@ "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -13221,6 +14098,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13229,6 +14107,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { "node": ">=6" } @@ -13237,6 +14116,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -13244,12 +14124,14 @@ "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" }, "node_modules/language-tags": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", "dependencies": { "language-subtag-registry": "^0.3.20" }, @@ -13258,9 +14140,10 @@ } }, "node_modules/launch-editor": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", - "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "license": "MIT", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -13270,6 +14153,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", "engines": { "node": ">=6" } @@ -13278,6 +14162,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -13290,6 +14175,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -13303,6 +14189,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -13311,6 +14198,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -13344,27 +14232,32 @@ "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", @@ -13381,6 +14274,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } @@ -13405,6 +14299,7 @@ "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", "dependencies": { "sourcemap-codec": "^1.4.8" } @@ -13435,6 +14330,7 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } @@ -13469,12 +14365,14 @@ "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -13483,6 +14381,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", "dependencies": { "fs-monkey": "^1.0.4" }, @@ -13491,19 +14390,25 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -13518,14 +14423,16 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -13538,6 +14445,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -13568,6 +14476,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -13581,9 +14490,10 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", - "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", + "license": "MIT", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -13602,7 +14512,8 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" }, "node_modules/minimatch": { "version": "3.1.2", @@ -13619,6 +14530,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13627,6 +14539,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -13635,6 +14548,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -13651,6 +14565,7 @@ "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -13663,6 +14578,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -13679,6 +14595,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -13689,17 +14606,20 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -13707,7 +14627,8 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" }, "node_modules/ngraph.events": { "version": "1.2.2", @@ -13746,6 +14667,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -13755,6 +14677,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -13762,7 +14685,8 @@ "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==" + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.18", @@ -13773,6 +14697,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13781,6 +14706,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13789,6 +14715,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -13800,6 +14727,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -13811,6 +14739,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -13821,7 +14750,8 @@ "node_modules/nwsapi": { "version": "2.2.12", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", - "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", @@ -13835,6 +14765,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -13894,6 +14825,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -13907,6 +14839,7 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -13924,6 +14857,7 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", + "license": "MIT", "dependencies": { "array.prototype.reduce": "^1.0.6", "call-bind": "^1.0.7", @@ -13944,6 +14878,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -13957,6 +14892,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -13972,12 +14908,14 @@ "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -13989,6 +14927,7 @@ "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==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -14005,6 +14944,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -14019,6 +14959,7 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -14035,6 +14976,7 @@ "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -14076,6 +15018,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -14095,12 +15038,14 @@ "node_modules/package-json-from-dist": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "license": "BlueOak-1.0.0" }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -14137,12 +15082,14 @@ "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -14151,6 +15098,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -14176,6 +15124,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -14189,6 +15138,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -14203,12 +15153,14 @@ "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -14221,17 +15173,20 @@ "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -14272,6 +15227,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -14291,6 +15247,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -14302,6 +15259,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -14313,6 +15271,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -14325,6 +15284,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -14336,6 +15296,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { "node": ">=4" } @@ -14360,9 +15321,9 @@ } }, "node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -14377,10 +15338,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -14390,6 +15352,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -14408,6 +15371,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "license": "CC0-1.0", "engines": { "node": ">=8" }, @@ -14420,6 +15384,7 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.9", "postcss-value-parser": "^4.2.0" @@ -14432,6 +15397,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14446,6 +15412,7 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14464,6 +15431,7 @@ "version": "8.0.4", "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14482,6 +15450,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14500,6 +15469,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -14517,6 +15487,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -14532,6 +15503,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14550,6 +15522,7 @@ "version": "12.1.11", "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14568,6 +15541,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -14586,6 +15560,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -14604,6 +15579,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14615,6 +15591,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14626,6 +15603,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14637,6 +15615,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14648,6 +15627,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -14667,6 +15647,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14681,6 +15662,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8.1.4" } @@ -14689,6 +15671,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -14703,6 +15686,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -14717,6 +15701,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", "peerDependencies": { "postcss": "^8.1.0" } @@ -14725,6 +15710,7 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -14740,6 +15726,7 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14758,6 +15745,7 @@ "version": "15.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -14774,6 +15762,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8.0.0" } @@ -14782,6 +15771,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, @@ -14800,6 +15790,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -14829,6 +15820,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" @@ -14853,6 +15845,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -14861,9 +15854,10 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -14875,6 +15869,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", @@ -14896,6 +15891,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -14907,6 +15903,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -14918,6 +15915,7 @@ "version": "5.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^5.1.1" @@ -14933,6 +15931,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -14950,6 +15949,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14964,6 +15964,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.1.0", @@ -14980,6 +15981,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "cssnano-utils": "^3.1.0", @@ -14996,6 +15998,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -15010,6 +16013,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -15021,6 +16025,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -15037,6 +16042,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "license": "ISC", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -15051,6 +16057,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -15075,6 +16082,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.1.1" }, @@ -15089,6 +16097,7 @@ "version": "10.2.0", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -15108,6 +16117,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "license": "CC0-1.0", "dependencies": { "@csstools/normalize.css": "*", "postcss-browser-comments": "^4", @@ -15125,6 +16135,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -15136,6 +16147,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15150,6 +16162,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15164,6 +16177,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15178,6 +16192,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15192,6 +16207,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15206,6 +16222,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -15221,6 +16238,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" @@ -15236,6 +16254,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15260,6 +16279,7 @@ "url": "https://liberapay.com/mrcgrtz" } ], + "license": "MIT", "engines": { "node": "^12 || ^14 || >=16" }, @@ -15271,6 +16291,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" @@ -15286,6 +16307,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15304,6 +16326,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8" } @@ -15312,6 +16335,7 @@ "version": "7.0.5", "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15330,6 +16354,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-cascade-layers": "^1.1.1", "@csstools/postcss-color-function": "^1.1.1", @@ -15396,6 +16421,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -15414,6 +16440,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0" @@ -15429,6 +16456,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15443,6 +16471,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", "peerDependencies": { "postcss": "^8.0.3" } @@ -15451,6 +16480,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -15466,9 +16496,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -15481,6 +16512,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" @@ -15496,6 +16528,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -15504,6 +16537,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -15515,12 +16549,14 @@ "node_modules/postcss-svgo/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/postcss-svgo/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15529,6 +16565,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -15549,6 +16586,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -15562,12 +16600,14 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -15576,6 +16616,7 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -15587,6 +16628,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -15619,12 +16661,14 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", "dependencies": { "asap": "~2.0.6" } @@ -15633,6 +16677,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -15660,6 +16705,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -15672,6 +16718,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -15684,12 +16731,14 @@ "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "license": "MIT" }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -15699,17 +16748,19 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -15721,7 +16772,8 @@ "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -15740,12 +16792,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", "dependencies": { "performance-now": "^2.1.0" } @@ -15754,6 +16808,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -15762,6 +16817,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15770,6 +16826,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -15784,6 +16841,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -15792,6 +16850,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -15814,6 +16873,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", "dependencies": { "core-js": "^3.19.2", "object-assign": "^4.1.1", @@ -15829,7 +16889,8 @@ "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" }, "node_modules/react-app-rewired": { "version": "2.2.1", @@ -15857,6 +16918,7 @@ "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -15891,6 +16953,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -15905,6 +16968,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -15920,6 +16984,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -15930,12 +16995,14 @@ "node_modules/react-dev-utils/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/react-dev-utils/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -15947,6 +17014,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -15962,6 +17030,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15970,6 +17039,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", "engines": { "node": ">= 12.13.0" } @@ -15978,6 +17048,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -15992,6 +17063,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -16006,6 +17078,7 @@ "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==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -16020,6 +17093,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16058,7 +17132,8 @@ "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", + "license": "MIT" }, "node_modules/react-force-graph-2d": { "version": "1.25.5", @@ -16097,6 +17172,27 @@ "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==" }, + "node_modules/react-i18next": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz", + "integrity": "sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==", + "dependencies": { + "@babel/runtime": "^7.20.6", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 19.0.0", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -16121,6 +17217,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -16129,6 +17226,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", @@ -16228,6 +17326,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -16236,6 +17335,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -16249,6 +17349,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -16260,6 +17361,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -16283,6 +17385,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16302,12 +17405,14 @@ "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -16324,6 +17429,7 @@ "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -16331,7 +17437,8 @@ "node_modules/regex-parser": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "license": "MIT" }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", @@ -16354,6 +17461,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "license": "MIT", "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", @@ -16370,6 +17478,7 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -16389,6 +17498,7 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -16402,6 +17512,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -16414,6 +17525,7 @@ "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==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -16422,6 +17534,7 @@ "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==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -16429,7 +17542,8 @@ "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==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.8", @@ -16451,6 +17565,7 @@ "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==", + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -16462,6 +17577,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -16470,6 +17586,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "license": "MIT", "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", @@ -16496,17 +17613,20 @@ "node_modules/resolve-url-loader/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==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "node_modules/resolve-url-loader/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" }, "node_modules/resolve-url-loader/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" @@ -16523,6 +17643,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -16531,6 +17652,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -16539,6 +17661,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -16547,6 +17670,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -16557,6 +17681,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -16571,6 +17696,7 @@ "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "license": "MIT", "bin": { "rollup": "dist/bin/rollup" }, @@ -16586,6 +17712,7 @@ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -16600,6 +17727,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -16608,6 +17736,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16621,6 +17750,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -16629,6 +17759,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16654,6 +17785,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -16662,6 +17794,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -16692,12 +17825,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -16713,17 +17848,20 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sanitize.css": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" }, "node_modules/sass-loader": { "version": "12.6.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "license": "MIT", "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" @@ -16760,12 +17898,14 @@ "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" }, "node_modules/saxes": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -16785,6 +17925,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -16803,6 +17944,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -16818,6 +17960,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -16828,17 +17971,20 @@ "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -16851,6 +17997,7 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -16859,9 +18006,10 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -16885,6 +18033,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -16892,17 +18041,29 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -16911,6 +18072,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -16928,6 +18090,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -16936,6 +18099,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -16944,6 +18108,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -16957,35 +18122,40 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -17024,12 +18194,14 @@ "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "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==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -17041,6 +18213,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } @@ -17049,6 +18222,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -17073,17 +18247,20 @@ "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==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -17092,6 +18269,7 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -17101,20 +18279,23 @@ "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17123,6 +18304,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "license": "MIT", "dependencies": { "abab": "^2.0.5", "iconv-lite": "^0.6.3", @@ -17143,6 +18325,7 @@ "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==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -17152,6 +18335,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17160,12 +18344,14 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -17181,6 +18367,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -17193,18 +18380,21 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -17216,6 +18406,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -17223,12 +18414,14 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" }, "node_modules/static-eval": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", "dependencies": { "escodegen": "^1.8.1" } @@ -17237,6 +18430,7 @@ "version": "1.14.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^4.2.0", @@ -17258,6 +18452,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -17266,6 +18461,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -17278,6 +18474,7 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -17302,6 +18499,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -17311,6 +18509,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -17322,6 +18521,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -17341,6 +18541,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -17349,6 +18550,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -17360,12 +18562,14 @@ "node_modules/string-natural-compare": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -17380,6 +18584,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -17392,17 +18597,20 @@ "node_modules/string-width-cjs/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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/string.prototype.includes": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" @@ -17412,6 +18620,7 @@ "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -17437,6 +18646,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" @@ -17446,6 +18656,7 @@ "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -17463,6 +18674,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -17476,6 +18688,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -17492,6 +18705,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -17505,6 +18719,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -17517,6 +18732,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -17528,6 +18744,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -17536,6 +18753,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -17544,6 +18762,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -17563,6 +18782,7 @@ "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==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -17586,6 +18806,7 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", "engines": { "node": ">= 12.13.0" }, @@ -17601,6 +18822,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-selector-parser": "^6.0.4" @@ -17621,6 +18843,7 @@ "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -17642,6 +18865,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -17650,6 +18874,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -17658,6 +18883,7 @@ "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -17677,6 +18903,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -17702,6 +18929,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -17714,6 +18942,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -17722,6 +18951,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17743,13 +18973,15 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, "node_modules/svgo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "license": "MIT", "dependencies": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -17776,6 +19008,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^3.2.1", @@ -17787,6 +19020,7 @@ "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -17798,6 +19032,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -17807,6 +19042,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -17815,12 +19051,14 @@ "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" }, "node_modules/svgo/node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "~1.0.0" } @@ -17828,12 +19066,14 @@ "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==" + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" }, "node_modules/tailwindcss": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", - "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -17870,6 +19110,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -17878,6 +19119,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -17886,6 +19128,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "temp-dir": "^2.0.0", @@ -17903,6 +19146,7 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -17914,6 +19158,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" @@ -17926,9 +19171,10 @@ } }, "node_modules/terser": { - "version": "5.31.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", - "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -17946,6 +19192,7 @@ "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -17979,6 +19226,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -17995,12 +19243,14 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "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==", + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -18013,12 +19263,14 @@ "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==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -18027,6 +19279,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -18093,12 +19346,14 @@ "node_modules/throat": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "license": "MIT" }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" }, "node_modules/tinycolor2": { "version": "1.6.0", @@ -18108,7 +19363,8 @@ "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" }, "node_modules/to-fast-properties": { "version": "2.0.0", @@ -18122,6 +19378,7 @@ "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==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -18133,6 +19390,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } @@ -18141,6 +19399,7 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -18155,6 +19414,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -18163,6 +19423,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -18185,17 +19446,20 @@ "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -18207,6 +19471,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -18218,6 +19483,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -18231,6 +19497,7 @@ "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -18244,12 +19511,14 @@ "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -18261,6 +19530,7 @@ "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==", + "license": "MIT", "engines": { "node": ">=4" } @@ -18269,6 +19539,7 @@ "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==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -18280,6 +19551,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -18292,6 +19564,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -18305,6 +19578,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -18323,6 +19597,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -18342,6 +19617,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -18361,6 +19637,7 @@ "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==", + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } @@ -18381,6 +19658,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -18394,12 +19672,14 @@ "node_modules/underscore": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -18408,6 +19688,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -18417,9 +19698,10 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -18428,6 +19710,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -18436,6 +19719,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -18455,6 +19739,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -18462,12 +19747,14 @@ "node_modules/unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", "engines": { "node": ">=4", "yarn": "*" @@ -18506,6 +19793,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -18514,6 +19802,7 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -18522,12 +19811,14 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/util.promisify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.2", @@ -18541,12 +19832,14 @@ "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -18555,6 +19848,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -18563,6 +19857,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "license": "ISC", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", @@ -18575,21 +19870,32 @@ "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==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, "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.", + "license": "MIT", "dependencies": { "browser-process-hrtime": "^1.0.0" } @@ -18598,6 +19904,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "license": "MIT", "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -18609,14 +19916,16 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -18629,6 +19938,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -18642,16 +19952,17 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "license": "BSD-2-Clause", "engines": { "node": ">=10.4" } }, "node_modules/webpack": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", - "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "license": "MIT", "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -18660,7 +19971,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -18696,6 +20007,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -18718,6 +20030,7 @@ "version": "4.15.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -18776,6 +20089,7 @@ "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -18796,6 +20110,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "license": "MIT", "dependencies": { "tapable": "^2.0.0", "webpack-sources": "^2.2.0" @@ -18811,6 +20126,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -18819,6 +20135,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "license": "MIT", "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -18831,6 +20148,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -18839,6 +20157,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -18851,6 +20170,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -18859,6 +20179,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -18876,6 +20197,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -18889,6 +20211,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -18897,6 +20220,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "license": "MIT", "dependencies": { "iconv-lite": "0.4.24" } @@ -18905,6 +20229,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -18915,17 +20240,20 @@ "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" }, "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==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -18939,6 +20267,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -18965,12 +20294,13 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "license": "MIT", "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -18979,8 +20309,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -19028,6 +20358,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -19036,6 +20367,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "license": "MIT", "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" @@ -19045,6 +20377,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19053,6 +20386,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "license": "MIT", "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", @@ -19100,6 +20434,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "license": "MIT", "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", @@ -19116,6 +20451,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -19131,6 +20467,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -19144,12 +20481,14 @@ "node_modules/workbox-build/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/workbox-build/node_modules/source-map": { "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "license": "BSD-3-Clause", "dependencies": { "whatwg-url": "^7.0.0" }, @@ -19161,6 +20500,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", "dependencies": { "punycode": "^2.1.0" } @@ -19168,12 +20508,14 @@ "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" }, "node_modules/workbox-build/node_modules/whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", @@ -19185,6 +20527,7 @@ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", "deprecated": "workbox-background-sync@6.6.0", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19192,12 +20535,14 @@ "node_modules/workbox-core": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==", + "license": "MIT" }, "node_modules/workbox-expiration": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "license": "MIT", "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" @@ -19208,6 +20553,7 @@ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "license": "MIT", "dependencies": { "workbox-background-sync": "6.6.0", "workbox-core": "6.6.0", @@ -19219,6 +20565,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19227,6 +20574,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0", @@ -19237,6 +20585,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19245,6 +20594,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "license": "MIT", "dependencies": { "workbox-cacheable-response": "6.6.0", "workbox-core": "6.6.0", @@ -19258,6 +20608,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19266,6 +20617,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19274,6 +20626,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0" @@ -19282,12 +20635,14 @@ "node_modules/workbox-sw": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==", + "license": "MIT" }, "node_modules/workbox-webpack-plugin": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "^2.1.0", "pretty-bytes": "^5.4.1", @@ -19306,6 +20661,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -19314,6 +20670,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -19323,6 +20680,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "license": "MIT", "dependencies": { "@types/trusted-types": "^2.0.2", "workbox-core": "6.6.0" @@ -19332,6 +20690,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -19349,6 +20708,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -19365,6 +20725,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -19379,6 +20740,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -19389,12 +20751,14 @@ "node_modules/wrap-ansi-cjs/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -19409,6 +20773,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -19419,7 +20784,8 @@ "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/wrappy": { "version": "1.0.2", @@ -19430,6 +20796,7 @@ "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==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -19441,6 +20808,7 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -19460,17 +20828,20 @@ "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==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "license": "Apache-2.0" }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } @@ -19492,6 +20863,7 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -19509,6 +20881,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { "node": ">=10" } @@ -19517,6 +20890,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -19555,9 +20929,9 @@ } }, "@babel/compat-data": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz", - "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==" + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==" }, "@babel/core": { "version": "7.24.9", @@ -19589,9 +20963,9 @@ } }, "@babel/eslint-parser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.0.tgz", - "integrity": "sha512-mlcTKuQAjczDRwWLIxv+Q925jaMUO8Jl5dxmWJSSGVYfZ4rKMp8daQvVC3rM1G2v8V+/fO0yIVTSLS+2zcB8rg==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", + "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", "requires": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -19611,11 +20985,11 @@ } }, "@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "requires": { - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -19639,11 +21013,11 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", - "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "requires": { - "@babel/compat-data": "^7.24.8", + "@babel/compat-data": "^7.25.2", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", @@ -19658,16 +21032,16 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "dependencies": { @@ -19679,9 +21053,9 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz", - "integrity": "sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", @@ -19833,17 +21207,20 @@ } }, "@babel/parser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", - "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==" + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "requires": { + "@babel/types": "^7.25.6" + } }, "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz", - "integrity": "sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", "requires": { "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.3" } }, "@babel/plugin-bugfix-safari-class-field-initializer-scope": { @@ -20008,19 +21385,19 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", - "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", "requires": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", "requires": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-syntax-import-meta": { @@ -20112,11 +21489,11 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", "requires": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-syntax-unicode-sets-regex": { @@ -20137,14 +21514,14 @@ } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", - "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.4" } }, "@babel/plugin-transform-async-to-generator": { @@ -20174,12 +21551,12 @@ } }, "@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-class-static-block": { @@ -20193,15 +21570,15 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", - "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" } }, @@ -20276,11 +21653,11 @@ } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.7.tgz", - "integrity": "sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", + "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", "requires": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/plugin-syntax-flow": "^7.24.7" } }, @@ -20294,13 +21671,13 @@ } }, "@babel/plugin-transform-function-name": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz", - "integrity": "sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", "requires": { "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.1" } }, "@babel/plugin-transform-json-strings": { @@ -20313,11 +21690,11 @@ } }, "@babel/plugin-transform-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", - "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", "requires": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-logical-assignment-operators": { @@ -20459,12 +21836,12 @@ } }, "@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-private-property-in-object": { @@ -20487,11 +21864,11 @@ } }, "@babel/plugin-transform-react-constant-elements": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.7.tgz", - "integrity": "sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz", + "integrity": "sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==", "requires": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-react-display-name": { @@ -20503,15 +21880,15 @@ } }, "@babel/plugin-transform-react-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz", - "integrity": "sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.2" } }, "@babel/plugin-transform-react-jsx-development": { @@ -20549,14 +21926,14 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", "requires": { "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -20610,9 +21987,9 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.0.tgz", - "integrity": "sha512-LZicxFzHIw+Sa3pzgMgSz6gdpsdkfiMObHUzhSIrwKF0+/rP/nuR49u79pSS+zIFJ1FeGeqQD2Dq4QGFbOVvSw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-create-class-features-plugin": "^7.25.0", @@ -20648,24 +22025,24 @@ } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/preset-env": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.0.tgz", - "integrity": "sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", "requires": { - "@babel/compat-data": "^7.25.0", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.0", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", @@ -20690,13 +22067,13 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", @@ -20706,9 +22083,9 @@ "@babel/plugin-transform-exponentiation-operator": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.24.7", "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.25.0", + "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", @@ -20724,7 +22101,7 @@ "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", @@ -20737,10 +22114,10 @@ "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" @@ -20812,23 +22189,23 @@ } }, "@babel/traverse": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz", - "integrity": "sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "requires": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.0", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", - "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "requires": { "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", @@ -21106,9 +22483,9 @@ } }, "@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==" + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==" }, "@eslint/eslintrc": { "version": "2.1.4", @@ -21155,9 +22532,9 @@ } }, "@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==" + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==" }, "@floating-ui/core": { "version": "1.6.5", @@ -21194,11 +22571,11 @@ "peer": true }, "@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "requires": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" } @@ -21227,9 +22604,9 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" }, "ansi-styles": { "version": "6.2.1", @@ -22025,6 +23402,11 @@ } } }, + "@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" + }, "@rushstack/eslint-patch": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", @@ -22512,27 +23894,18 @@ } }, "@types/eslint": { - "version": "8.56.11", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", - "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", "requires": { "@types/estree": "*", "@types/json-schema": "*" } }, - "@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "@types/express": { "version": "4.17.21", @@ -22575,9 +23948,9 @@ "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "requires": { "@types/node": "*" } @@ -22661,9 +24034,9 @@ "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, "@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", + "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==" }, "@types/range-parser": { "version": "1.2.7", @@ -22801,9 +24174,9 @@ "dev": true }, "@types/ws": { - "version": "8.5.11", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", - "integrity": "sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "requires": { "@types/node": "*" } @@ -23310,9 +24683,13 @@ } }, "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } }, "array-uniq": { "version": "1.0.3", @@ -23440,15 +24817,15 @@ "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" }, "autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "requires": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" } }, @@ -23461,14 +24838,14 @@ } }, "axe-core": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz", - "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==" + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==" }, "axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -23488,12 +24865,9 @@ } }, "axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "requires": { - "deep-equal": "^2.0.5" - } + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==" }, "babel-jest": { "version": "27.5.1", @@ -23556,12 +24930,12 @@ } }, "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -23635,12 +25009,12 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" } }, "babel-plugin-polyfill-regenerator": { @@ -23657,22 +25031,25 @@ "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "requires": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" } }, "babel-preset-jest": { @@ -23750,9 +25127,9 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "requires": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -23762,7 +25139,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -23833,13 +25210,13 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "requires": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" } }, @@ -23914,9 +25291,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==" + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==" }, "canvas-color-tracker": { "version": "1.2.2", @@ -23987,9 +25364,9 @@ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" }, "cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" }, "clean-css": { "version": "5.3.3", @@ -24173,22 +25550,22 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "core-js": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", - "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==" + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==" }, "core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "requires": { - "browserslist": "^4.23.0" + "browserslist": "^4.23.3" } }, "core-js-pure": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz", - "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==" + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", + "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==" }, "core-util-is": { "version": "1.0.3", @@ -24933,9 +26310,9 @@ } }, "electron-to-chromium": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", - "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==" + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==" }, "email-addresses": { "version": "5.0.0", @@ -24959,9 +26336,9 @@ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" }, "enhanced-resolve": { "version": "5.17.1", @@ -25177,15 +26554,15 @@ } }, "eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -25372,9 +26749,9 @@ } }, "eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", + "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", "requires": { "debug": "^3.2.7" }, @@ -25399,25 +26776,26 @@ } }, "eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz", + "integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==", "requires": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.9.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", "tsconfig-paths": "^3.15.0" }, @@ -25454,16 +26832,16 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", - "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", + "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", "requires": { "aria-query": "~5.1.3", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "^4.9.1", - "axobject-query": "~3.1.1", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "es-iterator-helpers": "^1.0.19", @@ -25477,9 +26855,9 @@ } }, "eslint-plugin-react": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", - "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", "requires": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -25685,36 +27063,36 @@ } }, "express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -25903,12 +27281,12 @@ } }, "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -26005,9 +27383,9 @@ } }, "foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "requires": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -26267,15 +27645,6 @@ "globby": "^6.1.0" }, "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, "commander": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", @@ -26387,6 +27756,13 @@ "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + } } }, "gopd": { @@ -26576,6 +27952,14 @@ "terser": "^5.10.0" } }, + "html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "requires": { + "void-elements": "3.1.0" + } + }, "html-webpack-plugin": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", @@ -26672,6 +28056,14 @@ "resolved": "https://registry.npmjs.org/hyparquet/-/hyparquet-1.1.0.tgz", "integrity": "sha512-WrLZblRqQ1qO7oLQfJrED+4HrVm9QRASauY+fhd4Ufeuo0ULjQYH95o9oHmoJ7P+S3CBI2B6Z9lzVuhnaXw8Ew==" }, + "i18next": { + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", + "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", + "requires": { + "@babel/runtime": "^7.20.6" + } + }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -26700,9 +28092,9 @@ } }, "ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" }, "immer": { "version": "9.0.21", @@ -26850,9 +28242,9 @@ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" }, "is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "requires": { "hasown": "^2.0.2" } @@ -28332,9 +29724,9 @@ } }, "@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "requires": { "@types/yargs-parser": "*" } @@ -28507,9 +29899,9 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" } } }, @@ -28782,9 +30174,9 @@ } }, "launch-editor": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", - "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", "requires": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -28962,9 +30354,9 @@ } }, "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" }, "merge-stream": { "version": "2.0.0", @@ -28988,9 +30380,9 @@ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, "micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -29025,9 +30417,9 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, "mini-css-extract-plugin": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", - "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", "requires": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -29477,9 +30869,9 @@ } }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "path-type": { "version": "4.0.0", @@ -29492,9 +30884,9 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" }, "picomatch": { "version": "2.3.1", @@ -29588,13 +30980,13 @@ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" }, "postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "requires": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, "postcss-attribute-case-insensitive": { @@ -29835,9 +31227,9 @@ "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==" }, "yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==" } } }, @@ -30183,9 +31575,9 @@ } }, "postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -30365,11 +31757,11 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "requires": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" } }, "querystringify": { @@ -30640,6 +32032,15 @@ "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==" }, + "react-i18next": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz", + "integrity": "sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==", + "requires": { + "@babel/runtime": "^7.20.6", + "html-parse-stringify": "^3.0.1" + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -30794,9 +32195,9 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "requires": { "regenerate": "^1.4.2" } @@ -31162,9 +32563,9 @@ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" }, "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "requires": { "debug": "2.6.9", "depd": "2.0.0", @@ -31196,6 +32597,11 @@ } } }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -31272,14 +32678,14 @@ } }, "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" } }, "set-function-length": { @@ -31376,9 +32782,9 @@ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" }, "source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" }, "source-map-loader": { "version": "3.0.2", @@ -31923,9 +33329,9 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "tailwindcss": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", - "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", "requires": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -31989,9 +33395,9 @@ } }, "terser": { - "version": "5.31.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", - "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -32334,9 +33740,9 @@ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==" }, "unicode-match-property-ecmascript": { "version": "2.0.0", @@ -32348,9 +33754,9 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==" }, "unicode-property-aliases-ecmascript": { "version": "2.1.0", @@ -32464,6 +33870,11 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -32489,9 +33900,9 @@ } }, "watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -32516,11 +33927,10 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" }, "webpack": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", - "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "requires": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -32529,7 +33939,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -32733,12 +34143,12 @@ } }, "which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "requires": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -32747,8 +34157,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" } }, "which-collection": { diff --git a/package.json b/package.json index 35d682e..1c9bb0e 100644 --- a/package.json +++ b/package.json @@ -25,18 +25,19 @@ "react-dropzone": "^14.2.3", "react-force-graph-2d": "^1.25.5", "react-force-graph-3d": "^1.24.3", - "react-ga4": "^2.1.0", - "react-scripts": "5.0.1", + "react-scripts": "^5.0.1", "react-table": "^7.8.0", "three": "^0.167.1", "three-spritetext": "^1.8.2", "typescript": "^4.9.5", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "i18next": "^22.4.13", + "react-i18next": "^12.2.0" }, "scripts": { "predeploy": "npm run build", "deploy": "gh-pages -d build", - "start": "react-app-rewired start", + "start": "PORT=3004 react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test", "eject": "react-scripts eject" diff --git a/src/app/components/APISearchDrawer.tsx b/src/app/components/APISearchDrawer.tsx index b33adfe..8132d7c 100644 --- a/src/app/components/APISearchDrawer.tsx +++ b/src/app/components/APISearchDrawer.tsx @@ -25,6 +25,7 @@ import CloseIcon from "@mui/icons-material/Close"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import ExpandLessIcon from "@mui/icons-material/ExpandLess"; import { SearchResult } from "../models/search-result"; +import { useTranslation } from 'react-i18next'; interface APISearchDrawerProps { apiDrawerOpen: boolean; @@ -50,6 +51,7 @@ const APISearchDrawer: React.FC = ({ hasCovariates, serverUp, }) => { + const { t } = useTranslation('graphViewer'); const [query, setQuery] = useState(""); const [loadingLocal, setLoadingLocal] = useState(false); const [loadingGlobal, setLoadingGlobal] = useState(false); @@ -121,7 +123,7 @@ const APISearchDrawer: React.FC = ({ // await handleSearch("local"); // Default to global search on enter // } // }} - placeholder="Enter search query for API" + placeholder={t('apiSearchDrawer.placeholder') || 'Enter search query for API'} fullWidth margin="normal" /> @@ -139,7 +141,7 @@ const APISearchDrawer: React.FC = ({ loadingGlobal } > - {loadingLocal ? : "Local Search"} + {loadingLocal ? : t('apiSearchDrawer.localSearch')} {!serverUp && ( - Server is not running. Please start the server to use the API. - Follow the instructions at{" "} + {t('apiSearchDrawer.serverNotRunning')}{" "} - graphrag-api + {t('apiSearchDrawer.graphragApi')} . )} {!localSearchEnabled && ( - Please enable "Include Text Unit" and "Include Communities" - {hasCovariates && ', and "Include Covariates"'} to use Local - Search. + {t('apiSearchDrawer.enableLocalSearch', { hasCovariates })} )} {!globalSearchEnabled && ( - Please enable "Include Communities" to use Global Search. + {t('apiSearchDrawer.enableGlobalSearch')} )} @@ -202,11 +201,11 @@ const APISearchDrawer: React.FC = ({ - Completion Time:{" "} + {t('apiSearchDrawer.completionTime')}:{" "} {apiSearchResults.completion_time} ms - LLM Calls: {apiSearchResults.llm_calls} + {t('apiSearchDrawer.llmCalls')}: {apiSearchResults.llm_calls} Prompt Tokens:{" "} diff --git a/src/app/components/DataTableContainer.tsx b/src/app/components/DataTableContainer.tsx index 0577fd1..e3cbc05 100644 --- a/src/app/components/DataTableContainer.tsx +++ b/src/app/components/DataTableContainer.tsx @@ -18,6 +18,7 @@ import { communityReportColumns, } from "../models/community-report"; import { Covariate, covariateColumns } from "../models/covariate"; +import { useTranslation } from 'react-i18next'; interface DataTableContainerProps { selectedTable: string; @@ -52,6 +53,7 @@ const DataTableContainer: React.FC = ({ communityReports, covariates, }) => { + const { t } = useTranslation('dataview'); return ( <> = ({ selected={selectedTable === "entities"} onClick={() => setSelectedTable("entities")} > - + setSelectedTable("relationships")} > - + setSelectedTable("documents")} > - + setSelectedTable("textunits")} > - + setSelectedTable("communities")} > - + setSelectedTable("communityReports")} > - + setSelectedTable("covariates")} > - + @@ -114,7 +116,7 @@ const DataTableContainer: React.FC = ({ {selectedTable === "entities" && ( <> - Entities (create_final_entities.parquet) + {t('dataViewer.entitiesTitle')} @@ -122,7 +124,7 @@ const DataTableContainer: React.FC = ({ {selectedTable === "relationships" && ( <> - Relationships (create_final_relationships.parquet) + {t('dataViewer.relationshipsTitle')} @@ -130,7 +132,7 @@ const DataTableContainer: React.FC = ({ {selectedTable === "documents" && ( <> - Documents (create_final_documents.parquet) + {t('dataViewer.documentsTitle')} @@ -138,7 +140,7 @@ const DataTableContainer: React.FC = ({ {selectedTable === "textunits" && ( <> - TextUnits (create_final_text_units.parquet) + {t('dataViewer.textUnitsTitle')} @@ -146,7 +148,7 @@ const DataTableContainer: React.FC = ({ {selectedTable === "communities" && ( <> - Communities (create_final_communities.parquet) + {t('dataViewer.communitiesTitle')} @@ -154,7 +156,7 @@ const DataTableContainer: React.FC = ({ {selectedTable === "communityReports" && ( <> - Community Reports (create_final_community_reports.parquet) + {t('dataViewer.communityReportsTitle')} = ({ {selectedTable === "covariates" && ( <> - Covariates (create_final_covariates.parquet) + {t('dataViewer.covariatesTitle')} diff --git a/src/app/components/DetailDrawer.tsx b/src/app/components/DetailDrawer.tsx index 9472548..24bb55d 100644 --- a/src/app/components/DetailDrawer.tsx +++ b/src/app/components/DetailDrawer.tsx @@ -25,6 +25,7 @@ import { documentColumns } from "../models/document"; import { covariateColumns } from "../models/covariate"; import { MRT_ColumnDef } from "material-react-table"; import { entityColumns } from "../models/entity"; +import { useTranslation } from 'react-i18next'; interface DetailDrawerProps { bottomDrawerOpen: boolean; @@ -43,6 +44,8 @@ const DetailDrawer: React.FC = ({ linkedNodes, linkedRelationships, }) => { + const { t } = useTranslation('dataview'); + const getNodeName = (node: string | CustomNode) => { return typeof node === "object" ? node.name : node; }; @@ -117,177 +120,153 @@ const DetailDrawer: React.FC = ({ return ( setBottomDrawerOpen(false)} - sx={{ zIndex: 1500 }} - > - - setBottomDrawerOpen(false)} + sx={{ zIndex: 1500 }} + > + + + {selectedNode ? ( + + {t('detailDrawer.nodeDetails', { name: selectedNode.name.toString() })} + + ) : ( + + {selectedRelationship && t('detailDrawer.relationshipDetails', { + sourceType: getNodeType(selectedRelationship.source), + sourceName: getNodeName(selectedRelationship.source), + relationshipType: selectedRelationship.type, + targetType: getNodeType(selectedRelationship.target), + targetName: getNodeName(selectedRelationship.target), + })} + + )} + setBottomDrawerOpen(false)} + sx={{ marginLeft: "auto" }} > - {selectedNode ? ( - - {/* Node Details: {selectedNode.id.toString()} */} - Node Details: {selectedNode.name.toString()} - - ) : ( + + + + {selectedNode && ( + + - {" "} - {selectedRelationship && ( - <> - {"(:"} - {getNodeType(selectedRelationship.source)} {"{name: "} - {"'"} - {getNodeName(selectedRelationship.source)} - {"'"} - {"}"} - {")"} - {"-[:"} - {selectedRelationship.type} - {"]->"} - {"(:"} - {getNodeType(selectedRelationship.target)} {"{name: "} - {"'"} - {getNodeName(selectedRelationship.target)} - {"'"} - {"}"} - {")"} - - )} + {t('detailDrawer.nodeInformation')} - )} - setBottomDrawerOpen(false)} - sx={{ marginLeft: "auto" }} - > - - - - {selectedNode && ( - - - - Node Information + {t('detailDrawer.id')}: {selectedNode.uuid} + {t('detailDrawer.name')}: {selectedNode.name} + {selectedNode.covariate_type && ( + + {t('detailDrawer.covariateType')}: {selectedNode.covariate_type} - ID: {selectedNode.uuid} - Name: {selectedNode.name} - {selectedNode.covariate_type && ( - - Covariate Type: {selectedNode.covariate_type} - - )} - Type: {selectedNode.type} - {selectedNode.title && ( - Title: {selectedNode.title} - )} - {selectedNode.summary && ( - Summary: {selectedNode.summary} - )} - {selectedNode.n_tokens && ( - - Number of Tokens: {selectedNode.n_tokens} - - )} - - {selectedNode.description && ( - Description: {selectedNode.description} - )} - {selectedNode.human_readable_id && ( - - Human Readable ID: {selectedNode.human_readable_id} - - )} + )} + {t('detailDrawer.type')}: {selectedNode.type} + {selectedNode.title && ( + {t('detailDrawer.title')}: {selectedNode.title} + )} + {selectedNode.summary && ( + {t('detailDrawer.summary')}: {selectedNode.summary} + )} + {selectedNode.n_tokens && ( + + {t('detailDrawer.numberOfTokens')}: {selectedNode.n_tokens} + + )} - {/* {selectedNode.human_readable_id || - (selectedNode.human_readable_id === 0 && ( - - Human Readable ID: {selectedNode.human_readable_id} - - ))} */} - {selectedNode.raw_content && ( - Raw Content: {selectedNode.raw_content} - )} - - - )} - {selectedRelationship && ( - - - - Relationship Information: + {selectedNode.description && ( + {t('detailDrawer.description')}: {selectedNode.description} + )} + {selectedNode.human_readable_id && ( + + {t('detailDrawer.humanReadableId')}: {selectedNode.human_readable_id} - ID: {selectedRelationship.id} + )} + {selectedNode.raw_content && ( + {t('detailDrawer.rawContent')}: {selectedNode.raw_content} + )} + + + )} + {selectedRelationship && ( + + + + {t('detailDrawer.relationshipInformation')} + + {t('detailDrawer.id')}: {selectedRelationship.id} + + {t('detailDrawer.source')}: {getNodeName(selectedRelationship.source)} + + + {t('detailDrawer.target')}: {getNodeName(selectedRelationship.target)} + + {t('detailDrawer.type')}: {selectedRelationship.type} + {selectedRelationship.description && ( - Source: {getNodeName(selectedRelationship.source)} + {t('detailDrawer.description')}: {selectedRelationship.description} + )} + {selectedRelationship.human_readable_id && ( - Target: {getNodeName(selectedRelationship.target)} + {t('detailDrawer.humanReadableId')}: {selectedRelationship.human_readable_id} - Type: {selectedRelationship.type} - {selectedRelationship.description && ( - - Description: {selectedRelationship.description} - - )} - {selectedRelationship.human_readable_id && ( - - Human Readable ID: {selectedRelationship.human_readable_id} - - )} - {selectedRelationship.weight && ( - Weight: {selectedRelationship.weight} - )} - {selectedRelationship.source_degree && ( - - Source Degree: {selectedRelationship.source_degree} - - )} - {selectedRelationship.target_degree && ( - - Target Degree: {selectedRelationship.target_degree} - - )} - {selectedRelationship.rank && ( - Rank: {selectedRelationship.rank} - )} - - - )} - + )} + {selectedRelationship.weight && ( + {t('detailDrawer.weight')}: {selectedRelationship.weight} + )} + {selectedRelationship.source_degree && ( + + {t('detailDrawer.sourceDegree')}: {selectedRelationship.source_degree} + + )} + {selectedRelationship.target_degree && ( + + {t('detailDrawer.targetDegree')}: {selectedRelationship.target_degree} + + )} + {selectedRelationship.rank && ( + {t('detailDrawer.rank')}: {selectedRelationship.rank} + )} + + + )} + + + {t('detailDrawer.linkedNodes')} + + + + {selectedNode && ( + - Linked Nodes + {t('detailDrawer.linkedRelationships')} + ({ + ...link, + source: getNodeName(link.source), + target: getNodeName(link.target), + }))} /> - {selectedNode && ( - - - Linked Relationships - - - ({ - ...link, - source: getNodeName(link.source), - target: getNodeName(link.target), - }))} - /> - - )} - - + )} + + ); }; diff --git a/src/app/components/DropZone.tsx b/src/app/components/DropZone.tsx index be9ee5a..51214fe 100644 --- a/src/app/components/DropZone.tsx +++ b/src/app/components/DropZone.tsx @@ -1,6 +1,7 @@ import React from "react"; import { Box, Typography } from "@mui/material"; import { useTheme } from "@mui/material/styles"; +import { useTranslation } from 'react-i18next'; interface DropZoneProps { getRootProps: () => any; @@ -13,6 +14,7 @@ const DropZone: React.FC = ({ getInputProps, isDragActive, }) => { + const { t } = useTranslation('layout'); const theme = useTheme(); return ( @@ -38,10 +40,10 @@ const DropZone: React.FC = ({ > {isDragActive ? ( - Drop the files here... + {t('dropZone.dropFilesHere')} ) : ( - Drag 'n' drop parquet files here, or click to select files + {t('dropZone.dragAndDrop')} )} diff --git a/src/app/components/GraphDataHandler.tsx b/src/app/components/GraphDataHandler.tsx index 4e297b0..5a52d3f 100644 --- a/src/app/components/GraphDataHandler.tsx +++ b/src/app/components/GraphDataHandler.tsx @@ -7,9 +7,10 @@ import Introduction from "./Introduction"; import useFileHandler from "../hooks/useFileHandler"; import useGraphData from "../hooks/useGraphData"; import DataTableContainer from "./DataTableContainer"; -import ReactGA from "react-ga4"; +import { useTranslation } from 'react-i18next'; const GraphDataHandler: React.FC = () => { + const { t } = useTranslation('layout'); const [tabIndex, setTabIndex] = useState(0); const [graphType, setGraphType] = useState<"2d" | "3d">("2d"); const [isFullscreen, setIsFullscreen] = useState(false); @@ -63,15 +64,6 @@ const GraphDataHandler: React.FC = () => { } }, [entities]); - useEffect(() => { - const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID; - if (measurementId) { - ReactGA.initialize(measurementId); - } else { - console.error("Google Analytics measurement ID not found"); - } - }, []); - const onDrop = (acceptedFiles: File[]) => { handleFilesRead(acceptedFiles); }; @@ -87,12 +79,6 @@ const GraphDataHandler: React.FC = () => { const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => { setTabIndex(newValue); - ReactGA.send({ - hitType: "event", - eventCategory: "Tabs", - eventAction: "click", - eventLabel: `Tab ${newValue}`, - }); }; const toggleGraphType = () => { @@ -106,9 +92,9 @@ const GraphDataHandler: React.FC = () => { return ( <> - - - + + + {tabIndex === 0 && ( = ({ hasCommunities, hasCovariates, }) => { + const { t } = useTranslation('graphViewer'); const theme = useTheme(); const [highlightNodes, setHighlightNodes] = useState>( new Set() @@ -563,7 +565,7 @@ const GraphViewer: React.FC = ({ onClick={toggleDrawer(true)} startIcon={} > - Search Nodes/Links + {t('graphViewer.searchNodesLinks')} {/* = ({ } label="Show Highlight" /> */} - + {isFullscreen ? : } @@ -623,7 +625,7 @@ const GraphViewer: React.FC = ({ onChange={onToggleGraphType} /> } - label="3D View" + label={t('graphViewer.view3D')} /> = ({ onChange={() => setShowLabels(!showLabels)} /> } - label="Show Node Labels" + label={t('graphViewer.showNodeLabels')} /> = ({ onChange={() => setShowLinkLabels(!showLinkLabels)} /> } - label="Show Link Labels" + label={t('graphViewer.showLinkLabels')} /> = ({ onChange={() => setShowHighlight(!showHighlight)} /> } - label="Show Highlight" + label={t('graphViewer.showHighlight')} /> @@ -663,7 +665,7 @@ const GraphViewer: React.FC = ({ disabled={!hasDocuments || apiSearchResults !== null} /> } - label="Include Documents" + label={t('graphViewer.includeDocuments')} /> = ({ disabled={!hasTextUnits || apiSearchResults !== null} /> } - label="Include Text Units" + label={t('graphViewer.includeTextUnits')} /> = ({ disabled={!hasCommunities || apiSearchResults !== null} /> } - label="Include Communities" + label={t('graphViewer.includeCommunities')} /> = ({ disabled={!hasCovariates || apiSearchResults !== null} /> } - label="Include Covariates" + label={t('graphViewer.includeCovariates')} /> @@ -879,14 +881,14 @@ const GraphViewer: React.FC = ({ gap: 1, }} > - Nodes: {nodeCount} - Relationships: {linkCount} + {t('graphViewer.nodes')}: {nodeCount} + {t('graphViewer.relationships')}: {linkCount} ); }; -export default GraphViewer; +export default GraphViewer; \ No newline at end of file diff --git a/src/app/components/Introduction.tsx b/src/app/components/Introduction.tsx index 525a3a5..08355fa 100644 --- a/src/app/components/Introduction.tsx +++ b/src/app/components/Introduction.tsx @@ -12,19 +12,22 @@ import { TableRow, Chip, } from "@mui/material"; +import { useTranslation } from 'react-i18next'; const Introduction: React.FC = () => { + const { t } = useTranslation('introduction'); // 不使用命名空间 + return ( - Welcome to the GraphRAG Visualizer + {t('welcome')} - Overview + {t('overview')} - This application visualizes Microsoft{" "} + {t('overviewDescription')}{" "} { > GraphRAG {" "} - artifacts. Simply upload the parquet files to visualize the data without - needing additional software like Gephi, Neo4j, or Jupyter Notebook. + {t('overviewDescription2')} - Features + {t('features')}

- Using the Search Functionality + {t('usingSearchFunctionality')} - Once the{" "} + {t('searchDescription1')}{" "} { > graphrag-api {" "} - server is up and running, you can perform searches directly through the - GraphRAG Visualizer. This allows you to easily search and explore data - that is hosted on your local server. + {t('searchDescription2')} - Graph Data Model + {t('graphDataModel')} - The logic for creating relationships for text units, documents, - communities, and covariates is derived from the{" "} + {t('graphDataModelDescription')}{" "} - GraphRAG import Neo4j Cypher notebook + {t('graphDataModelLinkText')} . - Nodes + {t('nodes')} - Node + {t('node')} - Type + {t('type')} - Document + {t('document')} - Text Unit + {t('textUnit')} - Community + {t('community')} - Finding + {t('finding')} - Covariate + {t('covariate')} - Entity + {t('entity')} - Varies + {t('varies')} @@ -171,65 +165,65 @@ const Introduction: React.FC = () => { - Relationships + {t('relationships')}
- Source Node + {t('sourceNode')} - Relationship + {t('relationship')} - Target Node + {t('targetNode')} - Entity + {t('entity')} - Entity + {t('entity')} - Text Unit + {t('textUnit')} - Document + {t('document')} - Text Unit + {t('textUnit')} - Entity + {t('entity')} - Text Unit + {t('textUnit')} - Covariate + {t('covariate')} - Community + {t('community')} - Finding + {t('finding')} - Entity + {t('entity')} - Community + {t('community')}
diff --git a/src/app/layout/App.tsx b/src/app/layout/App.tsx index 04c3d6f..c3b4174 100644 --- a/src/app/layout/App.tsx +++ b/src/app/layout/App.tsx @@ -1,5 +1,4 @@ import React, { useEffect, useState } from "react"; -import ReactGA from "react-ga4"; import GraphDataHandler from "../components/GraphDataHandler"; import { @@ -16,8 +15,10 @@ import { import LightModeOutlinedIcon from "@mui/icons-material/LightModeOutlined"; import DarkModeOutlinedIcon from "@mui/icons-material/DarkModeOutlined"; import GitHubIcon from "@mui/icons-material/GitHub"; +import { useTranslation } from 'react-i18next'; const App: React.FC = () => { + const { t } = useTranslation('layout'); const [darkMode, setDarkMode] = useState(true); const paletteType = darkMode ? "dark" : "light"; @@ -58,19 +59,6 @@ const App: React.FC = () => { setDarkMode(currentTheme === "dark"); }, []); - useEffect(() => { - const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID; - if (measurementId) { - ReactGA.initialize(measurementId); - ReactGA.send({ - hitType: "pageview", - page: window.location.pathname + window.location.search, - }); - } else { - console.error("Google Analytics measurement ID not found"); - } - }, []); - return ( @@ -99,13 +87,13 @@ const App: React.FC = () => { {darkMode ? ( - + ) : ( - + diff --git a/src/i18n/en-US/common.ts b/src/i18n/en-US/common.ts new file mode 100644 index 0000000..646109a --- /dev/null +++ b/src/i18n/en-US/common.ts @@ -0,0 +1,51 @@ +const translation = { + api: { + success: 'Success', + actionSuccess: 'Action succeeded', + saved: 'Saved', + create: 'Created', + remove: 'Removed', + }, + operation: { + create: 'Create', + confirm: 'Confirm', + cancel: 'Cancel', + clear: 'Clear', + save: 'Save', + saveAndEnable: 'Save & Enable', + edit: 'Edit', + add: 'Add', + added: 'Added', + refresh: 'Restart', + reset: 'Reset', + search: 'Search', + change: 'Change', + remove: 'Remove', + send: 'Send', + copy: 'Copy', + lineBreak: 'Line break', + sure: 'I\'m sure', + download: 'Download', + delete: 'Delete', + settings: 'Settings', + setup: 'Setup', + getForFree: 'Get for free', + reload: 'Reload', + ok: 'OK', + log: 'Log', + learnMore: 'Learn More', + params: 'Params', + duplicate: 'Duplicate', + rename: 'Rename', + }, + errorMsg: { + fieldRequired: '{{field}} is required', + urlError: 'url should start with http:// or https://', + }, + placeholder: { + input: 'Please enter', + select: 'Please select', + } +} + +export default translation diff --git a/src/i18n/en-US/dataview.ts b/src/i18n/en-US/dataview.ts new file mode 100644 index 0000000..97b8c2a --- /dev/null +++ b/src/i18n/en-US/dataview.ts @@ -0,0 +1,21 @@ +const translation = { + dataViewer:{ + "entities": "Entities", + "relationships": "Relationships", + "documents": "Documents", + "textUnits": "TextUnits", + "communities": "Communities", + "communityReports": "Community Reports", + "covariates": "Covariates", + "entitiesTitle": "Entities (create_final_entities.parquet)", + "relationshipsTitle": "Relationships (create_final_relationships.parquet)", + "documentsTitle": "Documents (create_final_documents.parquet)", + "textUnitsTitle": "TextUnits (create_final_text_units.parquet)", + "communitiesTitle": "Communities (create_final_communities.parquet)", + "communityReportsTitle": "Community Reports (create_final_community_reports.parquet)", + "covariatesTitle": "Covariates (create_final_covariates.parquet)", + } +} + + export default translation; + \ No newline at end of file diff --git a/src/i18n/en-US/dintal.ts b/src/i18n/en-US/dintal.ts new file mode 100644 index 0000000..4d8804b --- /dev/null +++ b/src/i18n/en-US/dintal.ts @@ -0,0 +1,7 @@ +const translation = { + employee: 'Digtal Employee', + career: 'Digtal Career', + knowledgegraph: 'Knowledge Graph', +} + +export default translation diff --git a/src/i18n/en-US/graphViewer.ts b/src/i18n/en-US/graphViewer.ts new file mode 100644 index 0000000..f280f24 --- /dev/null +++ b/src/i18n/en-US/graphViewer.ts @@ -0,0 +1,62 @@ +const translation = { + graphViewer: { + "searchNodesLinks": "Search Nodes/Links", + "view3D": "3D View", + "showNodeLabels": "Show Node Labels", + "showLinkLabels": "Show Link Labels", + "showHighlight": "Show Highlight", + "includeDocuments": "Include Documents", + "includeTextUnits": "Include Text Units", + "includeCommunities": "Include Communities", + "includeCovariates": "Include Covariates", + "askQuery": "Ask Query (Local/Global Search)", + "clearQueryResults": "Clear Query Results", + "exitFullScreen": "Exit Full Screen", + "fullScreen": "Full Screen", + "nodes": "Nodes", + "relationships": "Relationships", + // 添加其他需要的键值对 + }, + apiSearchDrawer: { + "placeholder": "Enter search query for API", + "localSearch": "Local Search", + "globalSearch": "Global Search", + "serverNotRunning": "Server is not running. Please start the server to use the API. Follow the instructions at", + "graphragApi": "graphrag-api", + "enableLocalSearch": 'Please enable "Include Text Unit" and "Include Communities"{hasCovariates, select, true {, and "Include Covariates"} false {}} to use Local Search.', + "enableGlobalSearch": 'Please enable "Include Communities" to use Global Search.', + "searchResults": "Search Results", + "metadata": "Metadata", + "completionTime": "Completion Time:", + "llmCalls": "LLM Calls:", + "promptTokens": "Prompt Tokens:", + "noDataAvailable": "No data available", + }, + detailDrawer: { + "nodeDetails": "Node Details: {{name}}", + "relationshipDetails": + "(:{{sourceType}} {name: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {name: '{{targetName}}'})", + "nodeInformation": "Node Information", + "relationshipInformation": "Relationship Information", + "id": "ID", + "name": "Name", + "covariateType": "Covariate Type", + "type": "Type", + "title": "Title", + "summary": "Summary", + "numberOfTokens": "Number of Tokens", + "description": "Description", + "humanReadableId": "Human Readable ID", + "rawContent": "Raw Content", + "source": "Source", + "target": "Target", + "weight": "Weight", + "sourceDegree": "Source Degree", + "targetDegree": "Target Degree", + "rank": "Rank", + "linkedNodes": "Linked Nodes", + "linkedRelationships": "Linked Relationships", + } +} + +export default translation; \ No newline at end of file diff --git a/src/i18n/en-US/introduction.ts b/src/i18n/en-US/introduction.ts new file mode 100644 index 0000000..611a4f3 --- /dev/null +++ b/src/i18n/en-US/introduction.ts @@ -0,0 +1,39 @@ +const translation = { + "welcome": "Welcome to the GraphRAG Visualizer", + "overview": "Overview", + "overviewDescription": "This application visualizes Microsoft", + "overviewDescription2": "artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.", + "demoImageAlt": "Demo", + "features": "Features", + "feature1Title": "Graph Visualization:", + "feature1Description": "View the graph in 2D or 3D in the \"Graph Visualization\" tab.", + "feature2Title": "Data Tables:", + "feature2Description": "Display data from the parquet files in the \"Data Tables\" tab.", + "feature3Title": "Search Functionality:", + "feature3Description": "Fully supports search, allowing users to focus on specific nodes or relationships.", + "feature4Title": "Local Processing:", + "feature4Description": "Your artifacts are processed locally on your machine. They are not uploaded anywhere, ensuring your data remains secure and private.", + "usingSearchFunctionality": "Using the Search Functionality", + "searchDescription1": "Once the", + "searchDescription2": "server is up and running, you can perform searches directly through the GraphRAG Visualizer. This allows you to easily search and explore data that is hosted on your local server.", + "searchImageAlt": "Search", + "graphDataModel": "Graph Data Model", + "graphDataModelDescription": "The logic for creating relationships for text units, documents, communities, and covariates is derived from the", + "graphDataModelLinkText": "GraphRAG import Neo4j Cypher notebook", + "nodes": "Nodes", + "node": "Node", + "type": "Type", + "document": "Document", + "textUnit": "Text Unit", + "community": "Community", + "finding": "Finding", + "covariate": "Covariate", + "entity": "Entity", + "varies": "Varies", + "relationships": "Relationships", + "sourceNode": "Source Node", + "relationship": "Relationship", + "targetNode": "Target Node" +} + +export default translation diff --git a/src/i18n/en-US/layout.ts b/src/i18n/en-US/layout.ts new file mode 100644 index 0000000..3e75d4e --- /dev/null +++ b/src/i18n/en-US/layout.ts @@ -0,0 +1,18 @@ +const translation = { + tabs: { + "uploadArtifacts": "Upload Artifacts", + "graphVisualization": "Graph Visualization", + "dataTables": "Data Tables" + }, + tooltip: { + "turnOnLight": "Turn on the light", + "turnOffLight": "Turn off the light" + }, + "dropZone": { + "dropFilesHere": "Drop the files here...", + "dragAndDrop": "Drag 'n' drop parquet files here, or click to select files" + } + + } + +export default translation diff --git a/src/i18n/index.ts b/src/i18n/index.ts new file mode 100644 index 0000000..d13097b --- /dev/null +++ b/src/i18n/index.ts @@ -0,0 +1,45 @@ +import i18n from 'i18next' +import { initReactI18next } from 'react-i18next' + +import data from './languages.json' +import Introduction from '@/app/components/Introduction'; + +interface Language { + value: string; + name: string; + prompt_name: string; + example: string; + supported: boolean; +} + +export const languages: Language[] = data.languages + +const loadLangResources = (lang: string) => ({ + common: require(`./${lang}/common`).default, + layout: require(`./${lang}/layout`).default, + dintal: require(`./${lang}/dintal`).default, + introduction: require(`./${lang}/introduction`).default, + graphViewer: require(`./${lang}/graphViewer`).default, + dataview: require(`./${lang}/dataview`).default, +}) + +// Automatically generate the resources object +const resources = languages.reduce((acc: any, langObj: Language) => { + const lang = langObj.value; + acc[lang] = loadLangResources(lang) + return acc +}, {}) + +i18n.use(initReactI18next) + .init({ + lng: 'zh-Hans', + fallbackLng: 'zh-Hans', + ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer', 'dataview'], // 指定命名空间列表 + defaultNS: 'common', // 设置默认命名空间 + resources, + interpolation: { + escapeValue: false, + }, + }) + +export default i18n diff --git a/src/i18n/languages.json b/src/i18n/languages.json new file mode 100644 index 0000000..45cf512 --- /dev/null +++ b/src/i18n/languages.json @@ -0,0 +1,18 @@ +{ + "languages": [ + { + "value": "en-US", + "name": "English (United States)", + "prompt_name": "English", + "example": "Hello, DinTal!", + "supported": true + }, + { + "value": "zh-Hans", + "name": "简体中文", + "prompt_name": "Chinese Simplified", + "example": "你好,DinTal!", + "supported": true + } + ] +} diff --git a/src/i18n/zh-Hans/common.ts b/src/i18n/zh-Hans/common.ts new file mode 100644 index 0000000..706cc7b --- /dev/null +++ b/src/i18n/zh-Hans/common.ts @@ -0,0 +1,51 @@ +const translation = { + api: { + success: '成功', + actionSuccess: '操作成功', + saved: '已保存', + create: '已创建', + remove: '已移除', + }, + operation: { + create: '创建', + confirm: '确认', + cancel: '取消', + clear: '清空', + save: '保存', + saveAndEnable: '保存并启用', + edit: '编辑', + add: '添加', + added: '已添加', + refresh: '重新开始', + reset: '重置', + search: '搜索', + change: '更改', + remove: '移除', + send: '发送', + copy: '复制', + lineBreak: '换行', + sure: '我确定', + download: '下载', + delete: '删除', + settings: '设置', + setup: '设置', + getForFree: '免费获取', + reload: '刷新', + ok: '好的', + log: '日志', + learnMore: '了解更多', + params: '参数设置', + duplicate: '复制', + rename: '重命名', + }, + errorMsg: { + fieldRequired: '{{field}} 为必填项', + urlError: 'url 应该以 http:// 或 https:// 开头', + }, + placeholder: { + input: '请输入', + select: '请选择', + } +} + +export default translation diff --git a/src/i18n/zh-Hans/dataview.ts b/src/i18n/zh-Hans/dataview.ts new file mode 100644 index 0000000..73d6920 --- /dev/null +++ b/src/i18n/zh-Hans/dataview.ts @@ -0,0 +1,47 @@ +const translation = { + dataViewer:{ + "entities": "实体", + "relationships": "关系", + "documents": "文档", + "textUnits": "文本单元", + "communities": "社区", + "communityReports": "社区报告", + "covariates": "协变量", + + "entitiesTitle": "实体 (create_final_entities.parquet)", + "relationshipsTitle": "关系 (create_final_relationships.parquet)", + "documentsTitle": "文档 (create_final_documents.parquet)", + "textUnitsTitle": "文本单元 (create_final_text_units.parquet)", + "communitiesTitle": "社区 (create_final_communities.parquet)", + "communityReportsTitle": "社区报告 (create_final_community_reports.parquet)", + "covariatesTitle": "协变量 (create_final_covariates.parquet)", + + }, + detailDrawer: { + "nodeDetails": "节点详情:{{name}}", + "relationshipDetails": + "(:{{sourceType}} {名称: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {名称: '{{targetName}}'})", + "nodeInformation": "节点信息", + "relationshipInformation": "关系信息", + "id": "ID", + "name": "名称", + "covariateType": "协变量类型", + "type": "类型", + "title": "标题", + "summary": "摘要", + "numberOfTokens": "令牌数量", + "description": "描述", + "humanReadableId": "可读 ID", + "rawContent": "原始内容", + "source": "源节点", + "target": "目标节点", + "weight": "权重", + "sourceDegree": "源节点度数", + "targetDegree": "目标节点度数", + "rank": "排名", + "linkedNodes": "关联节点", + "linkedRelationships": "关联关系", + } +} + + export default translation; \ No newline at end of file diff --git a/src/i18n/zh-Hans/dintal.ts b/src/i18n/zh-Hans/dintal.ts new file mode 100644 index 0000000..de1124c --- /dev/null +++ b/src/i18n/zh-Hans/dintal.ts @@ -0,0 +1,9 @@ +const translation = { + common: { + employee: '数智员工', + career: '数智岗位/职业', + knowledgegraph: '知识图谱' + }, +} + +export default translation diff --git a/src/i18n/zh-Hans/graphViewer.ts b/src/i18n/zh-Hans/graphViewer.ts new file mode 100644 index 0000000..e1a7ef9 --- /dev/null +++ b/src/i18n/zh-Hans/graphViewer.ts @@ -0,0 +1,37 @@ +const translation = { + graphViewer: { + "searchNodesLinks": "搜索节点/关系", + "view3D": "3D 视图", + "showNodeLabels": "显示节点标签", + "showLinkLabels": "显示关系标签", + "showHighlight": "显示高亮", + "includeDocuments": "包含文档", + "includeTextUnits": "包含文本单元", + "includeCommunities": "包含社区", + "includeCovariates": "包含协变量", + "askQuery": "查询(本地/全局搜索)", + "clearQueryResults": "清除查询结果", + "exitFullScreen": "退出全屏", + "fullScreen": "全屏", + "nodes": "节点", + "relationships": "关系", + }, + apiSearchDrawer: { + "placeholder": "输入 API 搜索查询", + "localSearch": "本地搜索", + "globalSearch": "全局搜索", + "serverNotRunning": "服务器未运行。请启动服务器以使用 API。请按照以下说明操作", + "graphragApi": "graphrag-api", + "enableLocalSearch": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。', + "enableGlobalSearch": '请启用“包含社区”以使用全局搜索。', + "searchResults": "搜索结果", + "metadata": "元数据", + "completionTime": "完成时间:", + "llmCalls": "LLM 调用次数:", + "promptTokens": "提示令牌数:", + "noDataAvailable": "无可用数据", + }, +} + +export default translation; + \ No newline at end of file diff --git a/src/i18n/zh-Hans/introduction.ts b/src/i18n/zh-Hans/introduction.ts new file mode 100644 index 0000000..271ff57 --- /dev/null +++ b/src/i18n/zh-Hans/introduction.ts @@ -0,0 +1,39 @@ +const translation = { + "welcome": "欢迎使用 GraphRAG 可视化工具", + "overview": "概述", + "overviewDescription": "该应用程序可视化微软", + "overviewDescription2": "的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。", + "demoImageAlt": "演示", + "features": "功能", + "feature1Title": "图形可视化:", + "feature1Description": "在“图形可视化”选项卡中以 2D 或 3D 查看图形。", + "feature2Title": "数据表:", + "feature2Description": "在“数据表”选项卡中显示 parquet 文件中的数据。", + "feature3Title": "搜索功能:", + "feature3Description": "完全支持搜索,允许用户专注于特定的节点或关系。", + "feature4Title": "本地处理:", + "feature4Description": "您的文件将在本地机器上处理,不会上传到任何地方,确保您的数据安全和私密。", + "usingSearchFunctionality": "使用搜索功能", + "searchDescription1": "一旦", + "searchDescription2": "服务器启动并运行,您可以直接通过 GraphRAG 可视化工具执行搜索。这使您可以轻松搜索和探索托管在本地服务器上的数据。", + "searchImageAlt": "搜索", + "graphDataModel": "图形数据模型", + "graphDataModelDescription": "创建文本单元、文档、社区和协变量的关系逻辑来自", + "graphDataModelLinkText": "GraphRAG 导入 Neo4j Cypher 笔记本", + "nodes": "节点", + "node": "节点", + "type": "类型", + "document": "文档", + "textUnit": "文本单元", + "community": "社区", + "finding": "发现", + "covariate": "协变量", + "entity": "实体", + "varies": "多种", + "relationships": "关系", + "sourceNode": "源节点", + "relationship": "关系", + "targetNode": "目标节点" +} + +export default translation diff --git a/src/i18n/zh-Hans/layout.ts b/src/i18n/zh-Hans/layout.ts new file mode 100644 index 0000000..ccb1df8 --- /dev/null +++ b/src/i18n/zh-Hans/layout.ts @@ -0,0 +1,18 @@ +const translation = { + "tabs": { + "uploadArtifacts": "导入", + "graphVisualization": "可视化", + "dataTables": "数据表" + }, + "tooltip": { + "turnOnLight": "亮", + "turnOffLight": "暗" + }, + "dropZone": { + "dropFilesHere": "将文件拖到这里...", + "dragAndDrop": "将 Parquet 文件拖放到此处,或点击选择文件" + } + +} + +export default translation diff --git a/src/index.tsx b/src/index.tsx index 7e56060..71eb300 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2,6 +2,7 @@ import React from "react"; import ReactDOM from "react-dom/client"; import App from "./app/layout/App"; import reportWebVitals from "./reportWebVitals"; +import "./i18n" const root = ReactDOM.createRoot( document.getElementById("root") as HTMLElement diff --git a/tsconfig.json b/tsconfig.json index d48d3f4..f668bd9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,7 +18,11 @@ "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } }, "include": [ "src" From e79071e2356c0b4c947875ea99499cc4a864eda6 Mon Sep 17 00:00:00 2001 From: zederer Date: Wed, 25 Sep 2024 16:12:32 +0800 Subject: [PATCH 2/4] i18n, add chinese lang --- .gitignore | 3 ++- .lh/src/app/components/Introduction.tsx.json | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d98768b..552e31b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. -.*/** +.vscode/ +.lh/ # dependencies /node_modules /.pnp diff --git a/.lh/src/app/components/Introduction.tsx.json b/.lh/src/app/components/Introduction.tsx.json index b097249..ad2047a 100644 --- a/.lh/src/app/components/Introduction.tsx.json +++ b/.lh/src/app/components/Introduction.tsx.json @@ -3,7 +3,7 @@ "activeCommit": 0, "commits": [ { - "activePatchIndex": 3, + "activePatchIndex": 4, "patches": [ { "date": 1727240848616, @@ -20,6 +20,10 @@ { "date": 1727240948335, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,212 +19,212 @@\n \n return (\n \n \n- {t('introduction.welcome')}\n+ {t('welcome')}\n \n \n \n- {t('introduction.overview')}\n+ {t('overview')}\n \n \n- {t('introduction.overviewDescription')}{\" \"}\n+ {t('overviewDescription')}{\" \"}\n \n GraphRAG\n {\" \"}\n- {t('introduction.overviewDescription2')}\n+ {t('overviewDescription2')}\n \n \n \n \n \n- {t('introduction.features')}\n+ {t('features')}\n \n
    \n
  • \n \n- {t('introduction.feature1Title')} {t('introduction.feature1Description')}\n+ {t('feature1Title')} {t('feature1Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature2Title')} {t('introduction.feature2Description')}\n+ {t('feature2Title')} {t('feature2Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature3Title')} {t('introduction.feature3Description')}\n+ {t('feature3Title')} {t('feature3Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature4Title')} {t('introduction.feature4Description')}\n+ {t('feature4Title')} {t('feature4Description')}\n \n
  • \n
\n \n \n- {t('introduction.usingSearchFunctionality')}\n+ {t('usingSearchFunctionality')}\n \n \n- {t('introduction.searchDescription1')}{\" \"}\n+ {t('searchDescription1')}{\" \"}\n \n graphrag-api\n {\" \"}\n- {t('introduction.searchDescription2')}\n+ {t('searchDescription2')}\n \n \n \n \n \n- {t('introduction.graphDataModel')}\n+ {t('graphDataModel')}\n \n \n- {t('introduction.graphDataModelDescription')}{\" \"}\n+ {t('graphDataModelDescription')}{\" \"}\n \n- {t('introduction.graphDataModelLinkText')}\n+ {t('graphDataModelLinkText')}\n \n .\n \n \n \n- {t('introduction.nodes')}\n+ {t('nodes')}\n \n \n \n \n \n \n- {t('introduction.node')}\n+ {t('node')}\n \n \n- {t('introduction.type')}\n+ {t('type')}\n \n \n \n \n \n- {t('introduction.document')}\n+ {t('document')}\n \n \n \n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n \n \n \n- {t('introduction.finding')}\n+ {t('finding')}\n \n \n \n \n \n- {t('introduction.covariate')}\n+ {t('covariate')}\n \n \n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n- {t('introduction.varies')}\n+ {t('varies')}\n \n \n \n
\n
\n \n \n- {t('introduction.relationships')}\n+ {t('relationships')}\n \n \n \n \n \n \n- {t('introduction.sourceNode')}\n+ {t('sourceNode')}\n \n \n- {t('introduction.relationship')}\n+ {t('relationship')}\n \n \n- {t('introduction.targetNode')}\n+ {t('targetNode')}\n \n \n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.document')}\n+ {t('document')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.covariate')}\n+ {t('covariate')}\n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n \n- {t('introduction.finding')}\n+ {t('finding')}\n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n
\n
\n" + }, + { + "date": 1727251655044, + "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,9 +22,9 @@\n \n {t('welcome')}\n \n \n- \n+ \n {t('overview')}\n \n \n {t('overviewDescription')}{\" \"}\n" } ], "date": 1727240848616, From eade8c12bee473202b34656002cd170249956d8c Mon Sep 17 00:00:00 2001 From: zederer Date: Wed, 25 Sep 2024 16:17:25 +0800 Subject: [PATCH 3/4] i18n, add chinese lang --- .lh/.eslintrc.json | 18 -- .lh/.lhignore | 6 - .lh/.vscode/launch.json.json | 18 -- .lh/package-lock.json.json | 22 --- .lh/package.json.json | 26 --- .../app/components/APISearchDrawer.tsx.json | 102 ----------- .../components/DataTableContainer.tsx.json | 90 ---------- .lh/src/app/components/DetailDrawer.tsx.json | 30 ---- .lh/src/app/components/DropZone.tsx.json | 42 ----- .../app/components/GraphDataHandler.tsx.json | 70 -------- .lh/src/app/components/GraphViewer.tsx.json | 170 ------------------ .lh/src/app/components/Introduction.tsx.json | 34 ---- .lh/src/app/layout/App.tsx.json | 90 ---------- .lh/src/i18n/en-US/common.ts.json | 18 -- .lh/src/i18n/en-US/dataview.ts.json | 46 ----- .lh/src/i18n/en-US/dintal.ts.json | 22 --- .lh/src/i18n/en-US/graphViewer.ts.json | 70 -------- .lh/src/i18n/en-US/introduction.ts.json | 34 ---- .lh/src/i18n/en-US/layout.ts.json | 30 ---- .lh/src/i18n/i18next-config.ts.json | 98 ---------- .lh/src/i18n/index.ts.json | 142 --------------- .lh/src/i18n/languages.json.json | 18 -- .lh/src/i18n/zh-Hans/common.ts.json | 22 --- .lh/src/i18n/zh-Hans/dataview.ts.json | 30 ---- .lh/src/i18n/zh-Hans/dintal.ts.json | 34 ---- .lh/src/i18n/zh-Hans/graphViewer.ts.json | 58 ------ .lh/src/i18n/zh-Hans/introduction.ts.json | 34 ---- .lh/src/i18n/zh-Hans/layout.ts.json | 90 ---------- .lh/src/index.tsx.json | 38 ---- .lh/tsconfig.json.json | 30 ---- 30 files changed, 1532 deletions(-) delete mode 100644 .lh/.eslintrc.json delete mode 100644 .lh/.lhignore delete mode 100644 .lh/.vscode/launch.json.json delete mode 100644 .lh/package-lock.json.json delete mode 100644 .lh/package.json.json delete mode 100644 .lh/src/app/components/APISearchDrawer.tsx.json delete mode 100644 .lh/src/app/components/DataTableContainer.tsx.json delete mode 100644 .lh/src/app/components/DetailDrawer.tsx.json delete mode 100644 .lh/src/app/components/DropZone.tsx.json delete mode 100644 .lh/src/app/components/GraphDataHandler.tsx.json delete mode 100644 .lh/src/app/components/GraphViewer.tsx.json delete mode 100644 .lh/src/app/components/Introduction.tsx.json delete mode 100644 .lh/src/app/layout/App.tsx.json delete mode 100644 .lh/src/i18n/en-US/common.ts.json delete mode 100644 .lh/src/i18n/en-US/dataview.ts.json delete mode 100644 .lh/src/i18n/en-US/dintal.ts.json delete mode 100644 .lh/src/i18n/en-US/graphViewer.ts.json delete mode 100644 .lh/src/i18n/en-US/introduction.ts.json delete mode 100644 .lh/src/i18n/en-US/layout.ts.json delete mode 100644 .lh/src/i18n/i18next-config.ts.json delete mode 100644 .lh/src/i18n/index.ts.json delete mode 100644 .lh/src/i18n/languages.json.json delete mode 100644 .lh/src/i18n/zh-Hans/common.ts.json delete mode 100644 .lh/src/i18n/zh-Hans/dataview.ts.json delete mode 100644 .lh/src/i18n/zh-Hans/dintal.ts.json delete mode 100644 .lh/src/i18n/zh-Hans/graphViewer.ts.json delete mode 100644 .lh/src/i18n/zh-Hans/introduction.ts.json delete mode 100644 .lh/src/i18n/zh-Hans/layout.ts.json delete mode 100644 .lh/src/index.tsx.json delete mode 100644 .lh/tsconfig.json.json diff --git a/.lh/.eslintrc.json b/.lh/.eslintrc.json deleted file mode 100644 index 163cb84..0000000 --- a/.lh/.eslintrc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "sourceFile": ".eslintrc", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 0, - "patches": [ - { - "date": 1727231361577, - "content": "Index: \n===================================================================\n--- \n+++ \n" - } - ], - "date": 1727231361577, - "name": "Commit-0", - "content": "{\n \"extends\": \"react-app\"\n }" - } - ] -} \ No newline at end of file diff --git a/.lh/.lhignore b/.lh/.lhignore deleted file mode 100644 index 1de5100..0000000 --- a/.lh/.lhignore +++ /dev/null @@ -1,6 +0,0 @@ -# list file to not track by the local-history extension. comment line starts with a '#' character -# each line describe a regular expression pattern (search for 'Javascript regex') -# it will relate to the workspace directory root. for example: -# '.*\.txt' ignores any file with 'txt' extension -# '/test/.*' ignores all the files under the 'test' directory -# '.*/test/.*' ignores all the files under any 'test' directory (even under sub-folders) diff --git a/.lh/.vscode/launch.json.json b/.lh/.vscode/launch.json.json deleted file mode 100644 index be9a8a9..0000000 --- a/.lh/.vscode/launch.json.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "sourceFile": ".vscode/launch.json", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 0, - "patches": [ - { - "date": 1727231661383, - "content": "Index: \n===================================================================\n--- \n+++ \n" - } - ], - "date": 1727231661383, - "name": "Commit-0", - "content": "{\n \"version\": \"0.2.0\",\n \"configurations\": [\n {\n \"name\": \"Chrome\",\n \"type\": \"chrome\",\n \"request\": \"launch\",\n \"url\": \"http://localhost:3000\",\n \"webRoot\": \"${workspaceRoot}/src\",\n \"userDataDir\": \"${workspaceRoot}/.vscode/chrome\",\n \"sourceMapPathOverrides\": {\n \"webpack:///src/*\": \"${webRoot}/*\"\n }\n }\n ]\n }" - } - ] -} \ No newline at end of file diff --git a/.lh/package-lock.json.json b/.lh/package-lock.json.json deleted file mode 100644 index 671195c..0000000 --- a/.lh/package-lock.json.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "sourceFile": "package-lock.json", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 1, - "patches": [ - { - "date": 1727236549152, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727236566422, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -21,17 +21,16 @@\n \"@types/react-dom\": \"^18.3.0\",\n \"axios\": \"^1.7.2\",\n \"fuse.js\": \"^7.0.0\",\n \"hyparquet\": \"^1.1.0\",\n- \"i180\": \"^22.4.13\",\n+ \"i18next\": \"^22.4.13\",\n \"material-react-table\": \"^2.13.1\",\n \"react\": \"^18.3.1\",\n \"react-app-rewired\": \"^2.2.1\",\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n- \"react-ga4\": \"^2.1.0\",\n \"react-i18next\": \"^12.2.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n" - } - ], - "date": 1727236549152, - "name": "Commit-0", - "content": "{\n \"name\": \"graphrag-visualizer\",\n \"version\": \"0.1.0\",\n \"lockfileVersion\": 2,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"graphrag-visualizer\",\n \"version\": \"0.1.0\",\n \"dependencies\": {\n \"@emotion/react\": \"^11.13.0\",\n \"@emotion/styled\": \"^11.13.0\",\n \"@mui/icons-material\": \"^5.16.5\",\n \"@mui/material\": \"^5.16.5\",\n \"@testing-library/jest-dom\": \"^5.17.0\",\n \"@testing-library/react\": \"^13.4.0\",\n \"@testing-library/user-event\": \"^13.5.0\",\n \"@types/jest\": \"^27.5.2\",\n \"@types/node\": \"^16.18.104\",\n \"@types/react\": \"^18.3.3\",\n \"@types/react-dom\": \"^18.3.0\",\n \"axios\": \"^1.7.2\",\n \"fuse.js\": \"^7.0.0\",\n \"hyparquet\": \"^1.1.0\",\n \"i180\": \"^22.4.13\",\n \"material-react-table\": \"^2.13.1\",\n \"react\": \"^18.3.1\",\n \"react-app-rewired\": \"^2.2.1\",\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n \"react-ga4\": \"^2.1.0\",\n \"react-i18next\": \"^12.2.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n \"web-vitals\": \"^2.1.4\"\n },\n \"devDependencies\": {\n \"@types/react-table\": \"^7.7.20\",\n \"@types/three\": \"^0.167.1\",\n \"gh-pages\": \"^6.1.1\"\n }\n },\n \"node_modules/@adobe/css-tools\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz\",\n \"integrity\": \"sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==\"\n },\n \"node_modules/@alloc/quick-lru\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz\",\n \"integrity\": \"sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz\",\n \"integrity\": \"sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==\",\n \"dependencies\": {\n \"@babel/highlight\": \"^7.24.7\",\n \"picocolors\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz\",\n \"integrity\": \"sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.24.9\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz\",\n \"integrity\": \"sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.24.9\",\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-module-transforms\": \"^7.24.9\",\n \"@babel/helpers\": \"^7.24.8\",\n \"@babel/parser\": \"^7.24.8\",\n \"@babel/template\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.9\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/core/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/eslint-parser\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz\",\n \"integrity\": \"sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nicolo-ribaudo/eslint-scope-5-internals\": \"5.1.1-v1\",\n \"eslint-visitor-keys\": \"^2.1.0\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || >=14.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.11.0\",\n \"eslint\": \"^7.5.0 || ^8.0.0 || ^9.0.0\"\n }\n },\n \"node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n \"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@babel/eslint-parser/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz\",\n \"integrity\": \"sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.25.6\",\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\",\n \"jsesc\": \"^2.5.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-annotate-as-pure\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz\",\n \"integrity\": \"sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-builder-binary-assignment-operator-visitor\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz\",\n \"integrity\": \"sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz\",\n \"integrity\": \"sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.25.2\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"browserslist\": \"^4.23.1\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/helper-create-class-features-plugin\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz\",\n \"integrity\": \"sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.4\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-create-class-features-plugin/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/helper-create-regexp-features-plugin\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz\",\n \"integrity\": \"sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"regexpu-core\": \"^5.3.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/helper-define-polyfill-provider\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz\",\n \"integrity\": \"sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-compilation-targets\": \"^7.22.6\",\n \"@babel/helper-plugin-utils\": \"^7.22.5\",\n \"debug\": \"^4.1.1\",\n \"lodash.debounce\": \"^4.0.8\",\n \"resolve\": \"^1.14.2\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/@babel/helper-member-expression-to-functions\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz\",\n \"integrity\": \"sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz\",\n \"integrity\": \"sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz\",\n \"integrity\": \"sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-simple-access\": \"^7.24.7\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-optimise-call-expression\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz\",\n \"integrity\": \"sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz\",\n \"integrity\": \"sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-remap-async-to-generator\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz\",\n \"integrity\": \"sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-wrap-function\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-replace-supers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz\",\n \"integrity\": \"sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-simple-access\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz\",\n \"integrity\": \"sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-skip-transparent-expression-wrappers\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz\",\n \"integrity\": \"sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz\",\n \"integrity\": \"sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz\",\n \"integrity\": \"sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz\",\n \"integrity\": \"sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-wrap-function\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz\",\n \"integrity\": \"sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz\",\n \"integrity\": \"sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==\",\n \"dependencies\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/highlight\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz\",\n \"integrity\": \"sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"chalk\": \"^2.4.2\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz\",\n \"integrity\": \"sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.25.6\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key\": {\n \"version\": \"7.25.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz\",\n \"integrity\": \"sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz\",\n \"integrity\": \"sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz\",\n \"integrity\": \"sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz\",\n \"integrity\": \"sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.13.0\"\n }\n },\n \"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz\",\n \"integrity\": \"sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-class-properties\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz\",\n \"integrity\": \"sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-decorators\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-nullish-coalescing-operator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz\",\n \"integrity\": \"sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-numeric-separator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz\",\n \"integrity\": \"sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-optional-chaining\": {\n \"version\": \"7.21.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz\",\n \"integrity\": \"sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.20.2\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-private-methods\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz\",\n \"integrity\": \"sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==\",\n \"deprecated\": \"This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-proposal-private-property-in-object\": {\n \"version\": \"7.21.0-placeholder-for-preset-env.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz\",\n \"integrity\": \"sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-async-generators\": {\n \"version\": \"7.8.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz\",\n \"integrity\": \"sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-bigint\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz\",\n \"integrity\": \"sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-class-properties\": {\n \"version\": \"7.12.13\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz\",\n \"integrity\": \"sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.12.13\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-class-static-block\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz\",\n \"integrity\": \"sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-dynamic-import\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz\",\n \"integrity\": \"sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-export-namespace-from\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz\",\n \"integrity\": \"sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.3\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-flow\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz\",\n \"integrity\": \"sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-import-assertions\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz\",\n \"integrity\": \"sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-import-attributes\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz\",\n \"integrity\": \"sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-import-meta\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz\",\n \"integrity\": \"sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-json-strings\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz\",\n \"integrity\": \"sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-jsx\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz\",\n \"integrity\": \"sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-logical-assignment-operators\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz\",\n \"integrity\": \"sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-nullish-coalescing-operator\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz\",\n \"integrity\": \"sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-numeric-separator\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz\",\n \"integrity\": \"sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-object-rest-spread\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz\",\n \"integrity\": \"sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-optional-catch-binding\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz\",\n \"integrity\": \"sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-optional-chaining\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz\",\n \"integrity\": \"sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-private-property-in-object\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz\",\n \"integrity\": \"sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-top-level-await\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz\",\n \"integrity\": \"sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-typescript\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz\",\n \"integrity\": \"sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-unicode-sets-regex\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz\",\n \"integrity\": \"sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-arrow-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-async-generator-functions\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz\",\n \"integrity\": \"sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-remap-async-to-generator\": \"^7.25.0\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/traverse\": \"^7.25.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-async-to-generator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz\",\n \"integrity\": \"sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-remap-async-to-generator\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-block-scoped-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-block-scoping\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz\",\n \"integrity\": \"sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-class-properties\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz\",\n \"integrity\": \"sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-class-static-block\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz\",\n \"integrity\": \"sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.12.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-classes\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz\",\n \"integrity\": \"sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.4\",\n \"globals\": \"^11.1.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-computed-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/template\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-destructuring\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz\",\n \"integrity\": \"sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-dotall-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-duplicate-keys\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz\",\n \"integrity\": \"sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz\",\n \"integrity\": \"sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-dynamic-import\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz\",\n \"integrity\": \"sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-exponentiation-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-builder-binary-assignment-operator-visitor\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-export-namespace-from\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz\",\n \"integrity\": \"sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-flow-strip-types\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz\",\n \"integrity\": \"sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-flow\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-for-of\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz\",\n \"integrity\": \"sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-function-name\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz\",\n \"integrity\": \"sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-json-strings\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz\",\n \"integrity\": \"sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-literals\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz\",\n \"integrity\": \"sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-logical-assignment-operators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz\",\n \"integrity\": \"sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-member-expression-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-amd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz\",\n \"integrity\": \"sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-commonjs\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz\",\n \"integrity\": \"sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-simple-access\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-systemjs\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz\",\n \"integrity\": \"sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-umd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz\",\n \"integrity\": \"sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-named-capturing-groups-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-new-target\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz\",\n \"integrity\": \"sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-nullish-coalescing-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-numeric-separator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz\",\n \"integrity\": \"sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-object-rest-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-compilation-targets\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-object-super\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz\",\n \"integrity\": \"sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-optional-catch-binding\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz\",\n \"integrity\": \"sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-optional-chaining\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz\",\n \"integrity\": \"sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-parameters\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz\",\n \"integrity\": \"sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-private-methods\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz\",\n \"integrity\": \"sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-private-property-in-object\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz\",\n \"integrity\": \"sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-property-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-constant-elements\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz\",\n \"integrity\": \"sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-display-name\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz\",\n \"integrity\": \"sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz\",\n \"integrity\": \"sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/types\": \"^7.25.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-development\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz\",\n \"integrity\": \"sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-pure-annotations\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz\",\n \"integrity\": \"sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-regenerator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz\",\n \"integrity\": \"sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"regenerator-transform\": \"^0.15.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-reserved-words\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz\",\n \"integrity\": \"sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-runtime\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz\",\n \"integrity\": \"sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-runtime/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/plugin-transform-shorthand-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-sticky-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-template-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-typeof-symbol\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz\",\n \"integrity\": \"sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-typescript\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz\",\n \"integrity\": \"sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-typescript\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-escapes\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz\",\n \"integrity\": \"sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-property-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-unicode-sets-regex\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz\",\n \"integrity\": \"sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/preset-env\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz\",\n \"integrity\": \"sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.25.4\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"@babel/plugin-bugfix-firefox-class-in-computed-class-key\": \"^7.25.3\",\n \"@babel/plugin-bugfix-safari-class-field-initializer-scope\": \"^7.25.0\",\n \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": \"^7.25.0\",\n \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": \"^7.24.7\",\n \"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": \"^7.25.0\",\n \"@babel/plugin-proposal-private-property-in-object\": \"7.21.0-placeholder-for-preset-env.2\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-assertions\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\",\n \"@babel/plugin-syntax-unicode-sets-regex\": \"^7.18.6\",\n \"@babel/plugin-transform-arrow-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-async-generator-functions\": \"^7.25.4\",\n \"@babel/plugin-transform-async-to-generator\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoped-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoping\": \"^7.25.0\",\n \"@babel/plugin-transform-class-properties\": \"^7.25.4\",\n \"@babel/plugin-transform-class-static-block\": \"^7.24.7\",\n \"@babel/plugin-transform-classes\": \"^7.25.4\",\n \"@babel/plugin-transform-computed-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-destructuring\": \"^7.24.8\",\n \"@babel/plugin-transform-dotall-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-keys\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-named-capturing-groups-regex\": \"^7.25.0\",\n \"@babel/plugin-transform-dynamic-import\": \"^7.24.7\",\n \"@babel/plugin-transform-exponentiation-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-export-namespace-from\": \"^7.24.7\",\n \"@babel/plugin-transform-for-of\": \"^7.24.7\",\n \"@babel/plugin-transform-function-name\": \"^7.25.1\",\n \"@babel/plugin-transform-json-strings\": \"^7.24.7\",\n \"@babel/plugin-transform-literals\": \"^7.25.2\",\n \"@babel/plugin-transform-logical-assignment-operators\": \"^7.24.7\",\n \"@babel/plugin-transform-member-expression-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-amd\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.8\",\n \"@babel/plugin-transform-modules-systemjs\": \"^7.25.0\",\n \"@babel/plugin-transform-modules-umd\": \"^7.24.7\",\n \"@babel/plugin-transform-named-capturing-groups-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-new-target\": \"^7.24.7\",\n \"@babel/plugin-transform-nullish-coalescing-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-numeric-separator\": \"^7.24.7\",\n \"@babel/plugin-transform-object-rest-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-object-super\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-catch-binding\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.8\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\",\n \"@babel/plugin-transform-private-methods\": \"^7.25.4\",\n \"@babel/plugin-transform-private-property-in-object\": \"^7.24.7\",\n \"@babel/plugin-transform-property-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-regenerator\": \"^7.24.7\",\n \"@babel/plugin-transform-reserved-words\": \"^7.24.7\",\n \"@babel/plugin-transform-shorthand-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-sticky-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-template-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-typeof-symbol\": \"^7.24.8\",\n \"@babel/plugin-transform-unicode-escapes\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-property-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-sets-regex\": \"^7.25.4\",\n \"@babel/preset-modules\": \"0.1.6-no-external-plugins\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"core-js-compat\": \"^3.37.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/preset-env/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/@babel/preset-modules\": {\n \"version\": \"0.1.6-no-external-plugins\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz\",\n \"integrity\": \"sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@babel/types\": \"^7.4.4\",\n \"esutils\": \"^2.0.2\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/@babel/preset-react\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz\",\n \"integrity\": \"sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-transform-react-display-name\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx-development\": \"^7.24.7\",\n \"@babel/plugin-transform-react-pure-annotations\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/preset-typescript\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz\",\n \"integrity\": \"sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.7\",\n \"@babel/plugin-transform-typescript\": \"^7.24.7\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/regjsgen\": {\n \"version\": \"0.8.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz\",\n \"integrity\": \"sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz\",\n \"integrity\": \"sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==\",\n \"dependencies\": {\n \"regenerator-runtime\": \"^0.14.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz\",\n \"integrity\": \"sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/parser\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz\",\n \"integrity\": \"sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.25.6\",\n \"@babel/parser\": \"^7.25.6\",\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.6\",\n \"debug\": \"^4.3.1\",\n \"globals\": \"^11.1.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz\",\n \"integrity\": \"sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"to-fast-properties\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@bcoe/v8-coverage\": {\n \"version\": \"0.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz\",\n \"integrity\": \"sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@csstools/normalize.css\": {\n \"version\": \"12.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz\",\n \"integrity\": \"sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/@csstools/postcss-cascade-layers\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz\",\n \"integrity\": \"sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/selector-specificity\": \"^2.0.2\",\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-color-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz\",\n \"integrity\": \"sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-font-format-keywords\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz\",\n \"integrity\": \"sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-hwb-function\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz\",\n \"integrity\": \"sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-ic-unit\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz\",\n \"integrity\": \"sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-is-pseudo-class\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz\",\n \"integrity\": \"sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-nested-calc\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz\",\n \"integrity\": \"sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-normalize-display-values\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz\",\n \"integrity\": \"sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-oklab-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz\",\n \"integrity\": \"sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-progressive-custom-properties\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz\",\n \"integrity\": \"sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.3\"\n }\n },\n \"node_modules/@csstools/postcss-stepped-value-functions\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz\",\n \"integrity\": \"sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-text-decoration-shorthand\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz\",\n \"integrity\": \"sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-trigonometric-functions\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz\",\n \"integrity\": \"sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/postcss-unset-value\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz\",\n \"integrity\": \"sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/@csstools/selector-specificity\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz\",\n \"integrity\": \"sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^14 || ^16 || >=18\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"node_modules/@emotion/babel-plugin\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz\",\n \"integrity\": \"sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.16.7\",\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/serialize\": \"^1.2.0\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"convert-source-map\": \"^1.5.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"find-root\": \"^1.1.0\",\n \"source-map\": \"^0.5.7\",\n \"stylis\": \"4.2.0\"\n }\n },\n \"node_modules/@emotion/babel-plugin/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@emotion/babel-plugin/node_modules/source-map\": {\n \"version\": \"0.5.7\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n \"integrity\": \"sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@emotion/cache\": {\n \"version\": \"11.13.1\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz\",\n \"integrity\": \"sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==\",\n \"dependencies\": {\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/sheet\": \"^1.4.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"stylis\": \"4.2.0\"\n }\n },\n \"node_modules/@emotion/hash\": {\n \"version\": \"0.9.2\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz\",\n \"integrity\": \"sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==\"\n },\n \"node_modules/@emotion/is-prop-valid\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz\",\n \"integrity\": \"sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==\",\n \"dependencies\": {\n \"@emotion/memoize\": \"^0.9.0\"\n }\n },\n \"node_modules/@emotion/memoize\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz\",\n \"integrity\": \"sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==\"\n },\n \"node_modules/@emotion/react\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/react/-/react-11.13.0.tgz\",\n \"integrity\": \"sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/cache\": \"^11.13.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@emotion/serialize\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.0.tgz\",\n \"integrity\": \"sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA==\",\n \"dependencies\": {\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/unitless\": \"^0.9.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@emotion/sheet\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz\",\n \"integrity\": \"sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==\"\n },\n \"node_modules/@emotion/styled\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz\",\n \"integrity\": \"sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/is-prop-valid\": \"^1.3.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.0.0-rc.0\",\n \"react\": \">=16.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@emotion/unitless\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/unitless/-/unitless-0.9.0.tgz\",\n \"integrity\": \"sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==\"\n },\n \"node_modules/@emotion/use-insertion-effect-with-fallbacks\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz\",\n \"integrity\": \"sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==\",\n \"peerDependencies\": {\n \"react\": \">=16.8.0\"\n }\n },\n \"node_modules/@emotion/utils\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz\",\n \"integrity\": \"sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==\"\n },\n \"node_modules/@emotion/weak-memoize\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz\",\n \"integrity\": \"sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==\"\n },\n \"node_modules/@eslint-community/eslint-utils\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n \"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eslint-visitor-keys\": \"^3.3.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || >=8.0.0\"\n }\n },\n \"node_modules/@eslint-community/regexpp\": {\n \"version\": \"4.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz\",\n \"integrity\": \"sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.0.0 || ^14.0.0 || >=16.0.0\"\n }\n },\n \"node_modules/@eslint/eslintrc\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz\",\n \"integrity\": \"sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ajv\": \"^6.12.4\",\n \"debug\": \"^4.3.2\",\n \"espree\": \"^9.6.0\",\n \"globals\": \"^13.19.0\",\n \"ignore\": \"^5.2.0\",\n \"import-fresh\": \"^3.2.1\",\n \"js-yaml\": \"^4.1.0\",\n \"minimatch\": \"^3.1.2\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/@eslint/eslintrc/node_modules/argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n \"license\": \"Python-2.0\"\n },\n \"node_modules/@eslint/eslintrc/node_modules/globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-fest\": \"^0.20.2\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@eslint/eslintrc/node_modules/js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"argparse\": \"^2.0.1\"\n },\n \"bin\": {\n \"js-yaml\": \"bin/js-yaml.js\"\n }\n },\n \"node_modules/@eslint/eslintrc/node_modules/type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@eslint/js\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz\",\n \"integrity\": \"sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n }\n },\n \"node_modules/@floating-ui/core\": {\n \"version\": \"1.6.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz\",\n \"integrity\": \"sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==\",\n \"peer\": true,\n \"dependencies\": {\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"node_modules/@floating-ui/dom\": {\n \"version\": \"1.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.8.tgz\",\n \"integrity\": \"sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==\",\n \"peer\": true,\n \"dependencies\": {\n \"@floating-ui/core\": \"^1.6.0\",\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"node_modules/@floating-ui/react-dom\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz\",\n \"integrity\": \"sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==\",\n \"peer\": true,\n \"dependencies\": {\n \"@floating-ui/dom\": \"^1.0.0\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.8.0\",\n \"react-dom\": \">=16.8.0\"\n }\n },\n \"node_modules/@floating-ui/utils\": {\n \"version\": \"0.2.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz\",\n \"integrity\": \"sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==\",\n \"peer\": true\n },\n \"node_modules/@humanwhocodes/config-array\": {\n \"version\": \"0.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz\",\n \"integrity\": \"sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==\",\n \"deprecated\": \"Use @eslint/config-array instead\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@humanwhocodes/object-schema\": \"^2.0.3\",\n \"debug\": \"^4.3.1\",\n \"minimatch\": \"^3.0.5\"\n },\n \"engines\": {\n \"node\": \">=10.10.0\"\n }\n },\n \"node_modules/@humanwhocodes/module-importer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n \"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.22\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/nzakas\"\n }\n },\n \"node_modules/@humanwhocodes/object-schema\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz\",\n \"integrity\": \"sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==\",\n \"deprecated\": \"Use @eslint/object-schema instead\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/@isaacs/cliui\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz\",\n \"integrity\": \"sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^5.1.2\",\n \"string-width-cjs\": \"npm:string-width@^4.2.0\",\n \"strip-ansi\": \"^7.0.1\",\n \"strip-ansi-cjs\": \"npm:strip-ansi@^6.0.1\",\n \"wrap-ansi\": \"^8.1.0\",\n \"wrap-ansi-cjs\": \"npm:wrap-ansi@^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-regex?sponsor=1\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/ansi-styles\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz\",\n \"integrity\": \"sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/string-width\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz\",\n \"integrity\": \"sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eastasianwidth\": \"^0.2.0\",\n \"emoji-regex\": \"^9.2.2\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/strip-ansi?sponsor=1\"\n }\n },\n \"node_modules/@isaacs/cliui/node_modules/wrap-ansi\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz\",\n \"integrity\": \"sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^6.1.0\",\n \"string-width\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/@istanbuljs/load-nyc-config\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz\",\n \"integrity\": \"sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"camelcase\": \"^5.3.1\",\n \"find-up\": \"^4.1.0\",\n \"get-package-type\": \"^0.1.0\",\n \"js-yaml\": \"^3.13.1\",\n \"resolve-from\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n \"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/@istanbuljs/schema\": {\n \"version\": \"0.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz\",\n \"integrity\": \"sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/console\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz\",\n \"integrity\": \"sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/console/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/console/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/console/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/console/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/console/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/console/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/core\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz\",\n \"integrity\": \"sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/reporters\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-changed-files\": \"^27.5.1\",\n \"jest-config\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-resolve-dependencies\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"jest-watcher\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"rimraf\": \"^3.0.0\",\n \"slash\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@jest/core/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/core/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/core/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/core/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/core/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/core/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/environment\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz\",\n \"integrity\": \"sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/fake-timers\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz\",\n \"integrity\": \"sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@sinonjs/fake-timers\": \"^8.0.1\",\n \"@types/node\": \"*\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/globals\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz\",\n \"integrity\": \"sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"expect\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/reporters\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz\",\n \"integrity\": \"sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@bcoe/v8-coverage\": \"^0.2.3\",\n \"@jest/console\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"exit\": \"^0.1.2\",\n \"glob\": \"^7.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"istanbul-lib-instrument\": \"^5.1.0\",\n \"istanbul-lib-report\": \"^3.0.0\",\n \"istanbul-lib-source-maps\": \"^4.0.0\",\n \"istanbul-reports\": \"^3.1.3\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.0\",\n \"string-length\": \"^4.0.1\",\n \"terminal-link\": \"^2.0.0\",\n \"v8-to-istanbul\": \"^8.1.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@jest/reporters/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/reporters/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@jest/reporters/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/schemas\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz\",\n \"integrity\": \"sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@sinclair/typebox\": \"^0.24.1\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/@jest/source-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz\",\n \"integrity\": \"sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"callsites\": \"^3.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"source-map\": \"^0.6.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/source-map/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@jest/test-result\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz\",\n \"integrity\": \"sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/test-sequencer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz\",\n \"integrity\": \"sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/transform\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz\",\n \"integrity\": \"sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.1.0\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"chalk\": \"^4.0.0\",\n \"convert-source-map\": \"^1.4.0\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"pirates\": \"^4.0.4\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\",\n \"write-file-atomic\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/transform/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/transform/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/transform/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/transform/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/transform/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/transform/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/transform/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/@jest/transform/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/types\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz\",\n \"integrity\": \"sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^16.0.0\",\n \"chalk\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/@jest/types/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@jest/types/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@jest/types/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@jest/types/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@jest/types/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jest/types/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz\",\n \"integrity\": \"sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==\",\n \"dependencies\": {\n \"@jridgewell/set-array\": \"^1.2.1\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.10\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/set-array\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz\",\n \"integrity\": \"sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/source-map\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz\",\n \"integrity\": \"sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz\",\n \"integrity\": \"sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.25\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz\",\n \"integrity\": \"sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@leichtgewicht/ip-codec\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz\",\n \"integrity\": \"sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@mui/base\": {\n \"version\": \"5.0.0-beta.40\",\n \"resolved\": \"https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz\",\n \"integrity\": \"sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==\",\n \"peer\": true,\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@floating-ui/react-dom\": \"^2.0.8\",\n \"@mui/types\": \"^7.2.14\",\n \"@mui/utils\": \"^5.15.14\",\n \"@popperjs/core\": \"^2.11.8\",\n \"clsx\": \"^2.1.0\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/core-downloads-tracker\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.5.tgz\",\n \"integrity\": \"sha512-ziFn1oPm6VjvHQcdGcAO+fXvOQEgieIj0BuSqcltFU+JXIxjPdVYNTdn2HU7/Ak5Gabk6k2u7+9PV7oZ6JT5sA==\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n }\n },\n \"node_modules/@mui/icons-material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.5.tgz\",\n \"integrity\": \"sha512-bn88xxU/J9UV0s6+eutq7o3TTOrOlbCX+KshFb8kxgIxJZZfYz3JbAXVMivvoMF4Md6jCVUzM9HEkf4Ajab4tw==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@mui/material\": \"^5.0.0\",\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/material/-/material-5.16.5.tgz\",\n \"integrity\": \"sha512-eQrjjg4JeczXvh/+8yvJkxWIiKNHVptB/AqpsKfZBWp5mUD5U3VsjODMuUl1K2BSq0omV3CiO/mQmWSSMKSmaA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/core-downloads-tracker\": \"^5.16.5\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"@popperjs/core\": \"^2.11.8\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\",\n \"react-transition-group\": \"^4.4.5\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.5.0\",\n \"@emotion/styled\": \"^11.3.0\",\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n },\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/material/node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n },\n \"node_modules/@mui/private-theming\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.5.tgz\",\n \"integrity\": \"sha512-CSLg0YkpDqg0aXOxtjo3oTMd3XWMxvNb5d0v4AYVqwOltU8q6GvnZjhWyCLjGSCrcgfwm6/VDjaKLPlR14wxIA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/utils\": \"^5.16.5\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/styled-engine\": {\n \"version\": \"5.16.4\",\n \"resolved\": \"https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.4.tgz\",\n \"integrity\": \"sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@emotion/cache\": \"^11.11.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.4.1\",\n \"@emotion/styled\": \"^11.3.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/system\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/system/-/system-5.16.5.tgz\",\n \"integrity\": \"sha512-uzIUGdrWddUx1HPxW4+B2o4vpgKyRxGe/8BxbfXVDPNPHX75c782TseoCnR/VyfnZJfqX87GcxDmnZEE1c031g==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/private-theming\": \"^5.16.5\",\n \"@mui/styled-engine\": \"^5.16.4\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.5.0\",\n \"@emotion/styled\": \"^11.3.0\",\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n },\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/types\": {\n \"version\": \"7.2.15\",\n \"resolved\": \"https://registry.npmjs.org/@mui/types/-/types-7.2.15.tgz\",\n \"integrity\": \"sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==\",\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/utils\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/utils/-/utils-5.16.5.tgz\",\n \"integrity\": \"sha512-CwhcA9y44XwK7k2joL3Y29mRUnoBt+gOZZdGyw7YihbEwEErJYBtDwbZwVgH68zAljGe/b+Kd5bzfl63Gi3R2A==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/types\": \"^7.2.15\",\n \"@types/prop-types\": \"^15.7.12\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@types/react\": \"^17.0.0 || ^18.0.0\",\n \"react\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@mui/utils/node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n },\n \"node_modules/@mui/x-date-pickers\": {\n \"version\": \"7.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.11.1.tgz\",\n \"integrity\": \"sha512-CflouzTNSv0YeOA8iiYpJMtqGlwGC8LI9EE9egDGhatR9Mn5geRDTXsm0rRG/4pMOfaRxyJc6Yzr/axBhEXM7w==\",\n \"peer\": true,\n \"dependencies\": {\n \"@babel/runtime\": \"^7.24.8\",\n \"@mui/base\": \"^5.0.0-beta.40\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/utils\": \"^5.16.5\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-transition-group\": \"^4.4.5\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/mui-org\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \"^11.9.0\",\n \"@emotion/styled\": \"^11.8.1\",\n \"@mui/material\": \"^5.15.14\",\n \"date-fns\": \"^2.25.0 || ^3.2.0\",\n \"date-fns-jalali\": \"^2.13.0-0 || ^3.2.0-0\",\n \"dayjs\": \"^1.10.7\",\n \"luxon\": \"^3.0.2\",\n \"moment\": \"^2.29.4\",\n \"moment-hijri\": \"^2.1.2\",\n \"moment-jalaali\": \"^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0\",\n \"react\": \"^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^17.0.0 || ^18.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@emotion/react\": {\n \"optional\": true\n },\n \"@emotion/styled\": {\n \"optional\": true\n },\n \"date-fns\": {\n \"optional\": true\n },\n \"date-fns-jalali\": {\n \"optional\": true\n },\n \"dayjs\": {\n \"optional\": true\n },\n \"luxon\": {\n \"optional\": true\n },\n \"moment\": {\n \"optional\": true\n },\n \"moment-hijri\": {\n \"optional\": true\n },\n \"moment-jalaali\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals\": {\n \"version\": \"5.1.1-v1\",\n \"resolved\": \"https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz\",\n \"integrity\": \"sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eslint-scope\": \"5.1.1\"\n }\n },\n \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/@nodelib/fs.scandir\": {\n \"version\": \"2.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n \"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"2.0.5\",\n \"run-parallel\": \"^1.1.9\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.stat\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n \"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.walk\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n \"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.scandir\": \"2.1.5\",\n \"fastq\": \"^1.6.0\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@pkgjs/parseargs\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz\",\n \"integrity\": \"sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/@pmmmwh/react-refresh-webpack-plugin\": {\n \"version\": \"0.5.15\",\n \"resolved\": \"https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz\",\n \"integrity\": \"sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-html\": \"^0.0.9\",\n \"core-js-pure\": \"^3.23.3\",\n \"error-stack-parser\": \"^2.0.6\",\n \"html-entities\": \"^2.1.0\",\n \"loader-utils\": \"^2.0.4\",\n \"schema-utils\": \"^4.2.0\",\n \"source-map\": \"^0.7.3\"\n },\n \"engines\": {\n \"node\": \">= 10.13\"\n },\n \"peerDependencies\": {\n \"@types/webpack\": \"4.x || 5.x\",\n \"react-refresh\": \">=0.10.0 <1.0.0\",\n \"sockjs-client\": \"^1.4.0\",\n \"type-fest\": \">=0.17.0 <5.0.0\",\n \"webpack\": \">=4.43.0 <6.0.0\",\n \"webpack-dev-server\": \"3.x || 4.x || 5.x\",\n \"webpack-hot-middleware\": \"2.x\",\n \"webpack-plugin-serve\": \"0.x || 1.x\"\n },\n \"peerDependenciesMeta\": {\n \"@types/webpack\": {\n \"optional\": true\n },\n \"sockjs-client\": {\n \"optional\": true\n },\n \"type-fest\": {\n \"optional\": true\n },\n \"webpack-dev-server\": {\n \"optional\": true\n },\n \"webpack-hot-middleware\": {\n \"optional\": true\n },\n \"webpack-plugin-serve\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@popperjs/core\": {\n \"version\": \"2.11.8\",\n \"resolved\": \"https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz\",\n \"integrity\": \"sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/popperjs\"\n }\n },\n \"node_modules/@rollup/plugin-babel\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz\",\n \"integrity\": \"sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.10.4\",\n \"@rollup/pluginutils\": \"^3.1.0\"\n },\n \"engines\": {\n \"node\": \">= 10.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\",\n \"@types/babel__core\": \"^7.1.9\",\n \"rollup\": \"^1.20.0||^2.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/babel__core\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rollup/plugin-node-resolve\": {\n \"version\": \"11.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz\",\n \"integrity\": \"sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"@types/resolve\": \"1.17.1\",\n \"builtin-modules\": \"^3.1.0\",\n \"deepmerge\": \"^4.2.2\",\n \"is-module\": \"^1.0.0\",\n \"resolve\": \"^1.19.0\"\n },\n \"engines\": {\n \"node\": \">= 10.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0||^2.0.0\"\n }\n },\n \"node_modules/@rollup/plugin-replace\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz\",\n \"integrity\": \"sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"magic-string\": \"^0.25.7\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0 || ^2.0.0\"\n }\n },\n \"node_modules/@rollup/pluginutils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz\",\n \"integrity\": \"sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"0.0.39\",\n \"estree-walker\": \"^1.0.1\",\n \"picomatch\": \"^2.2.2\"\n },\n \"engines\": {\n \"node\": \">= 8.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0||^2.0.0\"\n }\n },\n \"node_modules/@rollup/pluginutils/node_modules/@types/estree\": {\n \"version\": \"0.0.39\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz\",\n \"integrity\": \"sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rtsao/scc\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz\",\n \"integrity\": \"sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rushstack/eslint-patch\": {\n \"version\": \"1.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz\",\n \"integrity\": \"sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@sinclair/typebox\": {\n \"version\": \"0.24.51\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz\",\n \"integrity\": \"sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@sinonjs/commons\": {\n \"version\": \"1.8.6\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz\",\n \"integrity\": \"sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"type-detect\": \"4.0.8\"\n }\n },\n \"node_modules/@sinonjs/fake-timers\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz\",\n \"integrity\": \"sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"@sinonjs/commons\": \"^1.7.0\"\n }\n },\n \"node_modules/@surma/rollup-plugin-off-main-thread\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz\",\n \"integrity\": \"sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"ejs\": \"^3.1.6\",\n \"json5\": \"^2.2.0\",\n \"magic-string\": \"^0.25.0\",\n \"string.prototype.matchall\": \"^4.0.6\"\n }\n },\n \"node_modules/@svgr/babel-plugin-add-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-remove-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-remove-jsx-empty-expression\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz\",\n \"integrity\": \"sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-replace-jsx-attribute-value\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz\",\n \"integrity\": \"sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-svg-dynamic-title\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz\",\n \"integrity\": \"sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-svg-em-dimensions\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz\",\n \"integrity\": \"sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-transform-react-native-svg\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz\",\n \"integrity\": \"sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-plugin-transform-svg-component\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz\",\n \"integrity\": \"sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/babel-preset\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz\",\n \"integrity\": \"sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@svgr/babel-plugin-add-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-empty-expression\": \"^5.0.1\",\n \"@svgr/babel-plugin-replace-jsx-attribute-value\": \"^5.0.1\",\n \"@svgr/babel-plugin-svg-dynamic-title\": \"^5.4.0\",\n \"@svgr/babel-plugin-svg-em-dimensions\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-react-native-svg\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-svg-component\": \"^5.5.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/core\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz\",\n \"integrity\": \"sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"camelcase\": \"^6.2.0\",\n \"cosmiconfig\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/hast-util-to-babel-ast\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz\",\n \"integrity\": \"sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.12.6\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/plugin-jsx\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz\",\n \"integrity\": \"sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.12.3\",\n \"@svgr/babel-preset\": \"^5.5.0\",\n \"@svgr/hast-util-to-babel-ast\": \"^5.5.0\",\n \"svg-parser\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/plugin-svgo\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz\",\n \"integrity\": \"sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"svgo\": \"^1.2.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@svgr/webpack\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz\",\n \"integrity\": \"sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/plugin-transform-react-constant-elements\": \"^7.12.1\",\n \"@babel/preset-env\": \"^7.12.1\",\n \"@babel/preset-react\": \"^7.12.5\",\n \"@svgr/core\": \"^5.5.0\",\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"@svgr/plugin-svgo\": \"^5.5.0\",\n \"loader-utils\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/gregberge\"\n }\n },\n \"node_modules/@tanstack/match-sorter-utils\": {\n \"version\": \"8.15.1\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.15.1.tgz\",\n \"integrity\": \"sha512-PnVV3d2poenUM31ZbZi/yXkBu3J7kd5k2u51CGwwNojag451AjTH9N6n41yjXz2fpLeewleyLBmNS6+HcGDlXw==\",\n \"dependencies\": {\n \"remove-accents\": \"0.5.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@tanstack/react-table\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.19.3.tgz\",\n \"integrity\": \"sha512-MtgPZc4y+cCRtU16y1vh1myuyZ2OdkWgMEBzyjYsoMWMicKZGZvcDnub3Zwb6XF2pj9iRMvm1SO1n57lS0vXLw==\",\n \"dependencies\": {\n \"@tanstack/table-core\": \"8.19.3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.8\",\n \"react-dom\": \">=16.8\"\n }\n },\n \"node_modules/@tanstack/react-virtual\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.8.3.tgz\",\n \"integrity\": \"sha512-9ICwbDUUzN99CJIGc373i8NLoj6zFTKI2Hlcmo0+lCSAhPQ5mxq4dGOMKmLYoEFyHcGQ64Bd6ZVbnPpM6lNK5w==\",\n \"dependencies\": {\n \"@tanstack/virtual-core\": \"3.8.3\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0\"\n }\n },\n \"node_modules/@tanstack/table-core\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.19.3.tgz\",\n \"integrity\": \"sha512-IqREj9ADoml9zCAouIG/5kCGoyIxPFdqdyoxis9FisXFi5vT+iYfEfLosq4xkU/iDbMcEuAj+X8dWRLvKYDNoQ==\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@tanstack/virtual-core\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.8.3.tgz\",\n \"integrity\": \"sha512-vd2A2TnM5lbnWZnHi9B+L2gPtkSeOtJOAw358JqokIH1+v2J7vUAzFVPwB/wrye12RFOurffXu33plm4uQ+JBQ==\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@testing-library/dom\": {\n \"version\": \"10.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz\",\n \"integrity\": \"sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==\",\n \"peer\": true,\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.3.0\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"peer\": true,\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/aria-query\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz\",\n \"integrity\": \"sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==\",\n \"peer\": true,\n \"dependencies\": {\n \"dequal\": \"^2.0.3\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"peer\": true,\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"peer\": true,\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"peer\": true\n },\n \"node_modules/@testing-library/dom/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/dom/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"peer\": true,\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/jest-dom\": {\n \"version\": \"5.17.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz\",\n \"integrity\": \"sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==\",\n \"dependencies\": {\n \"@adobe/css-tools\": \"^4.0.1\",\n \"@babel/runtime\": \"^7.9.2\",\n \"@types/testing-library__jest-dom\": \"^5.9.1\",\n \"aria-query\": \"^5.0.0\",\n \"chalk\": \"^3.0.0\",\n \"css.escape\": \"^1.5.1\",\n \"dom-accessibility-api\": \"^0.5.6\",\n \"lodash\": \"^4.17.15\",\n \"redent\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\",\n \"npm\": \">=6\",\n \"yarn\": \">=1\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/chalk\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz\",\n \"integrity\": \"sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/@testing-library/jest-dom/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/jest-dom/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/react\": {\n \"version\": \"13.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz\",\n \"integrity\": \"sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"@testing-library/dom\": \"^8.5.0\",\n \"@types/react-dom\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.0.0\",\n \"react-dom\": \"^18.0.0\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/@testing-library/dom\": {\n \"version\": \"8.20.1\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz\",\n \"integrity\": \"sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.1.3\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/@testing-library/react/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/react/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@testing-library/user-event\": {\n \"version\": \"13.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz\",\n \"integrity\": \"sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.12.5\"\n },\n \"engines\": {\n \"node\": \">=10\",\n \"npm\": \">=6\"\n },\n \"peerDependencies\": {\n \"@testing-library/dom\": \">=7.21.4\"\n }\n },\n \"node_modules/@tootallnate/once\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz\",\n \"integrity\": \"sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/@trysound/sax\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz\",\n \"integrity\": \"sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/@tweenjs/tween.js\": {\n \"version\": \"23.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz\",\n \"integrity\": \"sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==\"\n },\n \"node_modules/@types/aria-query\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz\",\n \"integrity\": \"sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==\"\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz\",\n \"integrity\": \"sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz\",\n \"integrity\": \"sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/body-parser\": {\n \"version\": \"1.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz\",\n \"integrity\": \"sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/connect\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/bonjour\": {\n \"version\": \"3.5.13\",\n \"resolved\": \"https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz\",\n \"integrity\": \"sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/connect\": {\n \"version\": \"3.4.38\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz\",\n \"integrity\": \"sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/connect-history-api-fallback\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz\",\n \"integrity\": \"sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/express-serve-static-core\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/eslint\": {\n \"version\": \"8.56.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz\",\n \"integrity\": \"sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"*\",\n \"@types/json-schema\": \"*\"\n }\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz\",\n \"integrity\": \"sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/express\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz\",\n \"integrity\": \"sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/body-parser\": \"*\",\n \"@types/express-serve-static-core\": \"^4.17.33\",\n \"@types/qs\": \"*\",\n \"@types/serve-static\": \"*\"\n }\n },\n \"node_modules/@types/express-serve-static-core\": {\n \"version\": \"4.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz\",\n \"integrity\": \"sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"@types/qs\": \"*\",\n \"@types/range-parser\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"node_modules/@types/graceful-fs\": {\n \"version\": \"4.1.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz\",\n \"integrity\": \"sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/http-errors\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz\",\n \"integrity\": \"sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/http-proxy\": {\n \"version\": \"1.17.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz\",\n \"integrity\": \"sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/istanbul-lib-coverage\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz\",\n \"integrity\": \"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/istanbul-lib-report\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz\",\n \"integrity\": \"sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/istanbul-lib-coverage\": \"*\"\n }\n },\n \"node_modules/@types/istanbul-reports\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz\",\n \"integrity\": \"sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/istanbul-lib-report\": \"*\"\n }\n },\n \"node_modules/@types/jest\": {\n \"version\": \"27.5.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz\",\n \"integrity\": \"sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==\",\n \"dependencies\": {\n \"jest-matcher-utils\": \"^27.0.0\",\n \"pretty-format\": \"^27.0.0\"\n }\n },\n \"node_modules/@types/json-schema\": {\n \"version\": \"7.0.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz\",\n \"integrity\": \"sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/json5\": {\n \"version\": \"0.0.29\",\n \"resolved\": \"https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz\",\n \"integrity\": \"sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/mime\": {\n \"version\": \"1.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz\",\n \"integrity\": \"sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"16.18.104\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-16.18.104.tgz\",\n \"integrity\": \"sha512-OF3keVCbfPlkzxnnDBUZJn1RiCJzKeadjiW0xTEb0G1SUJ5gDVb3qnzZr2T4uIFvsbKJbXy1v2DN7e2zaEY7jQ==\"\n },\n \"node_modules/@types/node-forge\": {\n \"version\": \"1.3.11\",\n \"resolved\": \"https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz\",\n \"integrity\": \"sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/parse-json\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz\",\n \"integrity\": \"sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==\"\n },\n \"node_modules/@types/prettier\": {\n \"version\": \"2.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz\",\n \"integrity\": \"sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz\",\n \"integrity\": \"sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==\"\n },\n \"node_modules/@types/q\": {\n \"version\": \"1.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz\",\n \"integrity\": \"sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/qs\": {\n \"version\": \"6.9.16\",\n \"resolved\": \"https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz\",\n \"integrity\": \"sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/range-parser\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz\",\n \"integrity\": \"sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz\",\n \"integrity\": \"sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz\",\n \"integrity\": \"sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==\",\n \"dependencies\": {\n \"@types/react\": \"*\"\n }\n },\n \"node_modules/@types/react-table\": {\n \"version\": \"7.7.20\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-table/-/react-table-7.7.20.tgz\",\n \"integrity\": \"sha512-ahMp4pmjVlnExxNwxyaDrFgmKxSbPwU23sGQw2gJK4EhCvnvmib2s/O/+y1dfV57dXOwpr2plfyBol+vEHbi2w==\",\n \"dev\": true,\n \"dependencies\": {\n \"@types/react\": \"*\"\n }\n },\n \"node_modules/@types/react-transition-group\": {\n \"version\": \"4.4.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz\",\n \"integrity\": \"sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==\",\n \"dependencies\": {\n \"@types/react\": \"*\"\n }\n },\n \"node_modules/@types/resolve\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz\",\n \"integrity\": \"sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz\",\n \"integrity\": \"sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/semver\": {\n \"version\": \"7.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz\",\n \"integrity\": \"sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/send\": {\n \"version\": \"0.17.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz\",\n \"integrity\": \"sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/mime\": \"^1\",\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/serve-index\": {\n \"version\": \"1.9.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz\",\n \"integrity\": \"sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/express\": \"*\"\n }\n },\n \"node_modules/@types/serve-static\": {\n \"version\": \"1.15.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz\",\n \"integrity\": \"sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/http-errors\": \"*\",\n \"@types/node\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"node_modules/@types/sockjs\": {\n \"version\": \"0.3.36\",\n \"resolved\": \"https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz\",\n \"integrity\": \"sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/stack-utils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz\",\n \"integrity\": \"sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/stats.js\": {\n \"version\": \"0.17.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz\",\n \"integrity\": \"sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==\",\n \"dev\": true\n },\n \"node_modules/@types/testing-library__jest-dom\": {\n \"version\": \"5.14.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz\",\n \"integrity\": \"sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==\",\n \"dependencies\": {\n \"@types/jest\": \"*\"\n }\n },\n \"node_modules/@types/three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-OCd2Uv/8/4TbmSaIRFawrCOnDMLdpaa+QGJdhlUBmdfbHjLY8k6uFc0tde2/UvcaHQ6NtLl28onj/vJfofV+Tg==\",\n \"dev\": true,\n \"dependencies\": {\n \"@tweenjs/tween.js\": \"~23.1.2\",\n \"@types/stats.js\": \"*\",\n \"@types/webxr\": \"*\",\n \"fflate\": \"~0.8.2\",\n \"meshoptimizer\": \"~0.18.1\"\n }\n },\n \"node_modules/@types/trusted-types\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz\",\n \"integrity\": \"sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/webxr\": {\n \"version\": \"0.5.19\",\n \"resolved\": \"https://registry.npmjs.org/@types/webxr/-/webxr-0.5.19.tgz\",\n \"integrity\": \"sha512-4hxA+NwohSgImdTSlPXEqDqqFktNgmTXQ05ff1uWam05tNGroCMp4G+4XVl6qWm1p7GQ/9oD41kAYsSssF6Mzw==\",\n \"dev\": true\n },\n \"node_modules/@types/ws\": {\n \"version\": \"8.5.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz\",\n \"integrity\": \"sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\"\n }\n },\n \"node_modules/@types/yargs\": {\n \"version\": \"16.0.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz\",\n \"integrity\": \"sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"node_modules/@types/yargs-parser\": {\n \"version\": \"21.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz\",\n \"integrity\": \"sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@typescript-eslint/eslint-plugin\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz\",\n \"integrity\": \"sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/regexpp\": \"^4.4.0\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/type-utils\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"natural-compare-lite\": \"^1.4.0\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"@typescript-eslint/parser\": \"^5.0.0\",\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/experimental-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/utils\": \"5.62.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/parser\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz\",\n \"integrity\": \"sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"debug\": \"^4.3.4\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/scope-manager\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz\",\n \"integrity\": \"sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@typescript-eslint/type-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"tsutils\": \"^3.21.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/types\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz\",\n \"integrity\": \"sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@typescript-eslint/typescript-estree\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz\",\n \"integrity\": \"sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"globby\": \"^11.1.0\",\n \"is-glob\": \"^4.0.3\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@typescript-eslint/utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz\",\n \"integrity\": \"sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@types/json-schema\": \"^7.0.9\",\n \"@types/semver\": \"^7.3.12\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"eslint-scope\": \"^5.1.1\",\n \"semver\": \"^7.3.7\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/utils/node_modules/eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/utils/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/@typescript-eslint/visitor-keys\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz\",\n \"integrity\": \"sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"eslint-visitor-keys\": \"^3.3.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@ungap/structured-clone\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz\",\n \"integrity\": \"sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/@webassemblyjs/ast\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz\",\n \"integrity\": \"sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/helper-numbers\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\"\n }\n },\n \"node_modules/@webassemblyjs/floating-point-hex-parser\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz\",\n \"integrity\": \"sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-api-error\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz\",\n \"integrity\": \"sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-buffer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz\",\n \"integrity\": \"sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-numbers\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz\",\n \"integrity\": \"sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/floating-point-hex-parser\": \"1.11.6\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"node_modules/@webassemblyjs/helper-wasm-bytecode\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz\",\n \"integrity\": \"sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/helper-wasm-section\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz\",\n \"integrity\": \"sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\"\n }\n },\n \"node_modules/@webassemblyjs/ieee754\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz\",\n \"integrity\": \"sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@xtuc/ieee754\": \"^1.2.0\"\n }\n },\n \"node_modules/@webassemblyjs/leb128\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz\",\n \"integrity\": \"sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"node_modules/@webassemblyjs/utf8\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz\",\n \"integrity\": \"sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@webassemblyjs/wasm-edit\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz\",\n \"integrity\": \"sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-section\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-opt\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\",\n \"@webassemblyjs/wast-printer\": \"1.12.1\"\n }\n },\n \"node_modules/@webassemblyjs/wasm-gen\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz\",\n \"integrity\": \"sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"node_modules/@webassemblyjs/wasm-opt\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz\",\n \"integrity\": \"sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\"\n }\n },\n \"node_modules/@webassemblyjs/wasm-parser\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz\",\n \"integrity\": \"sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"node_modules/@webassemblyjs/wast-printer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz\",\n \"integrity\": \"sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"node_modules/@xtuc/ieee754\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz\",\n \"integrity\": \"sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/@xtuc/long\": {\n \"version\": \"4.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz\",\n \"integrity\": \"sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/3d-force-graph\": {\n \"version\": \"1.73.3\",\n \"resolved\": \"https://registry.npmjs.org/3d-force-graph/-/3d-force-graph-1.73.3.tgz\",\n \"integrity\": \"sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==\",\n \"dependencies\": {\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"three\": \">=0.118 <1\",\n \"three-forcegraph\": \"1\",\n \"three-render-objects\": \"^1.29\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/abab\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/abab/-/abab-2.0.6.tgz\",\n \"integrity\": \"sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==\",\n \"deprecated\": \"Use your platform's native atob() and btoa() methods instead\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/accepts\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz\",\n \"integrity\": \"sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mime-types\": \"~2.1.34\",\n \"negotiator\": \"0.6.3\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/accessor-fn\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.1.tgz\",\n \"integrity\": \"sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/acorn\": {\n \"version\": \"8.12.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz\",\n \"integrity\": \"sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-globals\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz\",\n \"integrity\": \"sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^7.1.1\",\n \"acorn-walk\": \"^7.1.1\"\n }\n },\n \"node_modules/acorn-globals/node_modules/acorn\": {\n \"version\": \"7.4.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz\",\n \"integrity\": \"sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-import-attributes\": {\n \"version\": \"1.9.5\",\n \"resolved\": \"https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz\",\n \"integrity\": \"sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"acorn\": \"^8\"\n }\n },\n \"node_modules/acorn-jsx\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n \"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n }\n },\n \"node_modules/acorn-walk\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz\",\n \"integrity\": \"sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/address\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/address/-/address-1.2.2.tgz\",\n \"integrity\": \"sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 10.0.0\"\n }\n },\n \"node_modules/adjust-sourcemap-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loader-utils\": \"^2.0.0\",\n \"regex-parser\": \"^2.2.11\"\n },\n \"engines\": {\n \"node\": \">=8.9\"\n }\n },\n \"node_modules/agent-base\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz\",\n \"integrity\": \"sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"4\"\n },\n \"engines\": {\n \"node\": \">= 6.0.0\"\n }\n },\n \"node_modules/ajv\": {\n \"version\": \"6.12.6\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz\",\n \"integrity\": \"sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.1\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"json-schema-traverse\": \"^0.4.1\",\n \"uri-js\": \"^4.2.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/ajv-formats\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz\",\n \"integrity\": \"sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ajv\": \"^8.0.0\"\n },\n \"peerDependencies\": {\n \"ajv\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"ajv\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/ajv-formats/node_modules/ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/ajv-formats/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ajv-keywords\": {\n \"version\": \"3.5.2\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz\",\n \"integrity\": \"sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"ajv\": \"^6.9.1\"\n }\n },\n \"node_modules/ansi-escapes\": {\n \"version\": \"4.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",\n \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-fest\": \"^0.21.3\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/ansi-html\": {\n \"version\": \"0.0.9\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz\",\n \"integrity\": \"sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==\",\n \"engines\": [\n \"node >= 0.8.0\"\n ],\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"ansi-html\": \"bin/ansi-html\"\n }\n },\n \"node_modules/ansi-html-community\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz\",\n \"integrity\": \"sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==\",\n \"engines\": [\n \"node >= 0.8.0\"\n ],\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"ansi-html\": \"bin/ansi-html\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n \"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n \"dependencies\": {\n \"color-convert\": \"^1.9.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/any-promise\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz\",\n \"integrity\": \"sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/anymatch\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz\",\n \"integrity\": \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"normalize-path\": \"^3.0.0\",\n \"picomatch\": \"^2.0.4\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/arg\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/arg/-/arg-5.0.2.tgz\",\n \"integrity\": \"sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/argparse\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n \"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"sprintf-js\": \"~1.0.2\"\n }\n },\n \"node_modules/aria-query\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz\",\n \"integrity\": \"sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==\",\n \"dependencies\": {\n \"deep-equal\": \"^2.0.5\"\n }\n },\n \"node_modules/array-buffer-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.5\",\n \"is-array-buffer\": \"^3.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array-flatten\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n \"integrity\": \"sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/array-includes\": {\n \"version\": \"3.1.8\",\n \"resolved\": \"https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz\",\n \"integrity\": \"sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"is-string\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array-union\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz\",\n \"integrity\": \"sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-uniq\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/array-uniq\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz\",\n \"integrity\": \"sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/array.prototype.findlast\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz\",\n \"integrity\": \"sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.findlastindex\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz\",\n \"integrity\": \"sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.flat\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz\",\n \"integrity\": \"sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.flatmap\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz\",\n \"integrity\": \"sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.reduce\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz\",\n \"integrity\": \"sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-array-method-boxes-properly\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"is-string\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.tosorted\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz\",\n \"integrity\": \"sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/arraybuffer.prototype.slice\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz\",\n \"integrity\": \"sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.22.3\",\n \"es-errors\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.3\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-shared-array-buffer\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/asap\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n \"integrity\": \"sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ast-types-flow\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz\",\n \"integrity\": \"sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/async\": {\n \"version\": \"3.2.5\",\n \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.5.tgz\",\n \"integrity\": \"sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==\"\n },\n \"node_modules/asynckit\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==\"\n },\n \"node_modules/at-least-node\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",\n \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">= 4.0.0\"\n }\n },\n \"node_modules/attr-accept\": {\n \"version\": \"2.2.2\",\n \"resolved\": \"https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz\",\n \"integrity\": \"sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/autoprefixer\": {\n \"version\": \"10.4.20\",\n \"resolved\": \"https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz\",\n \"integrity\": \"sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/autoprefixer\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.23.3\",\n \"caniuse-lite\": \"^1.0.30001646\",\n \"fraction.js\": \"^4.3.7\",\n \"normalize-range\": \"^0.1.2\",\n \"picocolors\": \"^1.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"bin\": {\n \"autoprefixer\": \"bin/autoprefixer\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/available-typed-arrays\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz\",\n \"integrity\": \"sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==\",\n \"dependencies\": {\n \"possible-typed-array-names\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/axe-core\": {\n \"version\": \"4.10.0\",\n \"resolved\": \"https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz\",\n \"integrity\": \"sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==\",\n \"license\": \"MPL-2.0\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/axios\": {\n \"version\": \"1.7.7\",\n \"resolved\": \"https://registry.npmjs.org/axios/-/axios-1.7.7.tgz\",\n \"integrity\": \"sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"follow-redirects\": \"^1.15.6\",\n \"form-data\": \"^4.0.0\",\n \"proxy-from-env\": \"^1.1.0\"\n }\n },\n \"node_modules/axios/node_modules/form-data\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz\",\n \"integrity\": \"sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==\",\n \"dependencies\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/axobject-query\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz\",\n \"integrity\": \"sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/babel-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__core\": \"^7.1.14\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"babel-preset-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.8.0\"\n }\n },\n \"node_modules/babel-jest/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/babel-jest/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/babel-jest/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/babel-jest/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/babel-jest/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/babel-jest/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/babel-loader\": {\n \"version\": \"8.4.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz\",\n \"integrity\": \"sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"find-cache-dir\": \"^3.3.1\",\n \"loader-utils\": \"^2.0.4\",\n \"make-dir\": \"^3.1.0\",\n \"schema-utils\": \"^2.6.5\"\n },\n \"engines\": {\n \"node\": \">= 8.9\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\",\n \"webpack\": \">=2\"\n }\n },\n \"node_modules/babel-loader/node_modules/schema-utils\": {\n \"version\": \"2.7.1\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz\",\n \"integrity\": \"sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.5\",\n \"ajv\": \"^6.12.4\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 8.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/babel-plugin-istanbul\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz\",\n \"integrity\": \"sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@istanbuljs/load-nyc-config\": \"^1.0.0\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-instrument\": \"^5.0.4\",\n \"test-exclude\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/babel-plugin-jest-hoist\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz\",\n \"integrity\": \"sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.3.3\",\n \"@babel/types\": \"^7.3.3\",\n \"@types/babel__core\": \"^7.0.0\",\n \"@types/babel__traverse\": \"^7.0.6\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/babel-plugin-macros\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz\",\n \"integrity\": \"sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"cosmiconfig\": \"^7.0.0\",\n \"resolve\": \"^1.19.0\"\n },\n \"engines\": {\n \"node\": \">=10\",\n \"npm\": \">=6\"\n }\n },\n \"node_modules/babel-plugin-named-asset-import\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz\",\n \"integrity\": \"sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==\",\n \"peerDependencies\": {\n \"@babel/core\": \"^7.1.0\"\n }\n },\n \"node_modules/babel-plugin-polyfill-corejs2\": {\n \"version\": \"0.4.11\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz\",\n \"integrity\": \"sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.22.6\",\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"semver\": \"^6.3.1\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/babel-plugin-polyfill-corejs2/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/babel-plugin-polyfill-corejs3\": {\n \"version\": \"0.10.6\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz\",\n \"integrity\": \"sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"core-js-compat\": \"^3.38.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/babel-plugin-polyfill-regenerator\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz\",\n \"integrity\": \"sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.4.0 || ^8.0.0-0 <8.0.0\"\n }\n },\n \"node_modules/babel-plugin-transform-react-remove-prop-types\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz\",\n \"integrity\": \"sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/babel-preset-current-node-syntax\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz\",\n \"integrity\": \"sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-bigint\": \"^7.8.3\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/babel-preset-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"babel-plugin-jest-hoist\": \"^27.5.1\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/babel-preset-react-app\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz\",\n \"integrity\": \"sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.16.0\",\n \"@babel/plugin-proposal-decorators\": \"^7.16.4\",\n \"@babel/plugin-proposal-nullish-coalescing-operator\": \"^7.16.0\",\n \"@babel/plugin-proposal-numeric-separator\": \"^7.16.0\",\n \"@babel/plugin-proposal-optional-chaining\": \"^7.16.0\",\n \"@babel/plugin-proposal-private-methods\": \"^7.16.0\",\n \"@babel/plugin-transform-flow-strip-types\": \"^7.16.0\",\n \"@babel/plugin-transform-react-display-name\": \"^7.16.0\",\n \"@babel/plugin-transform-runtime\": \"^7.16.4\",\n \"@babel/preset-env\": \"^7.16.4\",\n \"@babel/preset-react\": \"^7.16.0\",\n \"@babel/preset-typescript\": \"^7.16.0\",\n \"@babel/runtime\": \"^7.16.3\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"babel-plugin-transform-react-remove-prop-types\": \"^0.4.24\"\n }\n },\n \"node_modules/balanced-match\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\"\n },\n \"node_modules/batch\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/batch/-/batch-0.6.1.tgz\",\n \"integrity\": \"sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/bezier-js\": {\n \"version\": \"6.1.4\",\n \"resolved\": \"https://registry.npmjs.org/bezier-js/-/bezier-js-6.1.4.tgz\",\n \"integrity\": \"sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==\",\n \"funding\": {\n \"type\": \"individual\",\n \"url\": \"https://github.com/Pomax/bezierjs/blob/master/FUNDING.md\"\n }\n },\n \"node_modules/bfj\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz\",\n \"integrity\": \"sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"bluebird\": \"^3.7.2\",\n \"check-types\": \"^11.2.3\",\n \"hoopy\": \"^0.1.4\",\n \"jsonpath\": \"^1.1.1\",\n \"tryer\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8.0.0\"\n }\n },\n \"node_modules/big.js\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz\",\n \"integrity\": \"sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/binary-extensions\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz\",\n \"integrity\": \"sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/bluebird\": {\n \"version\": \"3.7.2\",\n \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/body-parser\": {\n \"version\": \"1.20.3\",\n \"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz\",\n \"integrity\": \"sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"bytes\": \"3.1.2\",\n \"content-type\": \"~1.0.5\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"on-finished\": \"2.4.1\",\n \"qs\": \"6.13.0\",\n \"raw-body\": \"2.5.2\",\n \"type-is\": \"~1.6.18\",\n \"unpipe\": \"1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\",\n \"npm\": \"1.2.8000 || >= 1.4.16\"\n }\n },\n \"node_modules/body-parser/node_modules/bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/body-parser/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/body-parser/node_modules/iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/body-parser/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/bonjour-service\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz\",\n \"integrity\": \"sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"multicast-dns\": \"^7.2.5\"\n }\n },\n \"node_modules/boolbase\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n \"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\",\n \"license\": \"ISC\"\n },\n \"node_modules/brace-expansion\": {\n \"version\": \"1.1.11\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\",\n \"concat-map\": \"0.0.1\"\n }\n },\n \"node_modules/braces\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.3.tgz\",\n \"integrity\": \"sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fill-range\": \"^7.1.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/browser-process-hrtime\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz\",\n \"integrity\": \"sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.23.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz\",\n \"integrity\": \"sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001646\",\n \"electron-to-chromium\": \"^1.5.4\",\n \"node-releases\": \"^2.0.18\",\n \"update-browserslist-db\": \"^1.1.0\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/bser\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/bser/-/bser-2.1.1.tgz\",\n \"integrity\": \"sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"node-int64\": \"^0.4.0\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/builtin-modules\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n \"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/bytes\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n \"integrity\": \"sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/call-bind\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz\",\n \"integrity\": \"sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"set-function-length\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/callsites\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n \"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/camel-case\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz\",\n \"integrity\": \"sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"pascal-case\": \"^3.1.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/camelcase\": {\n \"version\": \"6.3.0\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz\",\n \"integrity\": \"sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/camelcase-css\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz\",\n \"integrity\": \"sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/caniuse-api\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz\",\n \"integrity\": \"sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.0.0\",\n \"caniuse-lite\": \"^1.0.0\",\n \"lodash.memoize\": \"^4.1.2\",\n \"lodash.uniq\": \"^4.5.0\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001663\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz\",\n \"integrity\": \"sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/canvas-color-tracker\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/canvas-color-tracker/-/canvas-color-tracker-1.2.2.tgz\",\n \"integrity\": \"sha512-r+u/Ft2ka4Rj274Ts4L9bhYZLuMvbuJ/yL4seP0s+Pi+i9CM0caD+Sd//yseS5EVBJ2SKSmq36h2mNYUCdmTfA==\",\n \"dependencies\": {\n \"tinycolor2\": \"^1.6.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/case-sensitive-paths-webpack-plugin\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz\",\n \"integrity\": \"sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n \"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n \"dependencies\": {\n \"ansi-styles\": \"^3.2.1\",\n \"escape-string-regexp\": \"^1.0.5\",\n \"supports-color\": \"^5.3.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/char-regex\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz\",\n \"integrity\": \"sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/check-types\": {\n \"version\": \"11.2.3\",\n \"resolved\": \"https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz\",\n \"integrity\": \"sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/chokidar\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz\",\n \"integrity\": \"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"anymatch\": \"~3.1.2\",\n \"braces\": \"~3.0.2\",\n \"glob-parent\": \"~5.1.2\",\n \"is-binary-path\": \"~2.1.0\",\n \"is-glob\": \"~4.0.1\",\n \"normalize-path\": \"~3.0.0\",\n \"readdirp\": \"~3.6.0\"\n },\n \"engines\": {\n \"node\": \">= 8.10.0\"\n },\n \"funding\": {\n \"url\": \"https://paulmillr.com/funding/\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/chokidar/node_modules/glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/chrome-trace-event\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz\",\n \"integrity\": \"sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0\"\n }\n },\n \"node_modules/ci-info\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",\n \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/sibiraj-s\"\n }\n ],\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/cjs-module-lexer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz\",\n \"integrity\": \"sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/clean-css\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz\",\n \"integrity\": \"sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"source-map\": \"~0.6.0\"\n },\n \"engines\": {\n \"node\": \">= 10.0\"\n }\n },\n \"node_modules/clean-css/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"7.0.4\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz\",\n \"integrity\": \"sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.0\",\n \"wrap-ansi\": \"^7.0.0\"\n }\n },\n \"node_modules/clsx\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz\",\n \"integrity\": \"sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/co\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/co/-/co-4.6.0.tgz\",\n \"integrity\": \"sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"iojs\": \">= 1.0.0\",\n \"node\": \">= 0.12.0\"\n }\n },\n \"node_modules/coa\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/coa/-/coa-2.0.2.tgz\",\n \"integrity\": \"sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/q\": \"^1.5.1\",\n \"chalk\": \"^2.4.1\",\n \"q\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 4.0\"\n }\n },\n \"node_modules/collect-v8-coverage\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz\",\n \"integrity\": \"sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/color-convert\": {\n \"version\": \"1.9.3\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n \"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n \"dependencies\": {\n \"color-name\": \"1.1.3\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n \"integrity\": \"sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==\"\n },\n \"node_modules/colord\": {\n \"version\": \"2.9.3\",\n \"resolved\": \"https://registry.npmjs.org/colord/-/colord-2.9.3.tgz\",\n \"integrity\": \"sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/colorette\": {\n \"version\": \"2.0.20\",\n \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",\n \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/combined-stream\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n \"dependencies\": {\n \"delayed-stream\": \"~1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/commander\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-8.3.0.tgz\",\n \"integrity\": \"sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 12\"\n }\n },\n \"node_modules/common-tags\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",\n \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4.0.0\"\n }\n },\n \"node_modules/commondir\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n \"integrity\": \"sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==\"\n },\n \"node_modules/compressible\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n \"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mime-db\": \">= 1.43.0 < 2\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/compression\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n \"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"accepts\": \"~1.3.5\",\n \"bytes\": \"3.0.0\",\n \"compressible\": \"~2.0.16\",\n \"debug\": \"2.6.9\",\n \"on-headers\": \"~1.0.2\",\n \"safe-buffer\": \"5.1.2\",\n \"vary\": \"~1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/compression/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/compression/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/compression/node_modules/safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/concat-map\": {\n \"version\": \"0.0.1\",\n \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\"\n },\n \"node_modules/confusing-browser-globals\": {\n \"version\": \"1.0.11\",\n \"resolved\": \"https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz\",\n \"integrity\": \"sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/connect-history-api-fallback\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz\",\n \"integrity\": \"sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.8\"\n }\n },\n \"node_modules/content-disposition\": {\n \"version\": \"0.5.4\",\n \"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz\",\n \"integrity\": \"sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"5.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/content-type\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz\",\n \"integrity\": \"sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\"\n },\n \"node_modules/cookie\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz\",\n \"integrity\": \"sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/cookie-signature\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n \"integrity\": \"sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/core-js\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz\",\n \"integrity\": \"sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/core-js\"\n }\n },\n \"node_modules/core-js-compat\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz\",\n \"integrity\": \"sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.23.3\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/core-js\"\n }\n },\n \"node_modules/core-js-pure\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz\",\n \"integrity\": \"sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/core-js\"\n }\n },\n \"node_modules/core-util-is\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz\",\n \"integrity\": \"sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/cosmiconfig\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz\",\n \"integrity\": \"sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==\",\n \"dependencies\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.2.1\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.10.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/cross-spawn\": {\n \"version\": \"7.0.3\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/crypto-random-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz\",\n \"integrity\": \"sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/css-blank-pseudo\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz\",\n \"integrity\": \"sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"bin\": {\n \"css-blank-pseudo\": \"dist/cli.cjs\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/css-declaration-sorter\": {\n \"version\": \"6.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz\",\n \"integrity\": \"sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.0.9\"\n }\n },\n \"node_modules/css-has-pseudo\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz\",\n \"integrity\": \"sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"bin\": {\n \"css-has-pseudo\": \"dist/cli.cjs\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/css-loader\": {\n \"version\": \"6.11.0\",\n \"resolved\": \"https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz\",\n \"integrity\": \"sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"icss-utils\": \"^5.1.0\",\n \"postcss\": \"^8.4.33\",\n \"postcss-modules-extract-imports\": \"^3.1.0\",\n \"postcss-modules-local-by-default\": \"^4.0.5\",\n \"postcss-modules-scope\": \"^3.2.0\",\n \"postcss-modules-values\": \"^4.0.0\",\n \"postcss-value-parser\": \"^4.2.0\",\n \"semver\": \"^7.5.4\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"@rspack/core\": \"0.x || 1.x\",\n \"webpack\": \"^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@rspack/core\": {\n \"optional\": true\n },\n \"webpack\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/css-minimizer-webpack-plugin\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz\",\n \"integrity\": \"sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssnano\": \"^5.0.6\",\n \"jest-worker\": \"^27.0.2\",\n \"postcss\": \"^8.3.5\",\n \"schema-utils\": \"^4.0.0\",\n \"serialize-javascript\": \"^6.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@parcel/css\": {\n \"optional\": true\n },\n \"clean-css\": {\n \"optional\": true\n },\n \"csso\": {\n \"optional\": true\n },\n \"esbuild\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/css-minimizer-webpack-plugin/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/css-prefers-color-scheme\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz\",\n \"integrity\": \"sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==\",\n \"license\": \"CC0-1.0\",\n \"bin\": {\n \"css-prefers-color-scheme\": \"dist/cli.cjs\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/css-select\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz\",\n \"integrity\": \"sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^6.0.1\",\n \"domhandler\": \"^4.3.1\",\n \"domutils\": \"^2.8.0\",\n \"nth-check\": \"^2.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n },\n \"node_modules/css-select-base-adapter\": {\n \"version\": \"0.1.1\",\n \"resolved\": \"https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz\",\n \"integrity\": \"sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/css-tree\": {\n \"version\": \"1.0.0-alpha.37\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz\",\n \"integrity\": \"sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mdn-data\": \"2.0.4\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/css-tree/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/css-what\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz\",\n \"integrity\": \"sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">= 6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n },\n \"node_modules/css.escape\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz\",\n \"integrity\": \"sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==\"\n },\n \"node_modules/cssdb\": {\n \"version\": \"7.11.2\",\n \"resolved\": \"https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz\",\n \"integrity\": \"sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/csstools\"\n }\n ],\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/cssesc\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n \"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"cssesc\": \"bin/cssesc\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/cssnano\": {\n \"version\": \"5.1.15\",\n \"resolved\": \"https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz\",\n \"integrity\": \"sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssnano-preset-default\": \"^5.2.14\",\n \"lilconfig\": \"^2.0.3\",\n \"yaml\": \"^1.10.2\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/cssnano\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/cssnano-preset-default\": {\n \"version\": \"5.2.14\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz\",\n \"integrity\": \"sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"css-declaration-sorter\": \"^6.3.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-calc\": \"^8.2.3\",\n \"postcss-colormin\": \"^5.3.1\",\n \"postcss-convert-values\": \"^5.1.3\",\n \"postcss-discard-comments\": \"^5.1.2\",\n \"postcss-discard-duplicates\": \"^5.1.0\",\n \"postcss-discard-empty\": \"^5.1.1\",\n \"postcss-discard-overridden\": \"^5.1.0\",\n \"postcss-merge-longhand\": \"^5.1.7\",\n \"postcss-merge-rules\": \"^5.1.4\",\n \"postcss-minify-font-values\": \"^5.1.0\",\n \"postcss-minify-gradients\": \"^5.1.1\",\n \"postcss-minify-params\": \"^5.1.4\",\n \"postcss-minify-selectors\": \"^5.2.1\",\n \"postcss-normalize-charset\": \"^5.1.0\",\n \"postcss-normalize-display-values\": \"^5.1.0\",\n \"postcss-normalize-positions\": \"^5.1.1\",\n \"postcss-normalize-repeat-style\": \"^5.1.1\",\n \"postcss-normalize-string\": \"^5.1.0\",\n \"postcss-normalize-timing-functions\": \"^5.1.0\",\n \"postcss-normalize-unicode\": \"^5.1.1\",\n \"postcss-normalize-url\": \"^5.1.0\",\n \"postcss-normalize-whitespace\": \"^5.1.1\",\n \"postcss-ordered-values\": \"^5.1.3\",\n \"postcss-reduce-initial\": \"^5.1.2\",\n \"postcss-reduce-transforms\": \"^5.1.0\",\n \"postcss-svgo\": \"^5.1.0\",\n \"postcss-unique-selectors\": \"^5.1.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/cssnano-utils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz\",\n \"integrity\": \"sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/csso\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/csso/-/csso-4.2.0.tgz\",\n \"integrity\": \"sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"css-tree\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/csso/node_modules/css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/csso/node_modules/mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/csso/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/cssom\": {\n \"version\": \"0.4.4\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz\",\n \"integrity\": \"sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/cssstyle\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz\",\n \"integrity\": \"sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssom\": \"~0.3.6\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/cssstyle/node_modules/cssom\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz\",\n \"integrity\": \"sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\"\n },\n \"node_modules/d3-array\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz\",\n \"integrity\": \"sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==\",\n \"dependencies\": {\n \"internmap\": \"1 - 2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-binarytree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz\",\n \"integrity\": \"sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==\"\n },\n \"node_modules/d3-color\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz\",\n \"integrity\": \"sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-dispatch\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz\",\n \"integrity\": \"sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-drag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz\",\n \"integrity\": \"sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==\",\n \"dependencies\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-selection\": \"3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-ease\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz\",\n \"integrity\": \"sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-force-3d\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.5.tgz\",\n \"integrity\": \"sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==\",\n \"dependencies\": {\n \"d3-binarytree\": \"1\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-octree\": \"1\",\n \"d3-quadtree\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-format\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz\",\n \"integrity\": \"sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-interpolate\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz\",\n \"integrity\": \"sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==\",\n \"dependencies\": {\n \"d3-color\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-octree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-octree/-/d3-octree-1.0.2.tgz\",\n \"integrity\": \"sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA==\"\n },\n \"node_modules/d3-quadtree\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz\",\n \"integrity\": \"sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-scale\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz\",\n \"integrity\": \"sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==\",\n \"dependencies\": {\n \"d3-array\": \"2.10.0 - 3\",\n \"d3-format\": \"1 - 3\",\n \"d3-interpolate\": \"1.2.0 - 3\",\n \"d3-time\": \"2.1.1 - 3\",\n \"d3-time-format\": \"2 - 4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-scale-chromatic\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz\",\n \"integrity\": \"sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==\",\n \"dependencies\": {\n \"d3-color\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-selection\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz\",\n \"integrity\": \"sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-time\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz\",\n \"integrity\": \"sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==\",\n \"dependencies\": {\n \"d3-array\": \"2 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-time-format\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz\",\n \"integrity\": \"sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==\",\n \"dependencies\": {\n \"d3-time\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-timer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz\",\n \"integrity\": \"sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/d3-transition\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz\",\n \"integrity\": \"sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==\",\n \"dependencies\": {\n \"d3-color\": \"1 - 3\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-ease\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"d3-selection\": \"2 - 3\"\n }\n },\n \"node_modules/d3-zoom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz\",\n \"integrity\": \"sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==\",\n \"dependencies\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-transition\": \"2 - 3\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/damerau-levenshtein\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz\",\n \"integrity\": \"sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/data-joint\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/data-joint/-/data-joint-1.3.1.tgz\",\n \"integrity\": \"sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==\",\n \"dependencies\": {\n \"index-array-by\": \"^1.4.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/data-urls\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz\",\n \"integrity\": \"sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"abab\": \"^2.0.3\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/data-view-buffer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz\",\n \"integrity\": \"sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/data-view-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/data-view-byte-offset\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz\",\n \"integrity\": \"sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.3.6\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.6.tgz\",\n \"integrity\": \"sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==\",\n \"dependencies\": {\n \"ms\": \"2.1.2\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/decimal.js\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz\",\n \"integrity\": \"sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/dedent\": {\n \"version\": \"0.7.0\",\n \"resolved\": \"https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz\",\n \"integrity\": \"sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/deep-equal\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz\",\n \"integrity\": \"sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.0\",\n \"call-bind\": \"^1.0.5\",\n \"es-get-iterator\": \"^1.1.3\",\n \"get-intrinsic\": \"^1.2.2\",\n \"is-arguments\": \"^1.1.1\",\n \"is-array-buffer\": \"^3.0.2\",\n \"is-date-object\": \"^1.0.5\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"object-is\": \"^1.1.5\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.4\",\n \"regexp.prototype.flags\": \"^1.5.1\",\n \"side-channel\": \"^1.0.4\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.1\",\n \"which-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/deep-is\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz\",\n \"integrity\": \"sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/deepmerge\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz\",\n \"integrity\": \"sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/default-gateway\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz\",\n \"integrity\": \"sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"execa\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/define-data-property\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz\",\n \"integrity\": \"sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"gopd\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/define-lazy-prop\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz\",\n \"integrity\": \"sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/define-properties\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz\",\n \"integrity\": \"sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==\",\n \"dependencies\": {\n \"define-data-property\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.0\",\n \"object-keys\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/delayed-stream\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==\",\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/depd\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-2.0.0.tgz\",\n \"integrity\": \"sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/dequal\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz\",\n \"integrity\": \"sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/destroy\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz\",\n \"integrity\": \"sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\",\n \"npm\": \"1.2.8000 || >= 1.4.16\"\n }\n },\n \"node_modules/detect-newline\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz\",\n \"integrity\": \"sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/detect-node\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz\",\n \"integrity\": \"sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/detect-port-alt\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz\",\n \"integrity\": \"sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"address\": \"^1.0.1\",\n \"debug\": \"^2.6.0\"\n },\n \"bin\": {\n \"detect\": \"bin/detect-port\",\n \"detect-port\": \"bin/detect-port\"\n },\n \"engines\": {\n \"node\": \">= 4.2.1\"\n }\n },\n \"node_modules/detect-port-alt/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/detect-port-alt/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/didyoumean\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz\",\n \"integrity\": \"sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/diff-sequences\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz\",\n \"integrity\": \"sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==\",\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/dir-glob\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz\",\n \"integrity\": \"sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-type\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/dlv\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz\",\n \"integrity\": \"sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/dns-packet\": {\n \"version\": \"5.6.1\",\n \"resolved\": \"https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz\",\n \"integrity\": \"sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@leichtgewicht/ip-codec\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/doctrine\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n \"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/dom-accessibility-api\": {\n \"version\": \"0.5.16\",\n \"resolved\": \"https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz\",\n \"integrity\": \"sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==\"\n },\n \"node_modules/dom-converter\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz\",\n \"integrity\": \"sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"utila\": \"~0.4\"\n }\n },\n \"node_modules/dom-helpers\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz\",\n \"integrity\": \"sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.8.7\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/dom-serializer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz\",\n \"integrity\": \"sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.2.0\",\n \"entities\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor=1\"\n }\n },\n \"node_modules/domelementtype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz\",\n \"integrity\": \"sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n ],\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/domexception\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz\",\n \"integrity\": \"sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==\",\n \"deprecated\": \"Use your platform's native DOMException instead\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"webidl-conversions\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/domexception/node_modules/webidl-conversions\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz\",\n \"integrity\": \"sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/domhandler\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz\",\n \"integrity\": \"sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"domelementtype\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">= 4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/domhandler?sponsor=1\"\n }\n },\n \"node_modules/domutils\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz\",\n \"integrity\": \"sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"dom-serializer\": \"^1.0.1\",\n \"domelementtype\": \"^2.2.0\",\n \"domhandler\": \"^4.2.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/domutils?sponsor=1\"\n }\n },\n \"node_modules/dot-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz\",\n \"integrity\": \"sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/dotenv\": {\n \"version\": \"10.0.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz\",\n \"integrity\": \"sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/dotenv-expand\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz\",\n \"integrity\": \"sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/duplexer\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz\",\n \"integrity\": \"sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/eastasianwidth\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz\",\n \"integrity\": \"sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ee-first\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n \"integrity\": \"sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ejs\": {\n \"version\": \"3.1.10\",\n \"resolved\": \"https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz\",\n \"integrity\": \"sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"jake\": \"^10.8.5\"\n },\n \"bin\": {\n \"ejs\": \"bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.28\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz\",\n \"integrity\": \"sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/email-addresses\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz\",\n \"integrity\": \"sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==\",\n \"dev\": true\n },\n \"node_modules/emittery\": {\n \"version\": \"0.8.1\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz\",\n \"integrity\": \"sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/emittery?sponsor=1\"\n }\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"9.2.2\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz\",\n \"integrity\": \"sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/emojis-list\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz\",\n \"integrity\": \"sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/encodeurl\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz\",\n \"integrity\": \"sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/enhanced-resolve\": {\n \"version\": \"5.17.1\",\n \"resolved\": \"https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz\",\n \"integrity\": \"sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"graceful-fs\": \"^4.2.4\",\n \"tapable\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/entities\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/entities/-/entities-2.2.0.tgz\",\n \"integrity\": \"sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==\",\n \"license\": \"BSD-2-Clause\",\n \"funding\": {\n \"url\": \"https://github.com/fb55/entities?sponsor=1\"\n }\n },\n \"node_modules/error-ex\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n \"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n \"dependencies\": {\n \"is-arrayish\": \"^0.2.1\"\n }\n },\n \"node_modules/error-stack-parser\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz\",\n \"integrity\": \"sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"stackframe\": \"^1.3.4\"\n }\n },\n \"node_modules/es-abstract\": {\n \"version\": \"1.23.3\",\n \"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz\",\n \"integrity\": \"sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"arraybuffer.prototype.slice\": \"^1.0.3\",\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"data-view-buffer\": \"^1.0.1\",\n \"data-view-byte-length\": \"^1.0.1\",\n \"data-view-byte-offset\": \"^1.0.0\",\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"es-to-primitive\": \"^1.2.1\",\n \"function.prototype.name\": \"^1.1.6\",\n \"get-intrinsic\": \"^1.2.4\",\n \"get-symbol-description\": \"^1.0.2\",\n \"globalthis\": \"^1.0.3\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.2\",\n \"internal-slot\": \"^1.0.7\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-callable\": \"^1.2.7\",\n \"is-data-view\": \"^1.0.1\",\n \"is-negative-zero\": \"^2.0.3\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.3\",\n \"is-string\": \"^1.0.7\",\n \"is-typed-array\": \"^1.1.13\",\n \"is-weakref\": \"^1.0.2\",\n \"object-inspect\": \"^1.13.1\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.5\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"safe-array-concat\": \"^1.1.2\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.trim\": \"^1.2.9\",\n \"string.prototype.trimend\": \"^1.0.8\",\n \"string.prototype.trimstart\": \"^1.0.8\",\n \"typed-array-buffer\": \"^1.0.2\",\n \"typed-array-byte-length\": \"^1.0.1\",\n \"typed-array-byte-offset\": \"^1.0.2\",\n \"typed-array-length\": \"^1.0.6\",\n \"unbox-primitive\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/es-array-method-boxes-properly\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz\",\n \"integrity\": \"sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/es-define-property\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz\",\n \"integrity\": \"sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==\",\n \"dependencies\": {\n \"get-intrinsic\": \"^1.2.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-errors\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz\",\n \"integrity\": \"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-get-iterator\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz\",\n \"integrity\": \"sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.1.3\",\n \"has-symbols\": \"^1.0.3\",\n \"is-arguments\": \"^1.1.1\",\n \"is-map\": \"^2.0.2\",\n \"is-set\": \"^2.0.2\",\n \"is-string\": \"^1.0.7\",\n \"isarray\": \"^2.0.5\",\n \"stop-iteration-iterator\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/es-iterator-helpers\": {\n \"version\": \"1.0.19\",\n \"resolved\": \"https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz\",\n \"integrity\": \"sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"iterator.prototype\": \"^1.1.2\",\n \"safe-array-concat\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz\",\n \"integrity\": \"sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/es-object-atoms\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz\",\n \"integrity\": \"sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-set-tostringtag\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz\",\n \"integrity\": \"sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-intrinsic\": \"^1.2.4\",\n \"has-tostringtag\": \"^1.0.2\",\n \"hasown\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-shim-unscopables\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz\",\n \"integrity\": \"sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"hasown\": \"^2.0.0\"\n }\n },\n \"node_modules/es-to-primitive\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n \"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-callable\": \"^1.1.4\",\n \"is-date-object\": \"^1.0.1\",\n \"is-symbol\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz\",\n \"integrity\": \"sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/escape-html\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n \"integrity\": \"sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/escape-string-regexp\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\",\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/escodegen\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz\",\n \"integrity\": \"sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^5.2.0\",\n \"esutils\": \"^2.0.2\"\n },\n \"bin\": {\n \"escodegen\": \"bin/escodegen.js\",\n \"esgenerate\": \"bin/esgenerate.js\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"optionalDependencies\": {\n \"source-map\": \"~0.6.1\"\n }\n },\n \"node_modules/escodegen/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/eslint\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz\",\n \"integrity\": \"sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@eslint-community/regexpp\": \"^4.6.1\",\n \"@eslint/eslintrc\": \"^2.1.4\",\n \"@eslint/js\": \"8.57.1\",\n \"@humanwhocodes/config-array\": \"^0.13.0\",\n \"@humanwhocodes/module-importer\": \"^1.0.1\",\n \"@nodelib/fs.walk\": \"^1.2.8\",\n \"@ungap/structured-clone\": \"^1.2.0\",\n \"ajv\": \"^6.12.4\",\n \"chalk\": \"^4.0.0\",\n \"cross-spawn\": \"^7.0.2\",\n \"debug\": \"^4.3.2\",\n \"doctrine\": \"^3.0.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"eslint-scope\": \"^7.2.2\",\n \"eslint-visitor-keys\": \"^3.4.3\",\n \"espree\": \"^9.6.1\",\n \"esquery\": \"^1.4.2\",\n \"esutils\": \"^2.0.2\",\n \"fast-deep-equal\": \"^3.1.3\",\n \"file-entry-cache\": \"^6.0.1\",\n \"find-up\": \"^5.0.0\",\n \"glob-parent\": \"^6.0.2\",\n \"globals\": \"^13.19.0\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"imurmurhash\": \"^0.1.4\",\n \"is-glob\": \"^4.0.0\",\n \"is-path-inside\": \"^3.0.3\",\n \"js-yaml\": \"^4.1.0\",\n \"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n \"levn\": \"^0.4.1\",\n \"lodash.merge\": \"^4.6.2\",\n \"minimatch\": \"^3.1.2\",\n \"natural-compare\": \"^1.4.0\",\n \"optionator\": \"^0.9.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"bin\": {\n \"eslint\": \"bin/eslint.js\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint-config-react-app\": {\n \"version\": \"7.0.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz\",\n \"integrity\": \"sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/eslint-parser\": \"^7.16.3\",\n \"@rushstack/eslint-patch\": \"^1.1.0\",\n \"@typescript-eslint/eslint-plugin\": \"^5.5.0\",\n \"@typescript-eslint/parser\": \"^5.5.0\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"confusing-browser-globals\": \"^1.0.11\",\n \"eslint-plugin-flowtype\": \"^8.0.3\",\n \"eslint-plugin-import\": \"^2.25.3\",\n \"eslint-plugin-jest\": \"^25.3.0\",\n \"eslint-plugin-jsx-a11y\": \"^6.5.1\",\n \"eslint-plugin-react\": \"^7.27.1\",\n \"eslint-plugin-react-hooks\": \"^4.3.0\",\n \"eslint-plugin-testing-library\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^8.0.0\"\n }\n },\n \"node_modules/eslint-import-resolver-node\": {\n \"version\": \"0.3.9\",\n \"resolved\": \"https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz\",\n \"integrity\": \"sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^3.2.7\",\n \"is-core-module\": \"^2.13.0\",\n \"resolve\": \"^1.22.4\"\n }\n },\n \"node_modules/eslint-import-resolver-node/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-module-utils\": {\n \"version\": \"2.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz\",\n \"integrity\": \"sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^3.2.7\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependenciesMeta\": {\n \"eslint\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/eslint-module-utils/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-plugin-flowtype\": {\n \"version\": \"8.0.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz\",\n \"integrity\": \"sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"lodash\": \"^4.17.21\",\n \"string-natural-compare\": \"^3.0.1\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"@babel/plugin-syntax-flow\": \"^7.14.5\",\n \"@babel/plugin-transform-react-jsx\": \"^7.14.9\",\n \"eslint\": \"^8.1.0\"\n }\n },\n \"node_modules/eslint-plugin-import\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz\",\n \"integrity\": \"sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rtsao/scc\": \"^1.1.0\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlastindex\": \"^1.2.5\",\n \"array.prototype.flat\": \"^1.3.2\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"debug\": \"^3.2.7\",\n \"doctrine\": \"^2.1.0\",\n \"eslint-import-resolver-node\": \"^0.3.9\",\n \"eslint-module-utils\": \"^2.9.0\",\n \"hasown\": \"^2.0.2\",\n \"is-core-module\": \"^2.15.1\",\n \"is-glob\": \"^4.0.3\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.groupby\": \"^1.0.3\",\n \"object.values\": \"^1.2.0\",\n \"semver\": \"^6.3.1\",\n \"tsconfig-paths\": \"^3.15.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8\"\n }\n },\n \"node_modules/eslint-plugin-import/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-plugin-import/node_modules/doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/eslint-plugin-import/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/eslint-plugin-jest\": {\n \"version\": \"25.7.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz\",\n \"integrity\": \"sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/experimental-utils\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"@typescript-eslint/eslint-plugin\": \"^4.0.0 || ^5.0.0\",\n \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@typescript-eslint/eslint-plugin\": {\n \"optional\": true\n },\n \"jest\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/eslint-plugin-jsx-a11y\": {\n \"version\": \"6.10.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz\",\n \"integrity\": \"sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"aria-query\": \"~5.1.3\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"ast-types-flow\": \"^0.0.8\",\n \"axe-core\": \"^4.10.0\",\n \"axobject-query\": \"^4.1.0\",\n \"damerau-levenshtein\": \"^1.0.8\",\n \"emoji-regex\": \"^9.2.2\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^3.3.5\",\n \"language-tags\": \"^1.0.9\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.includes\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9\"\n }\n },\n \"node_modules/eslint-plugin-react\": {\n \"version\": \"7.36.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz\",\n \"integrity\": \"sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlast\": \"^1.2.5\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"array.prototype.tosorted\": \"^1.1.4\",\n \"doctrine\": \"^2.1.0\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"estraverse\": \"^5.3.0\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^2.4.1 || ^3.0.0\",\n \"minimatch\": \"^3.1.2\",\n \"object.entries\": \"^1.1.8\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.values\": \"^1.2.0\",\n \"prop-types\": \"^15.8.1\",\n \"resolve\": \"^2.0.0-next.5\",\n \"semver\": \"^6.3.1\",\n \"string.prototype.matchall\": \"^4.0.11\",\n \"string.prototype.repeat\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7\"\n }\n },\n \"node_modules/eslint-plugin-react-hooks\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz\",\n \"integrity\": \"sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0\"\n }\n },\n \"node_modules/eslint-plugin-react/node_modules/doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/eslint-plugin-react/node_modules/resolve\": {\n \"version\": \"2.0.0-next.5\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz\",\n \"integrity\": \"sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n },\n \"bin\": {\n \"resolve\": \"bin/resolve\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/eslint-plugin-react/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/eslint-plugin-testing-library\": {\n \"version\": \"5.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz\",\n \"integrity\": \"sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/utils\": \"^5.58.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\",\n \"npm\": \">=6\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^7.5.0 || ^8.0.0\"\n }\n },\n \"node_modules/eslint-scope\": {\n \"version\": \"7.2.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz\",\n \"integrity\": \"sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^5.2.0\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint-visitor-keys\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",\n \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint-webpack-plugin\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz\",\n \"integrity\": \"sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/eslint\": \"^7.29.0 || ^8.4.1\",\n \"jest-worker\": \"^28.0.2\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"schema-utils\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^7.0.0 || ^8.0.0\",\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/eslint-webpack-plugin/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/eslint-webpack-plugin/node_modules/jest-worker\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz\",\n \"integrity\": \"sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/eslint-webpack-plugin/node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/eslint/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/eslint/node_modules/argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n \"license\": \"Python-2.0\"\n },\n \"node_modules/eslint/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/eslint/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/eslint/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/eslint/node_modules/escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-fest\": \"^0.20.2\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/eslint/node_modules/js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"argparse\": \"^2.0.1\"\n },\n \"bin\": {\n \"js-yaml\": \"bin/js-yaml.js\"\n }\n },\n \"node_modules/eslint/node_modules/locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-locate\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^0.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-limit\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/eslint/node_modules/type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/espree\": {\n \"version\": \"9.6.1\",\n \"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.6.1.tgz\",\n \"integrity\": \"sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"acorn\": \"^8.9.0\",\n \"acorn-jsx\": \"^5.3.2\",\n \"eslint-visitor-keys\": \"^3.4.1\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/esprima\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n \"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\",\n \"license\": \"BSD-2-Clause\",\n \"bin\": {\n \"esparse\": \"bin/esparse.js\",\n \"esvalidate\": \"bin/esvalidate.js\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/esquery\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz\",\n \"integrity\": \"sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"estraverse\": \"^5.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10\"\n }\n },\n \"node_modules/esrecurse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n \"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"estraverse\": \"^5.2.0\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/estraverse\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz\",\n \"integrity\": \"sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/esutils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n \"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/etag\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n \"integrity\": \"sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/eventemitter3\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz\",\n \"integrity\": \"sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/events\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/events/-/events-3.3.0.tgz\",\n \"integrity\": \"sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.8.x\"\n }\n },\n \"node_modules/execa\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-5.1.1.tgz\",\n \"integrity\": \"sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^6.0.0\",\n \"human-signals\": \"^2.1.0\",\n \"is-stream\": \"^2.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^4.0.1\",\n \"onetime\": \"^5.1.2\",\n \"signal-exit\": \"^3.0.3\",\n \"strip-final-newline\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/execa?sponsor=1\"\n }\n },\n \"node_modules/exit\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/exit/-/exit-0.1.2.tgz\",\n \"integrity\": \"sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==\",\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/expect\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/expect/-/expect-27.5.1.tgz\",\n \"integrity\": \"sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/express\": {\n \"version\": \"4.21.0\",\n \"resolved\": \"https://registry.npmjs.org/express/-/express-4.21.0.tgz\",\n \"integrity\": \"sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"accepts\": \"~1.3.8\",\n \"array-flatten\": \"1.1.1\",\n \"body-parser\": \"1.20.3\",\n \"content-disposition\": \"0.5.4\",\n \"content-type\": \"~1.0.4\",\n \"cookie\": \"0.6.0\",\n \"cookie-signature\": \"1.0.6\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"finalhandler\": \"1.3.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"merge-descriptors\": \"1.0.3\",\n \"methods\": \"~1.1.2\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"path-to-regexp\": \"0.1.10\",\n \"proxy-addr\": \"~2.0.7\",\n \"qs\": \"6.13.0\",\n \"range-parser\": \"~1.2.1\",\n \"safe-buffer\": \"5.2.1\",\n \"send\": \"0.19.0\",\n \"serve-static\": \"1.16.2\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"type-is\": \"~1.6.18\",\n \"utils-merge\": \"1.0.1\",\n \"vary\": \"~1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.10.0\"\n }\n },\n \"node_modules/express/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/express/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-deep-equal\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n \"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-glob\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz\",\n \"integrity\": \"sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"^2.0.2\",\n \"@nodelib/fs.walk\": \"^1.2.3\",\n \"glob-parent\": \"^5.1.2\",\n \"merge2\": \"^1.3.0\",\n \"micromatch\": \"^4.0.4\"\n },\n \"engines\": {\n \"node\": \">=8.6.0\"\n }\n },\n \"node_modules/fast-glob/node_modules/glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/fast-json-stable-stringify\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n \"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-levenshtein\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n \"integrity\": \"sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fast-uri\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz\",\n \"integrity\": \"sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fastq\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz\",\n \"integrity\": \"sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"reusify\": \"^1.0.4\"\n }\n },\n \"node_modules/faye-websocket\": {\n \"version\": \"0.11.4\",\n \"resolved\": \"https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz\",\n \"integrity\": \"sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"websocket-driver\": \">=0.5.1\"\n },\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/fb-watchman\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz\",\n \"integrity\": \"sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"bser\": \"2.1.1\"\n }\n },\n \"node_modules/fflate\": {\n \"version\": \"0.8.2\",\n \"resolved\": \"https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz\",\n \"integrity\": \"sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==\",\n \"dev\": true\n },\n \"node_modules/file-entry-cache\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n \"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"flat-cache\": \"^3.0.4\"\n },\n \"engines\": {\n \"node\": \"^10.12.0 || >=12.0.0\"\n }\n },\n \"node_modules/file-loader\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz\",\n \"integrity\": \"sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loader-utils\": \"^2.0.0\",\n \"schema-utils\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.0.0 || ^5.0.0\"\n }\n },\n \"node_modules/file-loader/node_modules/schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/file-selector\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz\",\n \"integrity\": \"sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==\",\n \"dependencies\": {\n \"tslib\": \"^2.4.0\"\n },\n \"engines\": {\n \"node\": \">= 12\"\n }\n },\n \"node_modules/filelist\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz\",\n \"integrity\": \"sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"minimatch\": \"^5.0.1\"\n }\n },\n \"node_modules/filelist/node_modules/brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"node_modules/filelist/node_modules/minimatch\": {\n \"version\": \"5.1.6\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz\",\n \"integrity\": \"sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/filename-reserved-regex\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz\",\n \"integrity\": \"sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/filenamify\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz\",\n \"integrity\": \"sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==\",\n \"dev\": true,\n \"dependencies\": {\n \"filename-reserved-regex\": \"^2.0.0\",\n \"strip-outer\": \"^1.0.1\",\n \"trim-repeated\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/filesize\": {\n \"version\": \"8.0.7\",\n \"resolved\": \"https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz\",\n \"integrity\": \"sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">= 0.4.0\"\n }\n },\n \"node_modules/fill-range\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz\",\n \"integrity\": \"sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"to-regex-range\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/finalhandler\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz\",\n \"integrity\": \"sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"2.6.9\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"statuses\": \"2.0.1\",\n \"unpipe\": \"~1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/finalhandler/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/finalhandler/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/find-cache-dir\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz\",\n \"integrity\": \"sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==\",\n \"dependencies\": {\n \"commondir\": \"^1.0.1\",\n \"make-dir\": \"^3.0.2\",\n \"pkg-dir\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/avajs/find-cache-dir?sponsor=1\"\n }\n },\n \"node_modules/find-root\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz\",\n \"integrity\": \"sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==\"\n },\n \"node_modules/find-up\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n \"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n \"dependencies\": {\n \"locate-path\": \"^5.0.0\",\n \"path-exists\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/flat-cache\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz\",\n \"integrity\": \"sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"flatted\": \"^3.2.9\",\n \"keyv\": \"^4.5.3\",\n \"rimraf\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \"^10.12.0 || >=12.0.0\"\n }\n },\n \"node_modules/flatted\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz\",\n \"integrity\": \"sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/follow-redirects\": {\n \"version\": \"1.15.6\",\n \"resolved\": \"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz\",\n \"integrity\": \"sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==\",\n \"funding\": [\n {\n \"type\": \"individual\",\n \"url\": \"https://github.com/sponsors/RubenVerborgh\"\n }\n ],\n \"engines\": {\n \"node\": \">=4.0\"\n },\n \"peerDependenciesMeta\": {\n \"debug\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/for-each\": {\n \"version\": \"0.3.3\",\n \"resolved\": \"https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz\",\n \"integrity\": \"sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==\",\n \"dependencies\": {\n \"is-callable\": \"^1.1.3\"\n }\n },\n \"node_modules/force-graph\": {\n \"version\": \"1.43.5\",\n \"resolved\": \"https://registry.npmjs.org/force-graph/-/force-graph-1.43.5.tgz\",\n \"integrity\": \"sha512-HveLELh9yhZXO/QOfaFS38vlwJZ/3sKu+jarfXzRmbmihSOH/BbRWnUvmg8wLFiYy6h4HlH4lkRfZRccHYmXgA==\",\n \"dependencies\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"bezier-js\": \"3 - 6\",\n \"canvas-color-tracker\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-zoom\": \"2 - 3\",\n \"index-array-by\": \"1\",\n \"kapsule\": \"^1.14\",\n \"lodash-es\": \"4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/foreground-child\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz\",\n \"integrity\": \"sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.0\",\n \"signal-exit\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/foreground-child/node_modules/signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin\": {\n \"version\": \"6.5.3\",\n \"resolved\": \"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz\",\n \"integrity\": \"sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.8.3\",\n \"@types/json-schema\": \"^7.0.5\",\n \"chalk\": \"^4.1.0\",\n \"chokidar\": \"^3.4.2\",\n \"cosmiconfig\": \"^6.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"fs-extra\": \"^9.0.0\",\n \"glob\": \"^7.1.6\",\n \"memfs\": \"^3.1.2\",\n \"minimatch\": \"^3.0.4\",\n \"schema-utils\": \"2.7.0\",\n \"semver\": \"^7.3.2\",\n \"tapable\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\",\n \"yarn\": \">=1.0.0\"\n },\n \"peerDependencies\": {\n \"eslint\": \">= 6\",\n \"typescript\": \">= 2.7\",\n \"vue-template-compiler\": \"*\",\n \"webpack\": \">= 4\"\n },\n \"peerDependenciesMeta\": {\n \"eslint\": {\n \"optional\": true\n },\n \"vue-template-compiler\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz\",\n \"integrity\": \"sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.1.0\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.7.2\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz\",\n \"integrity\": \"sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.4\",\n \"ajv\": \"^6.12.2\",\n \"ajv-keywords\": \"^3.4.1\"\n },\n \"engines\": {\n \"node\": \">= 8.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz\",\n \"integrity\": \"sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/form-data\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz\",\n \"integrity\": \"sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/forwarded\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz\",\n \"integrity\": \"sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/fraction.js\": {\n \"version\": \"4.3.7\",\n \"resolved\": \"https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz\",\n \"integrity\": \"sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n },\n \"funding\": {\n \"type\": \"patreon\",\n \"url\": \"https://github.com/sponsors/rawify\"\n }\n },\n \"node_modules/fresh\": {\n \"version\": \"0.5.2\",\n \"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n \"integrity\": \"sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/fromentries\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz\",\n \"integrity\": \"sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ]\n },\n \"node_modules/fs-extra\": {\n \"version\": \"10.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz\",\n \"integrity\": \"sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/fs-monkey\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz\",\n \"integrity\": \"sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==\",\n \"license\": \"Unlicense\"\n },\n \"node_modules/fs.realpath\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\"\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/function-bind\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz\",\n \"integrity\": \"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/function.prototype.name\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz\",\n \"integrity\": \"sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"functions-have-names\": \"^1.2.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/functions-have-names\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz\",\n \"integrity\": \"sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/fuse.js\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz\",\n \"integrity\": \"sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-intrinsic\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz\",\n \"integrity\": \"sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"has-proto\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/get-own-enumerable-property-symbols\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz\",\n \"integrity\": \"sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==\",\n \"license\": \"ISC\"\n },\n \"node_modules/get-package-type\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz\",\n \"integrity\": \"sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/get-stream\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz\",\n \"integrity\": \"sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/get-symbol-description\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz\",\n \"integrity\": \"sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.5\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/gh-pages\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz\",\n \"integrity\": \"sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==\",\n \"dev\": true,\n \"dependencies\": {\n \"async\": \"^3.2.4\",\n \"commander\": \"^11.0.0\",\n \"email-addresses\": \"^5.0.0\",\n \"filenamify\": \"^4.3.0\",\n \"find-cache-dir\": \"^3.3.1\",\n \"fs-extra\": \"^11.1.1\",\n \"globby\": \"^6.1.0\"\n },\n \"bin\": {\n \"gh-pages\": \"bin/gh-pages.js\",\n \"gh-pages-clean\": \"bin/gh-pages-clean.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/gh-pages/node_modules/commander\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-11.1.0.tgz\",\n \"integrity\": \"sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=16\"\n }\n },\n \"node_modules/gh-pages/node_modules/fs-extra\": {\n \"version\": \"11.2.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz\",\n \"integrity\": \"sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==\",\n \"dev\": true,\n \"dependencies\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=14.14\"\n }\n },\n \"node_modules/gh-pages/node_modules/globby\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-6.1.0.tgz\",\n \"integrity\": \"sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==\",\n \"dev\": true,\n \"dependencies\": {\n \"array-union\": \"^1.0.1\",\n \"glob\": \"^7.0.3\",\n \"object-assign\": \"^4.0.1\",\n \"pify\": \"^2.0.0\",\n \"pinkie-promise\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/glob\": {\n \"version\": \"7.2.3\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",\n \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==\",\n \"deprecated\": \"Glob versions prior to v9 are no longer supported\",\n \"dependencies\": {\n \"fs.realpath\": \"^1.0.0\",\n \"inflight\": \"^1.0.4\",\n \"inherits\": \"2\",\n \"minimatch\": \"^3.1.1\",\n \"once\": \"^1.3.0\",\n \"path-is-absolute\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"*\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/glob-parent\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n \"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/glob-to-regexp\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz\",\n \"integrity\": \"sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/global-modules\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz\",\n \"integrity\": \"sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"global-prefix\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/global-prefix\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz\",\n \"integrity\": \"sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ini\": \"^1.3.5\",\n \"kind-of\": \"^6.0.2\",\n \"which\": \"^1.3.1\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/global-prefix/node_modules/which\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n \"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"which\": \"bin/which\"\n }\n },\n \"node_modules/globals\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n \"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/globalthis\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz\",\n \"integrity\": \"sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.2.1\",\n \"gopd\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/globby\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-11.1.0.tgz\",\n \"integrity\": \"sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-union\": \"^2.1.0\",\n \"dir-glob\": \"^3.0.1\",\n \"fast-glob\": \"^3.2.9\",\n \"ignore\": \"^5.2.0\",\n \"merge2\": \"^1.4.1\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/globby/node_modules/array-union\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz\",\n \"integrity\": \"sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/gopd\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz\",\n \"integrity\": \"sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==\",\n \"dependencies\": {\n \"get-intrinsic\": \"^1.1.3\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/graceful-fs\": {\n \"version\": \"4.2.11\",\n \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",\n \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==\"\n },\n \"node_modules/graphemer\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz\",\n \"integrity\": \"sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/gzip-size\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz\",\n \"integrity\": \"sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"duplexer\": \"^0.1.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/handle-thing\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz\",\n \"integrity\": \"sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/harmony-reflect\": {\n \"version\": \"1.6.2\",\n \"resolved\": \"https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz\",\n \"integrity\": \"sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==\"\n },\n \"node_modules/has-bigints\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz\",\n \"integrity\": \"sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n \"integrity\": \"sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/has-property-descriptors\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz\",\n \"integrity\": \"sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-proto\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz\",\n \"integrity\": \"sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-symbols\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",\n \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-tostringtag\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz\",\n \"integrity\": \"sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==\",\n \"dependencies\": {\n \"has-symbols\": \"^1.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/hasown\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz\",\n \"integrity\": \"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==\",\n \"dependencies\": {\n \"function-bind\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/he\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n \"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"he\": \"bin/he\"\n }\n },\n \"node_modules/highlight-words\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/highlight-words/-/highlight-words-1.2.2.tgz\",\n \"integrity\": \"sha512-Mf4xfPXYm8Ay1wTibCrHpNWeR2nUMynMVFkXCi4mbl+TEgmNOe+I4hV7W3OCZcSvzGL6kupaqpfHOemliMTGxQ==\",\n \"engines\": {\n \"node\": \">= 16\",\n \"npm\": \">= 8\"\n }\n },\n \"node_modules/hoist-non-react-statics\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz\",\n \"integrity\": \"sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==\",\n \"dependencies\": {\n \"react-is\": \"^16.7.0\"\n }\n },\n \"node_modules/hoist-non-react-statics/node_modules/react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n },\n \"node_modules/hoopy\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz\",\n \"integrity\": \"sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6.0.0\"\n }\n },\n \"node_modules/hpack.js\": {\n \"version\": \"2.1.6\",\n \"resolved\": \"https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz\",\n \"integrity\": \"sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"inherits\": \"^2.0.1\",\n \"obuf\": \"^1.0.0\",\n \"readable-stream\": \"^2.0.1\",\n \"wbuf\": \"^1.1.0\"\n }\n },\n \"node_modules/hpack.js/node_modules/isarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n \"integrity\": \"sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/hpack.js/node_modules/readable-stream\": {\n \"version\": \"2.3.8\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz\",\n \"integrity\": \"sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"core-util-is\": \"~1.0.0\",\n \"inherits\": \"~2.0.3\",\n \"isarray\": \"~1.0.0\",\n \"process-nextick-args\": \"~2.0.0\",\n \"safe-buffer\": \"~5.1.1\",\n \"string_decoder\": \"~1.1.1\",\n \"util-deprecate\": \"~1.0.1\"\n }\n },\n \"node_modules/hpack.js/node_modules/safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/hpack.js/node_modules/string_decoder\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n \"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"~5.1.0\"\n }\n },\n \"node_modules/html-encoding-sniffer\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz\",\n \"integrity\": \"sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"whatwg-encoding\": \"^1.0.5\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/html-entities\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz\",\n \"integrity\": \"sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/mdevils\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://patreon.com/mdevils\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/html-escaper\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n \"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"camel-case\": \"^4.1.2\",\n \"clean-css\": \"^5.2.2\",\n \"commander\": \"^8.3.0\",\n \"he\": \"^1.2.0\",\n \"param-case\": \"^3.0.4\",\n \"relateurl\": \"^0.2.7\",\n \"terser\": \"^5.10.0\"\n },\n \"bin\": {\n \"html-minifier-terser\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/html-parse-stringify\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz\",\n \"integrity\": \"sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==\",\n \"dependencies\": {\n \"void-elements\": \"3.1.0\"\n }\n },\n \"node_modules/html-webpack-plugin\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz\",\n \"integrity\": \"sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/html-minifier-terser\": \"^6.0.0\",\n \"html-minifier-terser\": \"^6.0.2\",\n \"lodash\": \"^4.17.21\",\n \"pretty-error\": \"^4.0.0\",\n \"tapable\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/html-webpack-plugin\"\n },\n \"peerDependencies\": {\n \"@rspack/core\": \"0.x || 1.x\",\n \"webpack\": \"^5.20.0\"\n },\n \"peerDependenciesMeta\": {\n \"@rspack/core\": {\n \"optional\": true\n },\n \"webpack\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/htmlparser2\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz\",\n \"integrity\": \"sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==\",\n \"funding\": [\n \"https://github.com/fb55/htmlparser2?sponsor=1\",\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.0.0\",\n \"domutils\": \"^2.5.2\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"node_modules/http-deceiver\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz\",\n \"integrity\": \"sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/http-errors\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz\",\n \"integrity\": \"sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"depd\": \"2.0.0\",\n \"inherits\": \"2.0.4\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"toidentifier\": \"1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/http-parser-js\": {\n \"version\": \"0.5.8\",\n \"resolved\": \"https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz\",\n \"integrity\": \"sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==\",\n \"license\": \"MIT\"\n },\n \"node_modules/http-proxy\": {\n \"version\": \"1.18.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz\",\n \"integrity\": \"sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eventemitter3\": \"^4.0.0\",\n \"follow-redirects\": \"^1.0.0\",\n \"requires-port\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/http-proxy-agent\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz\",\n \"integrity\": \"sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tootallnate/once\": \"1\",\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/http-proxy-middleware\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz\",\n \"integrity\": \"sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/http-proxy\": \"^1.17.8\",\n \"http-proxy\": \"^1.18.1\",\n \"is-glob\": \"^4.0.1\",\n \"is-plain-obj\": \"^3.0.0\",\n \"micromatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"@types/express\": \"^4.17.13\"\n },\n \"peerDependenciesMeta\": {\n \"@types/express\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/https-proxy-agent\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz\",\n \"integrity\": \"sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/human-signals\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz\",\n \"integrity\": \"sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=10.17.0\"\n }\n },\n \"node_modules/hyparquet\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/hyparquet/-/hyparquet-1.1.0.tgz\",\n \"integrity\": \"sha512-WrLZblRqQ1qO7oLQfJrED+4HrVm9QRASauY+fhd4Ufeuo0ULjQYH95o9oHmoJ7P+S3CBI2B6Z9lzVuhnaXw8Ew==\"\n },\n \"node_modules/i18next\": {\n \"version\": \"22.5.1\",\n \"resolved\": \"https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz\",\n \"integrity\": \"sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==\",\n \"funding\": [\n {\n \"type\": \"individual\",\n \"url\": \"https://locize.com\"\n },\n {\n \"type\": \"individual\",\n \"url\": \"https://locize.com/i18next.html\"\n },\n {\n \"type\": \"individual\",\n \"url\": \"https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project\"\n }\n ],\n \"dependencies\": {\n \"@babel/runtime\": \"^7.20.6\"\n }\n },\n \"node_modules/iconv-lite\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz\",\n \"integrity\": \"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3.0.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/icss-utils\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz\",\n \"integrity\": \"sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/idb\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/idb/-/idb-7.1.1.tgz\",\n \"integrity\": \"sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/identity-obj-proxy\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz\",\n \"integrity\": \"sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==\",\n \"dependencies\": {\n \"harmony-reflect\": \"^1.4.6\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/ignore\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz\",\n \"integrity\": \"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/immer\": {\n \"version\": \"9.0.21\",\n \"resolved\": \"https://registry.npmjs.org/immer/-/immer-9.0.21.tgz\",\n \"integrity\": \"sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/immer\"\n }\n },\n \"node_modules/import-fresh\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n \"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n \"dependencies\": {\n \"parent-module\": \"^1.0.0\",\n \"resolve-from\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/import-fresh/node_modules/resolve-from\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n \"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/import-local\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz\",\n \"integrity\": \"sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"pkg-dir\": \"^4.2.0\",\n \"resolve-cwd\": \"^3.0.0\"\n },\n \"bin\": {\n \"import-local-fixture\": \"fixtures/cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/imurmurhash\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n \"integrity\": \"sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.8.19\"\n }\n },\n \"node_modules/indent-string\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/index-array-by\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz\",\n \"integrity\": \"sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/inflight\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\",\n \"deprecated\": \"This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.\",\n \"dependencies\": {\n \"once\": \"^1.3.0\",\n \"wrappy\": \"1\"\n }\n },\n \"node_modules/inherits\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\n \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\"\n },\n \"node_modules/ini\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/ini/-/ini-1.3.8.tgz\",\n \"integrity\": \"sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==\",\n \"license\": \"ISC\"\n },\n \"node_modules/internal-slot\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz\",\n \"integrity\": \"sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"hasown\": \"^2.0.0\",\n \"side-channel\": \"^1.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/internmap\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz\",\n \"integrity\": \"sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/ipaddr.js\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz\",\n \"integrity\": \"sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/is-arguments\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz\",\n \"integrity\": \"sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-array-buffer\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz\",\n \"integrity\": \"sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-arrayish\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n \"integrity\": \"sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==\"\n },\n \"node_modules/is-async-function\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz\",\n \"integrity\": \"sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-bigint\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz\",\n \"integrity\": \"sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==\",\n \"dependencies\": {\n \"has-bigints\": \"^1.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-binary-path\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz\",\n \"integrity\": \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"binary-extensions\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-boolean-object\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz\",\n \"integrity\": \"sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-callable\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz\",\n \"integrity\": \"sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-core-module\": {\n \"version\": \"2.15.1\",\n \"resolved\": \"https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz\",\n \"integrity\": \"sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"hasown\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-data-view\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz\",\n \"integrity\": \"sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-date-object\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz\",\n \"integrity\": \"sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-docker\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz\",\n \"integrity\": \"sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"is-docker\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-extglob\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n \"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-finalizationregistry\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz\",\n \"integrity\": \"sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-generator-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/is-generator-function\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz\",\n \"integrity\": \"sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-glob\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n \"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-extglob\": \"^2.1.1\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-map\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz\",\n \"integrity\": \"sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-module\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz\",\n \"integrity\": \"sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/is-negative-zero\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz\",\n \"integrity\": \"sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-number\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.12.0\"\n }\n },\n \"node_modules/is-number-object\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz\",\n \"integrity\": \"sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-obj\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz\",\n \"integrity\": \"sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-path-inside\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-plain-obj\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz\",\n \"integrity\": \"sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-potential-custom-element-name\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz\",\n \"integrity\": \"sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/is-regex\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz\",\n \"integrity\": \"sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-regexp\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz\",\n \"integrity\": \"sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-root\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz\",\n \"integrity\": \"sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/is-set\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz\",\n \"integrity\": \"sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-shared-array-buffer\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz\",\n \"integrity\": \"sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-stream\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",\n \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-string\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz\",\n \"integrity\": \"sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==\",\n \"dependencies\": {\n \"has-tostringtag\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-symbol\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz\",\n \"integrity\": \"sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==\",\n \"dependencies\": {\n \"has-symbols\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-typed-array\": {\n \"version\": \"1.1.13\",\n \"resolved\": \"https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz\",\n \"integrity\": \"sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"which-typed-array\": \"^1.1.14\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-typedarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/is-weakmap\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz\",\n \"integrity\": \"sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-weakref\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz\",\n \"integrity\": \"sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-weakset\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz\",\n \"integrity\": \"sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-wsl\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz\",\n \"integrity\": \"sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-docker\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/isarray\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz\",\n \"integrity\": \"sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==\"\n },\n \"node_modules/isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/istanbul-lib-coverage\": {\n \"version\": \"3.2.2\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz\",\n \"integrity\": \"sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-instrument\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz\",\n \"integrity\": \"sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/parser\": \"^7.14.7\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-coverage\": \"^3.2.0\",\n \"semver\": \"^6.3.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-instrument/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/istanbul-lib-report\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz\",\n \"integrity\": \"sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"make-dir\": \"^4.0.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/istanbul-lib-report/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-report/node_modules/make-dir\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz\",\n \"integrity\": \"sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"semver\": \"^7.5.3\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/istanbul-lib-report/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-source-maps\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz\",\n \"integrity\": \"sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"debug\": \"^4.1.1\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/istanbul-lib-source-maps/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/istanbul-reports\": {\n \"version\": \"3.1.7\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz\",\n \"integrity\": \"sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"html-escaper\": \"^2.0.0\",\n \"istanbul-lib-report\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/iterator.prototype\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz\",\n \"integrity\": \"sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"reflect.getprototypeof\": \"^1.0.4\",\n \"set-function-name\": \"^2.0.1\"\n }\n },\n \"node_modules/jackspeak\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz\",\n \"integrity\": \"sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"@isaacs/cliui\": \"^8.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n },\n \"optionalDependencies\": {\n \"@pkgjs/parseargs\": \"^0.11.0\"\n }\n },\n \"node_modules/jake\": {\n \"version\": \"10.9.2\",\n \"resolved\": \"https://registry.npmjs.org/jake/-/jake-10.9.2.tgz\",\n \"integrity\": \"sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"async\": \"^3.2.3\",\n \"chalk\": \"^4.0.2\",\n \"filelist\": \"^1.0.4\",\n \"minimatch\": \"^3.1.2\"\n },\n \"bin\": {\n \"jake\": \"bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/jake/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jake/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jake/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jake/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jake/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jake/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jerrypick\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jerrypick/-/jerrypick-1.1.1.tgz\",\n \"integrity\": \"sha512-XTtedPYEyVp4t6hJrXuRKr/jHj8SC4z+4K0b396PMkov6muL+i8IIamJIvZWe3jUspgIJak0P+BaWKawMYNBLg==\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest/-/jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/core\": \"^27.5.1\",\n \"import-local\": \"^3.0.2\",\n \"jest-cli\": \"^27.5.1\"\n },\n \"bin\": {\n \"jest\": \"bin/jest.js\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-changed-files\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz\",\n \"integrity\": \"sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"execa\": \"^5.0.0\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-circus\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz\",\n \"integrity\": \"sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"dedent\": \"^0.7.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-circus/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-circus/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-circus/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-circus/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-circus/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-circus/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-cli\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz\",\n \"integrity\": \"sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/core\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"import-local\": \"^3.0.2\",\n \"jest-config\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"prompts\": \"^2.0.1\",\n \"yargs\": \"^16.2.0\"\n },\n \"bin\": {\n \"jest\": \"bin/jest.js\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"node-notifier\": \"^8.0.1 || ^9.0.0 || ^10.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"node-notifier\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-cli/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-cli/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-cli/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-cli/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-cli/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-cli/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-config\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz\",\n \"integrity\": \"sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.8.0\",\n \"@jest/test-sequencer\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"deepmerge\": \"^4.2.2\",\n \"glob\": \"^7.1.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-circus\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-jasmine2\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"parse-json\": \"^5.2.0\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"peerDependencies\": {\n \"ts-node\": \">=9.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"ts-node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-config/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-config/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-config/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-config/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-config/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-config/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-diff\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz\",\n \"integrity\": \"sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==\",\n \"dependencies\": {\n \"chalk\": \"^4.0.0\",\n \"diff-sequences\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-diff/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-diff/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-diff/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-diff/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/jest-diff/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-diff/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-docblock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz\",\n \"integrity\": \"sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"detect-newline\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-each\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz\",\n \"integrity\": \"sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-each/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-each/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-each/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-each/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-each/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-each/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-environment-jsdom\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz\",\n \"integrity\": \"sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jsdom\": \"^16.6.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-environment-node\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz\",\n \"integrity\": \"sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-get-type\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz\",\n \"integrity\": \"sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==\",\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-haste-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz\",\n \"integrity\": \"sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/graceful-fs\": \"^4.1.2\",\n \"@types/node\": \"*\",\n \"anymatch\": \"^3.0.3\",\n \"fb-watchman\": \"^2.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-serializer\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"walker\": \"^1.0.7\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"^2.3.2\"\n }\n },\n \"node_modules/jest-jasmine2\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz\",\n \"integrity\": \"sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-jasmine2/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-jasmine2/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-leak-detector\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz\",\n \"integrity\": \"sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-matcher-utils\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz\",\n \"integrity\": \"sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==\",\n \"dependencies\": {\n \"chalk\": \"^4.0.0\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"node_modules/jest-matcher-utils/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-matcher-utils/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-message-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz\",\n \"integrity\": \"sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-message-util/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-message-util/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-message-util/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-message-util/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-message-util/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-message-util/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-mock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz\",\n \"integrity\": \"sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-pnp-resolver\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz\",\n \"integrity\": \"sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n },\n \"peerDependencies\": {\n \"jest-resolve\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"jest-resolve\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jest-regex-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz\",\n \"integrity\": \"sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-resolve\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz\",\n \"integrity\": \"sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-pnp-resolver\": \"^1.2.2\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"resolve\": \"^1.20.0\",\n \"resolve.exports\": \"^1.1.0\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-resolve-dependencies\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz\",\n \"integrity\": \"sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-resolve/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-resolve/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-resolve/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-resolve/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-resolve/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-resolve/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runner\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz\",\n \"integrity\": \"sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-docblock\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-leak-detector\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"source-map-support\": \"^0.5.6\",\n \"throat\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-runner/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-runner/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-runner/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-runner/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-runner/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runner/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runtime\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz\",\n \"integrity\": \"sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/globals\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"cjs-module-lexer\": \"^1.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"execa\": \"^5.0.0\",\n \"glob\": \"^7.1.3\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-bom\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-runtime/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-runtime/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-runtime/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-runtime/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-runtime/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-runtime/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-serializer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz\",\n \"integrity\": \"sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"graceful-fs\": \"^4.2.9\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-snapshot\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz\",\n \"integrity\": \"sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.7.2\",\n \"@babel/generator\": \"^7.7.2\",\n \"@babel/plugin-syntax-typescript\": \"^7.7.2\",\n \"@babel/traverse\": \"^7.7.2\",\n \"@babel/types\": \"^7.0.0\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__traverse\": \"^7.0.4\",\n \"@types/prettier\": \"^2.1.5\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\",\n \"chalk\": \"^4.0.0\",\n \"expect\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"natural-compare\": \"^1.4.0\",\n \"pretty-format\": \"^27.5.1\",\n \"semver\": \"^7.3.2\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-snapshot/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-snapshot/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz\",\n \"integrity\": \"sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-util/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-util/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-util/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-util/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-util/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-util/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-validate\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz\",\n \"integrity\": \"sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^27.5.1\",\n \"camelcase\": \"^6.2.0\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"leven\": \"^3.1.0\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-validate/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-validate/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-validate/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-validate/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-validate/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-validate/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz\",\n \"integrity\": \"sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-escapes\": \"^4.3.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-regex-util\": \"^28.0.0\",\n \"jest-watcher\": \"^28.0.0\",\n \"slash\": \"^4.0.0\",\n \"string-length\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"jest\": \"^27.0.0 || ^28.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/console\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz\",\n \"integrity\": \"sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^28.1.3\",\n \"jest-util\": \"^28.1.3\",\n \"slash\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/test-result\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz\",\n \"integrity\": \"sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/console\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@jest/types\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz\",\n \"integrity\": \"sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^17.0.8\",\n \"chalk\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/@types/yargs\": {\n \"version\": \"17.0.33\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz\",\n \"integrity\": \"sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-watch-typeahead/node_modules/emittery\": {\n \"version\": \"0.10.2\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz\",\n \"integrity\": \"sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/emittery?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-message-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz\",\n \"integrity\": \"sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^28.1.3\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-regex-util\": {\n \"version\": \"28.0.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz\",\n \"integrity\": \"sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz\",\n \"integrity\": \"sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-watcher\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz\",\n \"integrity\": \"sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/test-result\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.10.2\",\n \"jest-util\": \"^28.1.3\",\n \"string-length\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/pretty-format\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz\",\n \"integrity\": \"sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-watch-typeahead/node_modules/slash\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-4.0.0.tgz\",\n \"integrity\": \"sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/string-length\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz\",\n \"integrity\": \"sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"char-regex\": \"^2.0.0\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=12.20\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz\",\n \"integrity\": \"sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.20\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/strip-ansi?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-regex?sponsor=1\"\n }\n },\n \"node_modules/jest-watch-typeahead/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watcher\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz\",\n \"integrity\": \"sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-util\": \"^27.5.1\",\n \"string-length\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/jest-watcher/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/jest-watcher/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/jest-watcher/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/jest-watcher/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jest-watcher/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-watcher/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-worker\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz\",\n \"integrity\": \"sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n }\n },\n \"node_modules/jest-worker/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jest-worker/node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/jiti\": {\n \"version\": \"1.21.6\",\n \"resolved\": \"https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz\",\n \"integrity\": \"sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"jiti\": \"bin/jiti.js\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\"\n },\n \"node_modules/js-yaml\": {\n \"version\": \"3.14.1\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz\",\n \"integrity\": \"sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"argparse\": \"^1.0.7\",\n \"esprima\": \"^4.0.0\"\n },\n \"bin\": {\n \"js-yaml\": \"bin/js-yaml.js\"\n }\n },\n \"node_modules/jsdom\": {\n \"version\": \"16.7.0\",\n \"resolved\": \"https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz\",\n \"integrity\": \"sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"abab\": \"^2.0.5\",\n \"acorn\": \"^8.2.4\",\n \"acorn-globals\": \"^6.0.0\",\n \"cssom\": \"^0.4.4\",\n \"cssstyle\": \"^2.3.0\",\n \"data-urls\": \"^2.0.0\",\n \"decimal.js\": \"^10.2.1\",\n \"domexception\": \"^2.0.1\",\n \"escodegen\": \"^2.0.0\",\n \"form-data\": \"^3.0.0\",\n \"html-encoding-sniffer\": \"^2.0.1\",\n \"http-proxy-agent\": \"^4.0.1\",\n \"https-proxy-agent\": \"^5.0.0\",\n \"is-potential-custom-element-name\": \"^1.0.1\",\n \"nwsapi\": \"^2.2.0\",\n \"parse5\": \"6.0.1\",\n \"saxes\": \"^5.0.1\",\n \"symbol-tree\": \"^3.2.4\",\n \"tough-cookie\": \"^4.0.0\",\n \"w3c-hr-time\": \"^1.0.2\",\n \"w3c-xmlserializer\": \"^2.0.0\",\n \"webidl-conversions\": \"^6.1.0\",\n \"whatwg-encoding\": \"^1.0.5\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.5.0\",\n \"ws\": \"^7.4.6\",\n \"xml-name-validator\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"peerDependencies\": {\n \"canvas\": \"^2.5.0\"\n },\n \"peerDependenciesMeta\": {\n \"canvas\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/jsesc\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n \"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/json-buffer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\",\n \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/json-parse-even-better-errors\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n \"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\"\n },\n \"node_modules/json-schema\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",\n \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==\",\n \"license\": \"(AFL-2.1 OR BSD-3-Clause)\"\n },\n \"node_modules/json-schema-traverse\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n \"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/json-stable-stringify-without-jsonify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n \"integrity\": \"sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/jsonfile\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",\n \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==\",\n \"dependencies\": {\n \"universalify\": \"^2.0.0\"\n },\n \"optionalDependencies\": {\n \"graceful-fs\": \"^4.1.6\"\n }\n },\n \"node_modules/jsonpath\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz\",\n \"integrity\": \"sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esprima\": \"1.2.2\",\n \"static-eval\": \"2.0.2\",\n \"underscore\": \"1.12.1\"\n }\n },\n \"node_modules/jsonpath/node_modules/esprima\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz\",\n \"integrity\": \"sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==\",\n \"bin\": {\n \"esparse\": \"bin/esparse.js\",\n \"esvalidate\": \"bin/esvalidate.js\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/jsonpointer\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz\",\n \"integrity\": \"sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/jsx-ast-utils\": {\n \"version\": \"3.3.5\",\n \"resolved\": \"https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz\",\n \"integrity\": \"sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-includes\": \"^3.1.6\",\n \"array.prototype.flat\": \"^1.3.1\",\n \"object.assign\": \"^4.1.4\",\n \"object.values\": \"^1.1.6\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/kapsule\": {\n \"version\": \"1.14.5\",\n \"resolved\": \"https://registry.npmjs.org/kapsule/-/kapsule-1.14.5.tgz\",\n \"integrity\": \"sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==\",\n \"dependencies\": {\n \"lodash-es\": \"4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/keyv\": {\n \"version\": \"4.5.4\",\n \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\",\n \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"json-buffer\": \"3.0.1\"\n }\n },\n \"node_modules/kind-of\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz\",\n \"integrity\": \"sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/kleur\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz\",\n \"integrity\": \"sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/klona\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/klona/-/klona-2.0.6.tgz\",\n \"integrity\": \"sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/language-subtag-registry\": {\n \"version\": \"0.3.23\",\n \"resolved\": \"https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz\",\n \"integrity\": \"sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/language-tags\": {\n \"version\": \"1.0.9\",\n \"resolved\": \"https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz\",\n \"integrity\": \"sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"language-subtag-registry\": \"^0.3.20\"\n },\n \"engines\": {\n \"node\": \">=0.10\"\n }\n },\n \"node_modules/launch-editor\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz\",\n \"integrity\": \"sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"picocolors\": \"^1.0.0\",\n \"shell-quote\": \"^1.8.1\"\n }\n },\n \"node_modules/leven\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/leven/-/leven-3.1.0.tgz\",\n \"integrity\": \"sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/levn\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n \"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"~0.4.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/lilconfig\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz\",\n \"integrity\": \"sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/lines-and-columns\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n \"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\"\n },\n \"node_modules/loader-runner\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz\",\n \"integrity\": \"sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.11.5\"\n }\n },\n \"node_modules/loader-utils\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz\",\n \"integrity\": \"sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"big.js\": \"^5.2.2\",\n \"emojis-list\": \"^3.0.0\",\n \"json5\": \"^2.1.2\"\n },\n \"engines\": {\n \"node\": \">=8.9.0\"\n }\n },\n \"node_modules/locate-path\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n \"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n \"dependencies\": {\n \"p-locate\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n },\n \"node_modules/lodash-es\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz\",\n \"integrity\": \"sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==\"\n },\n \"node_modules/lodash.debounce\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz\",\n \"integrity\": \"sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.memoize\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n \"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.merge\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n \"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.sortby\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz\",\n \"integrity\": \"sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.uniq\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz\",\n \"integrity\": \"sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/lower-case\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz\",\n \"integrity\": \"sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/lz-string\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz\",\n \"integrity\": \"sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==\",\n \"bin\": {\n \"lz-string\": \"bin/bin.js\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.25.9\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz\",\n \"integrity\": \"sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"sourcemap-codec\": \"^1.4.8\"\n }\n },\n \"node_modules/make-dir\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz\",\n \"integrity\": \"sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==\",\n \"dependencies\": {\n \"semver\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/make-dir/node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/makeerror\": {\n \"version\": \"1.0.12\",\n \"resolved\": \"https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz\",\n \"integrity\": \"sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"tmpl\": \"1.0.5\"\n }\n },\n \"node_modules/material-react-table\": {\n \"version\": \"2.13.1\",\n \"resolved\": \"https://registry.npmjs.org/material-react-table/-/material-react-table-2.13.1.tgz\",\n \"integrity\": \"sha512-3iWwCa24ogxwllP4+W11euR/GV6f5wQE5FEilJ72/H3hDYHgsN+XehANytaG0G7/qy/OWYE7oXkcsRUU35I/iA==\",\n \"dependencies\": {\n \"@tanstack/match-sorter-utils\": \"8.15.1\",\n \"@tanstack/react-table\": \"8.19.3\",\n \"@tanstack/react-virtual\": \"3.8.3\",\n \"highlight-words\": \"1.2.2\"\n },\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/kevinvandy\"\n },\n \"peerDependencies\": {\n \"@emotion/react\": \">=11.11\",\n \"@emotion/styled\": \">=11.11\",\n \"@mui/icons-material\": \">=5.11\",\n \"@mui/material\": \">=5.13\",\n \"@mui/x-date-pickers\": \">=6.15.0\",\n \"react\": \">=17.0\",\n \"react-dom\": \">=17.0\"\n }\n },\n \"node_modules/mdn-data\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz\",\n \"integrity\": \"sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/media-typer\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n \"integrity\": \"sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/memfs\": {\n \"version\": \"3.5.3\",\n \"resolved\": \"https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz\",\n \"integrity\": \"sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==\",\n \"license\": \"Unlicense\",\n \"dependencies\": {\n \"fs-monkey\": \"^1.0.4\"\n },\n \"engines\": {\n \"node\": \">= 4.0.0\"\n }\n },\n \"node_modules/merge-descriptors\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz\",\n \"integrity\": \"sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/merge2\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz\",\n \"integrity\": \"sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/meshoptimizer\": {\n \"version\": \"0.18.1\",\n \"resolved\": \"https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz\",\n \"integrity\": \"sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==\",\n \"dev\": true\n },\n \"node_modules/methods\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n \"integrity\": \"sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/micromatch\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz\",\n \"integrity\": \"sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"braces\": \"^3.0.3\",\n \"picomatch\": \"^2.3.1\"\n },\n \"engines\": {\n \"node\": \">=8.6\"\n }\n },\n \"node_modules/mime\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n \"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"mime\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/mime-db\": {\n \"version\": \"1.52.0\",\n \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",\n \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/mime-types\": {\n \"version\": \"2.1.35\",\n \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",\n \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==\",\n \"dependencies\": {\n \"mime-db\": \"1.52.0\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/mimic-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/min-indent\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n \"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/mini-css-extract-plugin\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz\",\n \"integrity\": \"sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"schema-utils\": \"^4.0.0\",\n \"tapable\": \"^2.2.1\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/minimalistic-assert\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz\",\n \"integrity\": \"sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==\",\n \"license\": \"ISC\"\n },\n \"node_modules/minimatch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n \"dependencies\": {\n \"brace-expansion\": \"^1.1.7\"\n },\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/minimist\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",\n \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/minipass\": {\n \"version\": \"7.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz\",\n \"integrity\": \"sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n }\n },\n \"node_modules/mkdirp\": {\n \"version\": \"0.5.6\",\n \"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz\",\n \"integrity\": \"sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimist\": \"^1.2.6\"\n },\n \"bin\": {\n \"mkdirp\": \"bin/cmd.js\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\"\n },\n \"node_modules/multicast-dns\": {\n \"version\": \"7.2.5\",\n \"resolved\": \"https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz\",\n \"integrity\": \"sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dns-packet\": \"^5.2.2\",\n \"thunky\": \"^1.0.2\"\n },\n \"bin\": {\n \"multicast-dns\": \"cli.js\"\n }\n },\n \"node_modules/mz\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/mz/-/mz-2.7.0.tgz\",\n \"integrity\": \"sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"any-promise\": \"^1.0.0\",\n \"object-assign\": \"^4.0.1\",\n \"thenify-all\": \"^1.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.7\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz\",\n \"integrity\": \"sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/natural-compare\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n \"integrity\": \"sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/natural-compare-lite\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz\",\n \"integrity\": \"sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/negotiator\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz\",\n \"integrity\": \"sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/neo-async\": {\n \"version\": \"2.6.2\",\n \"resolved\": \"https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz\",\n \"integrity\": \"sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ngraph.events\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz\",\n \"integrity\": \"sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==\"\n },\n \"node_modules/ngraph.forcelayout\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz\",\n \"integrity\": \"sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==\",\n \"dependencies\": {\n \"ngraph.events\": \"^1.0.0\",\n \"ngraph.merge\": \"^1.0.0\",\n \"ngraph.random\": \"^1.0.0\"\n }\n },\n \"node_modules/ngraph.graph\": {\n \"version\": \"20.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz\",\n \"integrity\": \"sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==\",\n \"dependencies\": {\n \"ngraph.events\": \"^1.2.1\"\n }\n },\n \"node_modules/ngraph.merge\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.merge/-/ngraph.merge-1.0.0.tgz\",\n \"integrity\": \"sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg==\"\n },\n \"node_modules/ngraph.random\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.random/-/ngraph.random-1.1.0.tgz\",\n \"integrity\": \"sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw==\"\n },\n \"node_modules/no-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz\",\n \"integrity\": \"sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lower-case\": \"^2.0.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/node-forge\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz\",\n \"integrity\": \"sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==\",\n \"license\": \"(BSD-3-Clause OR GPL-2.0)\",\n \"engines\": {\n \"node\": \">= 6.13.0\"\n }\n },\n \"node_modules/node-int64\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz\",\n \"integrity\": \"sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz\",\n \"integrity\": \"sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==\"\n },\n \"node_modules/normalize-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz\",\n \"integrity\": \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/normalize-range\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz\",\n \"integrity\": \"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/normalize-url\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz\",\n \"integrity\": \"sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/npm-run-path\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",\n \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/nth-check\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n \"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/nth-check?sponsor=1\"\n }\n },\n \"node_modules/nwsapi\": {\n \"version\": \"2.2.12\",\n \"resolved\": \"https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz\",\n \"integrity\": \"sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/object-assign\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz\",\n \"integrity\": \"sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/object-hash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz\",\n \"integrity\": \"sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/object-inspect\": {\n \"version\": \"1.13.2\",\n \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz\",\n \"integrity\": \"sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object-is\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz\",\n \"integrity\": \"sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object-keys\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n \"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.assign\": {\n \"version\": \"4.1.5\",\n \"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz\",\n \"integrity\": \"sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"object-keys\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.entries\": {\n \"version\": \"1.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz\",\n \"integrity\": \"sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.fromentries\": {\n \"version\": \"2.0.8\",\n \"resolved\": \"https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz\",\n \"integrity\": \"sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.getownpropertydescriptors\": {\n \"version\": \"2.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz\",\n \"integrity\": \"sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array.prototype.reduce\": \"^1.0.6\",\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"gopd\": \"^1.0.1\",\n \"safe-array-concat\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.groupby\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz\",\n \"integrity\": \"sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.values\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz\",\n \"integrity\": \"sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/obuf\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz\",\n \"integrity\": \"sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/on-finished\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz\",\n \"integrity\": \"sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ee-first\": \"1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/on-headers\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n \"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/once\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\",\n \"dependencies\": {\n \"wrappy\": \"1\"\n }\n },\n \"node_modules/onetime\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",\n \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mimic-fn\": \"^2.1.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/open\": {\n \"version\": \"8.4.2\",\n \"resolved\": \"https://registry.npmjs.org/open/-/open-8.4.2.tgz\",\n \"integrity\": \"sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-lazy-prop\": \"^2.0.0\",\n \"is-docker\": \"^2.1.1\",\n \"is-wsl\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/optionator\": {\n \"version\": \"0.9.4\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz\",\n \"integrity\": \"sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"deep-is\": \"^0.1.3\",\n \"fast-levenshtein\": \"^2.0.6\",\n \"levn\": \"^0.4.1\",\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"^0.4.0\",\n \"word-wrap\": \"^1.2.5\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/p-limit\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n \"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n \"dependencies\": {\n \"p-try\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-locate\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n \"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n \"dependencies\": {\n \"p-limit\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz\",\n \"integrity\": \"sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/p-try\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n \"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/package-json-from-dist\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz\",\n \"integrity\": \"sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==\",\n \"license\": \"BlueOak-1.0.0\"\n },\n \"node_modules/param-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz\",\n \"integrity\": \"sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dot-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/parent-module\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n \"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n \"dependencies\": {\n \"callsites\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/parse-json\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n \"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.0.0\",\n \"error-ex\": \"^1.3.1\",\n \"json-parse-even-better-errors\": \"^2.3.0\",\n \"lines-and-columns\": \"^1.1.6\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/parse5\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz\",\n \"integrity\": \"sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/parseurl\": {\n \"version\": \"1.3.3\",\n \"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n \"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/pascal-case\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz\",\n \"integrity\": \"sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node_modules/path-exists\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n \"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/path-is-absolute\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/path-parse\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz\",\n \"integrity\": \"sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\"\n },\n \"node_modules/path-scurry\": {\n \"version\": \"1.11.1\",\n \"resolved\": \"https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz\",\n \"integrity\": \"sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"lru-cache\": \"^10.2.0\",\n \"minipass\": \"^5.0.0 || ^6.0.2 || ^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/path-scurry/node_modules/lru-cache\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz\",\n \"integrity\": \"sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/path-to-regexp\": {\n \"version\": \"0.1.10\",\n \"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz\",\n \"integrity\": \"sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/path-type\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz\",\n \"integrity\": \"sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/performance-now\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz\",\n \"integrity\": \"sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/pify\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",\n \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/pinkie\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz\",\n \"integrity\": \"sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/pinkie-promise\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz\",\n \"integrity\": \"sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==\",\n \"dev\": true,\n \"dependencies\": {\n \"pinkie\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/pirates\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz\",\n \"integrity\": \"sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/pkg-dir\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz\",\n \"integrity\": \"sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==\",\n \"dependencies\": {\n \"find-up\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pkg-up\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz\",\n \"integrity\": \"sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"find-up\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pkg-up/node_modules/find-up\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n \"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"locate-path\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/pkg-up/node_modules/locate-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n \"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-locate\": \"^3.0.0\",\n \"path-exists\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/pkg-up/node_modules/p-locate\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n \"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-limit\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/pkg-up/node_modules/path-exists\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n \"integrity\": \"sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/polished\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/polished/-/polished-4.3.1.tgz\",\n \"integrity\": \"sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.17.8\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/possible-typed-array-names\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz\",\n \"integrity\": \"sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.4.47\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz\",\n \"integrity\": \"sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.7\",\n \"picocolors\": \"^1.1.0\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/postcss-attribute-case-insensitive\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz\",\n \"integrity\": \"sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-browser-comments\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz\",\n \"integrity\": \"sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">=4\",\n \"postcss\": \">=8\"\n }\n },\n \"node_modules/postcss-calc\": {\n \"version\": \"8.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz\",\n \"integrity\": \"sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.2\"\n }\n },\n \"node_modules/postcss-clamp\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz\",\n \"integrity\": \"sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \">=7.6.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4.6\"\n }\n },\n \"node_modules/postcss-color-functional-notation\": {\n \"version\": \"4.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz\",\n \"integrity\": \"sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-color-hex-alpha\": {\n \"version\": \"8.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz\",\n \"integrity\": \"sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-color-rebeccapurple\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz\",\n \"integrity\": \"sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-colormin\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz\",\n \"integrity\": \"sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"colord\": \"^2.9.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-convert-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz\",\n \"integrity\": \"sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-custom-media\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz\",\n \"integrity\": \"sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.3\"\n }\n },\n \"node_modules/postcss-custom-properties\": {\n \"version\": \"12.1.11\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz\",\n \"integrity\": \"sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-custom-selectors\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz\",\n \"integrity\": \"sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.3\"\n }\n },\n \"node_modules/postcss-dir-pseudo-class\": {\n \"version\": \"6.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz\",\n \"integrity\": \"sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-discard-comments\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz\",\n \"integrity\": \"sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-discard-duplicates\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz\",\n \"integrity\": \"sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-discard-empty\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz\",\n \"integrity\": \"sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-discard-overridden\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz\",\n \"integrity\": \"sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-double-position-gradients\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz\",\n \"integrity\": \"sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-env-function\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz\",\n \"integrity\": \"sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-flexbugs-fixes\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz\",\n \"integrity\": \"sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.1.4\"\n }\n },\n \"node_modules/postcss-focus-visible\": {\n \"version\": \"6.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz\",\n \"integrity\": \"sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-focus-within\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz\",\n \"integrity\": \"sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-font-variant\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz\",\n \"integrity\": \"sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-gap-properties\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz\",\n \"integrity\": \"sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-image-set-function\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz\",\n \"integrity\": \"sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-import\": {\n \"version\": \"15.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz\",\n \"integrity\": \"sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.0.0\",\n \"read-cache\": \"^1.0.0\",\n \"resolve\": \"^1.1.7\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.0.0\"\n }\n },\n \"node_modules/postcss-initial\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz\",\n \"integrity\": \"sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.0.0\"\n }\n },\n \"node_modules/postcss-js\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz\",\n \"integrity\": \"sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"camelcase-css\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >= 16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4.21\"\n }\n },\n \"node_modules/postcss-lab-function\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz\",\n \"integrity\": \"sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-load-config\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz\",\n \"integrity\": \"sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lilconfig\": \"^3.0.0\",\n \"yaml\": \"^2.3.4\"\n },\n \"engines\": {\n \"node\": \">= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \">=8.0.9\",\n \"ts-node\": \">=9.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"postcss\": {\n \"optional\": true\n },\n \"ts-node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/postcss-load-config/node_modules/lilconfig\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz\",\n \"integrity\": \"sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antonk52\"\n }\n },\n \"node_modules/postcss-load-config/node_modules/yaml\": {\n \"version\": \"2.5.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz\",\n \"integrity\": \"sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14\"\n }\n },\n \"node_modules/postcss-loader\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz\",\n \"integrity\": \"sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"klona\": \"^2.0.5\",\n \"semver\": \"^7.3.5\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^7.0.0 || ^8.0.1\",\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/postcss-logical\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz\",\n \"integrity\": \"sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==\",\n \"license\": \"CC0-1.0\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4\"\n }\n },\n \"node_modules/postcss-media-minmax\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz\",\n \"integrity\": \"sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-merge-longhand\": {\n \"version\": \"5.1.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz\",\n \"integrity\": \"sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"stylehacks\": \"^5.1.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-merge-rules\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz\",\n \"integrity\": \"sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-selector-parser\": \"^6.0.5\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-font-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz\",\n \"integrity\": \"sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-gradients\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz\",\n \"integrity\": \"sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"colord\": \"^2.9.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-params\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz\",\n \"integrity\": \"sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-minify-selectors\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz\",\n \"integrity\": \"sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-modules-extract-imports\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz\",\n \"integrity\": \"sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-modules-local-by-default\": {\n \"version\": \"4.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz\",\n \"integrity\": \"sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"icss-utils\": \"^5.0.0\",\n \"postcss-selector-parser\": \"^6.0.2\",\n \"postcss-value-parser\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-modules-scope\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz\",\n \"integrity\": \"sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-modules-values\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz\",\n \"integrity\": \"sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"icss-utils\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >= 14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/postcss-nested\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz\",\n \"integrity\": \"sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.1.1\"\n },\n \"engines\": {\n \"node\": \">=12.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.14\"\n }\n },\n \"node_modules/postcss-nesting\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz\",\n \"integrity\": \"sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-normalize\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz\",\n \"integrity\": \"sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/normalize.css\": \"*\",\n \"postcss-browser-comments\": \"^4\",\n \"sanitize.css\": \"*\"\n },\n \"engines\": {\n \"node\": \">= 12\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4\",\n \"postcss\": \">= 8\"\n }\n },\n \"node_modules/postcss-normalize-charset\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz\",\n \"integrity\": \"sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-display-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz\",\n \"integrity\": \"sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-positions\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz\",\n \"integrity\": \"sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-repeat-style\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz\",\n \"integrity\": \"sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-string\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz\",\n \"integrity\": \"sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-timing-functions\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz\",\n \"integrity\": \"sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-unicode\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz\",\n \"integrity\": \"sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-url\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz\",\n \"integrity\": \"sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"normalize-url\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-normalize-whitespace\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz\",\n \"integrity\": \"sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-opacity-percentage\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz\",\n \"integrity\": \"sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==\",\n \"funding\": [\n {\n \"type\": \"kofi\",\n \"url\": \"https://ko-fi.com/mrcgrtz\"\n },\n {\n \"type\": \"liberapay\",\n \"url\": \"https://liberapay.com/mrcgrtz\"\n }\n ],\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-ordered-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz\",\n \"integrity\": \"sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-overflow-shorthand\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz\",\n \"integrity\": \"sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-page-break\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz\",\n \"integrity\": \"sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8\"\n }\n },\n \"node_modules/postcss-place\": {\n \"version\": \"7.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz\",\n \"integrity\": \"sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-preset-env\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz\",\n \"integrity\": \"sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"@csstools/postcss-cascade-layers\": \"^1.1.1\",\n \"@csstools/postcss-color-function\": \"^1.1.1\",\n \"@csstools/postcss-font-format-keywords\": \"^1.0.1\",\n \"@csstools/postcss-hwb-function\": \"^1.0.2\",\n \"@csstools/postcss-ic-unit\": \"^1.0.1\",\n \"@csstools/postcss-is-pseudo-class\": \"^2.0.7\",\n \"@csstools/postcss-nested-calc\": \"^1.0.0\",\n \"@csstools/postcss-normalize-display-values\": \"^1.0.1\",\n \"@csstools/postcss-oklab-function\": \"^1.1.1\",\n \"@csstools/postcss-progressive-custom-properties\": \"^1.3.0\",\n \"@csstools/postcss-stepped-value-functions\": \"^1.0.1\",\n \"@csstools/postcss-text-decoration-shorthand\": \"^1.0.0\",\n \"@csstools/postcss-trigonometric-functions\": \"^1.0.2\",\n \"@csstools/postcss-unset-value\": \"^1.0.2\",\n \"autoprefixer\": \"^10.4.13\",\n \"browserslist\": \"^4.21.4\",\n \"css-blank-pseudo\": \"^3.0.3\",\n \"css-has-pseudo\": \"^3.0.4\",\n \"css-prefers-color-scheme\": \"^6.0.3\",\n \"cssdb\": \"^7.1.0\",\n \"postcss-attribute-case-insensitive\": \"^5.0.2\",\n \"postcss-clamp\": \"^4.1.0\",\n \"postcss-color-functional-notation\": \"^4.2.4\",\n \"postcss-color-hex-alpha\": \"^8.0.4\",\n \"postcss-color-rebeccapurple\": \"^7.1.1\",\n \"postcss-custom-media\": \"^8.0.2\",\n \"postcss-custom-properties\": \"^12.1.10\",\n \"postcss-custom-selectors\": \"^6.0.3\",\n \"postcss-dir-pseudo-class\": \"^6.0.5\",\n \"postcss-double-position-gradients\": \"^3.1.2\",\n \"postcss-env-function\": \"^4.0.6\",\n \"postcss-focus-visible\": \"^6.0.4\",\n \"postcss-focus-within\": \"^5.0.4\",\n \"postcss-font-variant\": \"^5.0.0\",\n \"postcss-gap-properties\": \"^3.0.5\",\n \"postcss-image-set-function\": \"^4.0.7\",\n \"postcss-initial\": \"^4.0.1\",\n \"postcss-lab-function\": \"^4.2.1\",\n \"postcss-logical\": \"^5.0.4\",\n \"postcss-media-minmax\": \"^5.0.0\",\n \"postcss-nesting\": \"^10.2.0\",\n \"postcss-opacity-percentage\": \"^1.1.2\",\n \"postcss-overflow-shorthand\": \"^3.0.4\",\n \"postcss-page-break\": \"^3.0.4\",\n \"postcss-place\": \"^7.0.5\",\n \"postcss-pseudo-class-any-link\": \"^7.1.6\",\n \"postcss-replace-overflow-wrap\": \"^4.0.0\",\n \"postcss-selector-not\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-pseudo-class-any-link\": {\n \"version\": \"7.1.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz\",\n \"integrity\": \"sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==\",\n \"license\": \"CC0-1.0\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-reduce-initial\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz\",\n \"integrity\": \"sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-reduce-transforms\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz\",\n \"integrity\": \"sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-replace-overflow-wrap\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz\",\n \"integrity\": \"sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"postcss\": \"^8.0.3\"\n }\n },\n \"node_modules/postcss-selector-not\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz\",\n \"integrity\": \"sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >=16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/csstools\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2\"\n }\n },\n \"node_modules/postcss-selector-parser\": {\n \"version\": \"6.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz\",\n \"integrity\": \"sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cssesc\": \"^3.0.0\",\n \"util-deprecate\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/postcss-svgo\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz\",\n \"integrity\": \"sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"svgo\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/commander\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-7.2.0.tgz\",\n \"integrity\": \"sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/postcss-svgo/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/postcss-svgo/node_modules/svgo\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz\",\n \"integrity\": \"sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@trysound/sax\": \"0.2.0\",\n \"commander\": \"^7.2.0\",\n \"css-select\": \"^4.1.3\",\n \"css-tree\": \"^1.1.3\",\n \"csso\": \"^4.2.0\",\n \"picocolors\": \"^1.0.0\",\n \"stable\": \"^0.1.8\"\n },\n \"bin\": {\n \"svgo\": \"bin/svgo\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/postcss-unique-selectors\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz\",\n \"integrity\": \"sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/postcss-value-parser\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz\",\n \"integrity\": \"sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/prelude-ls\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n \"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/pretty-bytes\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",\n \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pretty-error\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz\",\n \"integrity\": \"sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lodash\": \"^4.17.20\",\n \"renderkid\": \"^3.0.0\"\n }\n },\n \"node_modules/pretty-format\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz\",\n \"integrity\": \"sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^17.0.1\"\n },\n \"engines\": {\n \"node\": \"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0\"\n }\n },\n \"node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/process-nextick-args\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n \"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/promise\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/promise/-/promise-8.3.0.tgz\",\n \"integrity\": \"sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"asap\": \"~2.0.6\"\n }\n },\n \"node_modules/prompts\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz\",\n \"integrity\": \"sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"kleur\": \"^3.0.3\",\n \"sisteransi\": \"^1.0.5\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/prop-types\": {\n \"version\": \"15.8.1\",\n \"resolved\": \"https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz\",\n \"integrity\": \"sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.4.0\",\n \"object-assign\": \"^4.1.1\",\n \"react-is\": \"^16.13.1\"\n }\n },\n \"node_modules/prop-types/node_modules/react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n },\n \"node_modules/proxy-addr\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz\",\n \"integrity\": \"sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"forwarded\": \"0.2.0\",\n \"ipaddr.js\": \"1.9.1\"\n },\n \"engines\": {\n \"node\": \">= 0.10\"\n }\n },\n \"node_modules/proxy-addr/node_modules/ipaddr.js\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n \"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.10\"\n }\n },\n \"node_modules/proxy-from-env\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz\",\n \"integrity\": \"sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==\"\n },\n \"node_modules/psl\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",\n \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==\",\n \"license\": \"MIT\"\n },\n \"node_modules/punycode\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz\",\n \"integrity\": \"sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/q\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/q/-/q-1.5.1.tgz\",\n \"integrity\": \"sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==\",\n \"deprecated\": \"You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\\n\\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.6.0\",\n \"teleport\": \">=0.2.0\"\n }\n },\n \"node_modules/qs\": {\n \"version\": \"6.13.0\",\n \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.13.0.tgz\",\n \"integrity\": \"sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"side-channel\": \"^1.0.6\"\n },\n \"engines\": {\n \"node\": \">=0.6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/querystringify\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",\n \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/queue-microtask\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n \"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/raf\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/raf/-/raf-3.4.1.tgz\",\n \"integrity\": \"sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"performance-now\": \"^2.1.0\"\n }\n },\n \"node_modules/randombytes\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz\",\n \"integrity\": \"sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"^5.1.0\"\n }\n },\n \"node_modules/range-parser\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n \"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/raw-body\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz\",\n \"integrity\": \"sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"bytes\": \"3.1.2\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"unpipe\": \"1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/raw-body/node_modules/bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/raw-body/node_modules/iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-app-polyfill\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz\",\n \"integrity\": \"sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"core-js\": \"^3.19.2\",\n \"object-assign\": \"^4.1.1\",\n \"promise\": \"^8.1.0\",\n \"raf\": \"^3.4.1\",\n \"regenerator-runtime\": \"^0.13.9\",\n \"whatwg-fetch\": \"^3.6.2\"\n },\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/react-app-polyfill/node_modules/regenerator-runtime\": {\n \"version\": \"0.13.11\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz\",\n \"integrity\": \"sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/react-app-rewired\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz\",\n \"integrity\": \"sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==\",\n \"dependencies\": {\n \"semver\": \"^5.6.0\"\n },\n \"bin\": {\n \"react-app-rewired\": \"bin/index.js\"\n },\n \"peerDependencies\": {\n \"react-scripts\": \">=2.1.3\"\n }\n },\n \"node_modules/react-app-rewired/node_modules/semver\": {\n \"version\": \"5.7.2\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.2.tgz\",\n \"integrity\": \"sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==\",\n \"bin\": {\n \"semver\": \"bin/semver\"\n }\n },\n \"node_modules/react-dev-utils\": {\n \"version\": \"12.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz\",\n \"integrity\": \"sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.16.0\",\n \"address\": \"^1.1.2\",\n \"browserslist\": \"^4.18.1\",\n \"chalk\": \"^4.1.2\",\n \"cross-spawn\": \"^7.0.3\",\n \"detect-port-alt\": \"^1.1.6\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"filesize\": \"^8.0.6\",\n \"find-up\": \"^5.0.0\",\n \"fork-ts-checker-webpack-plugin\": \"^6.5.0\",\n \"global-modules\": \"^2.0.0\",\n \"globby\": \"^11.0.4\",\n \"gzip-size\": \"^6.0.0\",\n \"immer\": \"^9.0.7\",\n \"is-root\": \"^2.1.0\",\n \"loader-utils\": \"^3.2.0\",\n \"open\": \"^8.4.0\",\n \"pkg-up\": \"^3.1.0\",\n \"prompts\": \"^2.4.2\",\n \"react-error-overlay\": \"^6.0.11\",\n \"recursive-readdir\": \"^2.2.2\",\n \"shell-quote\": \"^1.7.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/react-dev-utils/node_modules/escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/loader-utils\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz\",\n \"integrity\": \"sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 12.13.0\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-locate\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^0.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-limit\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react-dev-utils/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-dropzone\": {\n \"version\": \"14.2.3\",\n \"resolved\": \"https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz\",\n \"integrity\": \"sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==\",\n \"dependencies\": {\n \"attr-accept\": \"^2.2.2\",\n \"file-selector\": \"^0.6.0\",\n \"prop-types\": \"^15.8.1\"\n },\n \"engines\": {\n \"node\": \">= 10.13\"\n },\n \"peerDependencies\": {\n \"react\": \">= 16.8 || 18.0.0\"\n }\n },\n \"node_modules/react-error-overlay\": {\n \"version\": \"6.0.11\",\n \"resolved\": \"https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz\",\n \"integrity\": \"sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/react-force-graph-2d\": {\n \"version\": \"1.25.5\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-2d/-/react-force-graph-2d-1.25.5.tgz\",\n \"integrity\": \"sha512-3u8WjZZorpwZSDs3n3QeOS9ZoxFPM+IR9SStYJVQ/qKECydMHarxnf7ynV/MKJbC6kUsc60soD0V+Uq/r2vz7Q==\",\n \"dependencies\": {\n \"force-graph\": \"1\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \"*\"\n }\n },\n \"node_modules/react-force-graph-3d\": {\n \"version\": \"1.24.3\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-3d/-/react-force-graph-3d-1.24.3.tgz\",\n \"integrity\": \"sha512-GGQijzwz0Ig9avTMmosVOr5h3XaSabiTNdXwpoEwVZBkdVd0gc6FvWK3WPv8MoY8pclD9Rre4Gfbh0zBFVVBsA==\",\n \"dependencies\": {\n \"3d-force-graph\": \"^1.73\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \"*\"\n }\n },\n \"node_modules/react-ga4\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz\",\n \"integrity\": \"sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==\"\n },\n \"node_modules/react-i18next\": {\n \"version\": \"12.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz\",\n \"integrity\": \"sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.20.6\",\n \"html-parse-stringify\": \"^3.0.1\"\n },\n \"peerDependencies\": {\n \"i18next\": \">= 19.0.0\",\n \"react\": \">= 16.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"react-dom\": {\n \"optional\": true\n },\n \"react-native\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/react-is\": {\n \"version\": \"17.0.2\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz\",\n \"integrity\": \"sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==\"\n },\n \"node_modules/react-kapsule\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/react-kapsule/-/react-kapsule-2.4.0.tgz\",\n \"integrity\": \"sha512-w4Yv9CgWdj8kWGQEPNWFGJJ08dYEZHZpiaFR/DgZjCMBNqv9wus2Gy1qvHVJmJbzvAZbq6jdvFC+NYzEqAlNhQ==\",\n \"dependencies\": {\n \"fromentries\": \"^1.3.2\",\n \"jerrypick\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.13.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz\",\n \"integrity\": \"sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-scripts\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz\",\n \"integrity\": \"sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.16.0\",\n \"@pmmmwh/react-refresh-webpack-plugin\": \"^0.5.3\",\n \"@svgr/webpack\": \"^5.5.0\",\n \"babel-jest\": \"^27.4.2\",\n \"babel-loader\": \"^8.2.3\",\n \"babel-plugin-named-asset-import\": \"^0.3.8\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"bfj\": \"^7.0.2\",\n \"browserslist\": \"^4.18.1\",\n \"camelcase\": \"^6.2.1\",\n \"case-sensitive-paths-webpack-plugin\": \"^2.4.0\",\n \"css-loader\": \"^6.5.1\",\n \"css-minimizer-webpack-plugin\": \"^3.2.0\",\n \"dotenv\": \"^10.0.0\",\n \"dotenv-expand\": \"^5.1.0\",\n \"eslint\": \"^8.3.0\",\n \"eslint-config-react-app\": \"^7.0.1\",\n \"eslint-webpack-plugin\": \"^3.1.1\",\n \"file-loader\": \"^6.2.0\",\n \"fs-extra\": \"^10.0.0\",\n \"html-webpack-plugin\": \"^5.5.0\",\n \"identity-obj-proxy\": \"^3.0.0\",\n \"jest\": \"^27.4.3\",\n \"jest-resolve\": \"^27.4.2\",\n \"jest-watch-typeahead\": \"^1.0.0\",\n \"mini-css-extract-plugin\": \"^2.4.5\",\n \"postcss\": \"^8.4.4\",\n \"postcss-flexbugs-fixes\": \"^5.0.2\",\n \"postcss-loader\": \"^6.2.1\",\n \"postcss-normalize\": \"^10.0.1\",\n \"postcss-preset-env\": \"^7.0.1\",\n \"prompts\": \"^2.4.2\",\n \"react-app-polyfill\": \"^3.0.0\",\n \"react-dev-utils\": \"^12.0.1\",\n \"react-refresh\": \"^0.11.0\",\n \"resolve\": \"^1.20.0\",\n \"resolve-url-loader\": \"^4.0.0\",\n \"sass-loader\": \"^12.3.0\",\n \"semver\": \"^7.3.5\",\n \"source-map-loader\": \"^3.0.0\",\n \"style-loader\": \"^3.3.1\",\n \"tailwindcss\": \"^3.0.2\",\n \"terser-webpack-plugin\": \"^5.2.5\",\n \"webpack\": \"^5.64.4\",\n \"webpack-dev-server\": \"^4.6.0\",\n \"webpack-manifest-plugin\": \"^4.0.2\",\n \"workbox-webpack-plugin\": \"^6.4.1\"\n },\n \"bin\": {\n \"react-scripts\": \"bin/react-scripts.js\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"^2.3.2\"\n },\n \"peerDependencies\": {\n \"react\": \">= 16\",\n \"typescript\": \"^3.2.1 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/react-table\": {\n \"version\": \"7.8.0\",\n \"resolved\": \"https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz\",\n \"integrity\": \"sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.3 || ^17.0.0-0 || ^18.0.0\"\n }\n },\n \"node_modules/react-transition-group\": {\n \"version\": \"4.4.5\",\n \"resolved\": \"https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz\",\n \"integrity\": \"sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.5.5\",\n \"dom-helpers\": \"^5.0.1\",\n \"loose-envify\": \"^1.4.0\",\n \"prop-types\": \"^15.6.2\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.6.0\",\n \"react-dom\": \">=16.6.0\"\n }\n },\n \"node_modules/read-cache\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz\",\n \"integrity\": \"sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"pify\": \"^2.3.0\"\n }\n },\n \"node_modules/readable-stream\": {\n \"version\": \"3.6.2\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz\",\n \"integrity\": \"sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"inherits\": \"^2.0.3\",\n \"string_decoder\": \"^1.1.1\",\n \"util-deprecate\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/readdirp\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz\",\n \"integrity\": \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"picomatch\": \"^2.2.1\"\n },\n \"engines\": {\n \"node\": \">=8.10.0\"\n }\n },\n \"node_modules/recursive-readdir\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz\",\n \"integrity\": \"sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimatch\": \"^3.0.5\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/redent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/redent/-/redent-3.0.0.tgz\",\n \"integrity\": \"sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==\",\n \"dependencies\": {\n \"indent-string\": \"^4.0.0\",\n \"strip-indent\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/reflect.getprototypeof\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz\",\n \"integrity\": \"sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.1\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"which-builtin-type\": \"^1.1.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/regenerate\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz\",\n \"integrity\": \"sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/regenerate-unicode-properties\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz\",\n \"integrity\": \"sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"regenerate\": \"^1.4.2\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/regenerator-runtime\": {\n \"version\": \"0.14.1\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz\",\n \"integrity\": \"sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==\"\n },\n \"node_modules/regenerator-transform\": {\n \"version\": \"0.15.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz\",\n \"integrity\": \"sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.8.4\"\n }\n },\n \"node_modules/regex-parser\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz\",\n \"integrity\": \"sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/regexp.prototype.flags\": {\n \"version\": \"1.5.2\",\n \"resolved\": \"https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz\",\n \"integrity\": \"sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"define-properties\": \"^1.2.1\",\n \"es-errors\": \"^1.3.0\",\n \"set-function-name\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/regexpu-core\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz\",\n \"integrity\": \"sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/regjsgen\": \"^0.8.0\",\n \"regenerate\": \"^1.4.2\",\n \"regenerate-unicode-properties\": \"^10.1.0\",\n \"regjsparser\": \"^0.9.1\",\n \"unicode-match-property-ecmascript\": \"^2.0.0\",\n \"unicode-match-property-value-ecmascript\": \"^2.1.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/regjsparser\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz\",\n \"integrity\": \"sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"jsesc\": \"~0.5.0\"\n },\n \"bin\": {\n \"regjsparser\": \"bin/parser\"\n }\n },\n \"node_modules/regjsparser/node_modules/jsesc\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz\",\n \"integrity\": \"sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n }\n },\n \"node_modules/relateurl\": {\n \"version\": \"0.2.7\",\n \"resolved\": \"https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz\",\n \"integrity\": \"sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.10\"\n }\n },\n \"node_modules/remove-accents\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz\",\n \"integrity\": \"sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==\"\n },\n \"node_modules/renderkid\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz\",\n \"integrity\": \"sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"css-select\": \"^4.1.3\",\n \"dom-converter\": \"^0.2.0\",\n \"htmlparser2\": \"^6.1.0\",\n \"lodash\": \"^4.17.21\",\n \"strip-ansi\": \"^6.0.1\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-from-string\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz\",\n \"integrity\": \"sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/requires-port\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",\n \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/resolve\": {\n \"version\": \"1.22.8\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz\",\n \"integrity\": \"sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==\",\n \"dependencies\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n },\n \"bin\": {\n \"resolve\": \"bin/resolve\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/resolve-cwd\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz\",\n \"integrity\": \"sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-from\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/resolve-from\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz\",\n \"integrity\": \"sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/resolve-url-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"adjust-sourcemap-loader\": \"^4.0.0\",\n \"convert-source-map\": \"^1.7.0\",\n \"loader-utils\": \"^2.0.0\",\n \"postcss\": \"^7.0.35\",\n \"source-map\": \"0.6.1\"\n },\n \"engines\": {\n \"node\": \">=8.9\"\n },\n \"peerDependencies\": {\n \"rework\": \"1.0.1\",\n \"rework-visit\": \"1.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"rework\": {\n \"optional\": true\n },\n \"rework-visit\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/resolve-url-loader/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/resolve-url-loader/node_modules/picocolors\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz\",\n \"integrity\": \"sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==\",\n \"license\": \"ISC\"\n },\n \"node_modules/resolve-url-loader/node_modules/postcss\": {\n \"version\": \"7.0.39\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz\",\n \"integrity\": \"sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"picocolors\": \"^0.2.1\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n }\n },\n \"node_modules/resolve-url-loader/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve.exports\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz\",\n \"integrity\": \"sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/reusify\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n \"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"iojs\": \">=1.0.0\",\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/rimraf\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n \"deprecated\": \"Rimraf versions prior to v4 are no longer supported\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"glob\": \"^7.1.3\"\n },\n \"bin\": {\n \"rimraf\": \"bin.js\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"2.79.1\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz\",\n \"integrity\": \"sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rollup-plugin-terser\": {\n \"version\": \"7.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz\",\n \"integrity\": \"sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==\",\n \"deprecated\": \"This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"jest-worker\": \"^26.2.1\",\n \"serialize-javascript\": \"^4.0.0\",\n \"terser\": \"^5.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^2.0.0\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/jest-worker\": {\n \"version\": \"26.6.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz\",\n \"integrity\": \"sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/serialize-javascript\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz\",\n \"integrity\": \"sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"node_modules/rollup-plugin-terser/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/run-parallel\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n \"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"queue-microtask\": \"^1.2.2\"\n }\n },\n \"node_modules/safe-array-concat\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz\",\n \"integrity\": \"sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\",\n \"has-symbols\": \"^1.0.3\",\n \"isarray\": \"^2.0.5\"\n },\n \"engines\": {\n \"node\": \">=0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/safe-buffer\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",\n \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/safe-regex-test\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz\",\n \"integrity\": \"sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-regex\": \"^1.1.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/safer-buffer\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/sanitize.css\": {\n \"version\": \"13.0.0\",\n \"resolved\": \"https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz\",\n \"integrity\": \"sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==\",\n \"license\": \"CC0-1.0\"\n },\n \"node_modules/sass-loader\": {\n \"version\": \"12.6.0\",\n \"resolved\": \"https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz\",\n \"integrity\": \"sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"klona\": \"^2.0.4\",\n \"neo-async\": \"^2.6.2\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"fibers\": \">= 3.1.0\",\n \"node-sass\": \"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\",\n \"sass\": \"^1.3.0\",\n \"sass-embedded\": \"*\",\n \"webpack\": \"^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"fibers\": {\n \"optional\": true\n },\n \"node-sass\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/sax\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/sax/-/sax-1.2.4.tgz\",\n \"integrity\": \"sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/saxes\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz\",\n \"integrity\": \"sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"xmlchars\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/schema-utils\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz\",\n \"integrity\": \"sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.9\",\n \"ajv\": \"^8.9.0\",\n \"ajv-formats\": \"^2.1.1\",\n \"ajv-keywords\": \"^5.1.0\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/schema-utils/node_modules/ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/schema-utils/node_modules/ajv-keywords\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz\",\n \"integrity\": \"sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\"\n },\n \"peerDependencies\": {\n \"ajv\": \"^8.8.2\"\n }\n },\n \"node_modules/schema-utils/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"license\": \"MIT\"\n },\n \"node_modules/select-hose\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz\",\n \"integrity\": \"sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/selfsigned\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz\",\n \"integrity\": \"sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node-forge\": \"^1.3.0\",\n \"node-forge\": \"^1\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"7.6.3\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.3.tgz\",\n \"integrity\": \"sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/send\": {\n \"version\": \"0.19.0\",\n \"resolved\": \"https://registry.npmjs.org/send/-/send-0.19.0.tgz\",\n \"integrity\": \"sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"encodeurl\": \"~1.0.2\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"mime\": \"1.6.0\",\n \"ms\": \"2.1.3\",\n \"on-finished\": \"2.4.1\",\n \"range-parser\": \"~1.2.1\",\n \"statuses\": \"2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/send/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/send/node_modules/debug/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/send/node_modules/encodeurl\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n \"integrity\": \"sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/send/node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/serialize-javascript\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz\",\n \"integrity\": \"sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"node_modules/serve-index\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz\",\n \"integrity\": \"sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"accepts\": \"~1.3.4\",\n \"batch\": \"0.6.1\",\n \"debug\": \"2.6.9\",\n \"escape-html\": \"~1.0.3\",\n \"http-errors\": \"~1.6.2\",\n \"mime-types\": \"~2.1.17\",\n \"parseurl\": \"~1.3.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/serve-index/node_modules/debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"node_modules/serve-index/node_modules/depd\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n \"integrity\": \"sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/serve-index/node_modules/http-errors\": {\n \"version\": \"1.6.3\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz\",\n \"integrity\": \"sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"depd\": \"~1.1.2\",\n \"inherits\": \"2.0.3\",\n \"setprototypeof\": \"1.1.0\",\n \"statuses\": \">= 1.4.0 < 2\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/serve-index/node_modules/inherits\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n \"integrity\": \"sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/serve-index/node_modules/ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/serve-index/node_modules/setprototypeof\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz\",\n \"integrity\": \"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/serve-index/node_modules/statuses\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n \"integrity\": \"sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/serve-static\": {\n \"version\": \"1.16.2\",\n \"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz\",\n \"integrity\": \"sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"parseurl\": \"~1.3.3\",\n \"send\": \"0.19.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/set-function-length\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz\",\n \"integrity\": \"sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==\",\n \"dependencies\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/set-function-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz\",\n \"integrity\": \"sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==\",\n \"dependencies\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"functions-have-names\": \"^1.2.3\",\n \"has-property-descriptors\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/setprototypeof\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz\",\n \"integrity\": \"sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"shebang-regex\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz\",\n \"integrity\": \"sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/side-channel\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz\",\n \"integrity\": \"sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"object-inspect\": \"^1.13.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/signal-exit\": {\n \"version\": \"3.0.7\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",\n \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==\",\n \"license\": \"ISC\"\n },\n \"node_modules/sisteransi\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz\",\n \"integrity\": \"sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/sockjs\": {\n \"version\": \"0.3.24\",\n \"resolved\": \"https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz\",\n \"integrity\": \"sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"faye-websocket\": \"^0.11.3\",\n \"uuid\": \"^8.3.2\",\n \"websocket-driver\": \"^0.7.4\"\n }\n },\n \"node_modules/source-list-map\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz\",\n \"integrity\": \"sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz\",\n \"integrity\": \"sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-loader\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz\",\n \"integrity\": \"sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"abab\": \"^2.0.5\",\n \"iconv-lite\": \"^0.6.3\",\n \"source-map-js\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/source-map-support/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/sourcemap-codec\": {\n \"version\": \"1.4.8\",\n \"resolved\": \"https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz\",\n \"integrity\": \"sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==\",\n \"deprecated\": \"Please use @jridgewell/sourcemap-codec instead\",\n \"license\": \"MIT\"\n },\n \"node_modules/spdy\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz\",\n \"integrity\": \"sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^4.1.0\",\n \"handle-thing\": \"^2.0.0\",\n \"http-deceiver\": \"^1.2.7\",\n \"select-hose\": \"^2.0.0\",\n \"spdy-transport\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/spdy-transport\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz\",\n \"integrity\": \"sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^4.1.0\",\n \"detect-node\": \"^2.0.4\",\n \"hpack.js\": \"^2.1.6\",\n \"obuf\": \"^1.1.2\",\n \"readable-stream\": \"^3.0.6\",\n \"wbuf\": \"^1.7.3\"\n }\n },\n \"node_modules/sprintf-js\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n \"integrity\": \"sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/stable\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/stable/-/stable-0.1.8.tgz\",\n \"integrity\": \"sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==\",\n \"deprecated\": \"Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility\",\n \"license\": \"MIT\"\n },\n \"node_modules/stack-utils\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz\",\n \"integrity\": \"sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escape-string-regexp\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/stack-utils/node_modules/escape-string-regexp\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n \"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/stackframe\": {\n \"version\": \"1.3.4\",\n \"resolved\": \"https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz\",\n \"integrity\": \"sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/static-eval\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz\",\n \"integrity\": \"sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escodegen\": \"^1.8.1\"\n }\n },\n \"node_modules/static-eval/node_modules/escodegen\": {\n \"version\": \"1.14.3\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz\",\n \"integrity\": \"sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^4.2.0\",\n \"esutils\": \"^2.0.2\",\n \"optionator\": \"^0.8.1\"\n },\n \"bin\": {\n \"escodegen\": \"bin/escodegen.js\",\n \"esgenerate\": \"bin/esgenerate.js\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n },\n \"optionalDependencies\": {\n \"source-map\": \"~0.6.1\"\n }\n },\n \"node_modules/static-eval/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/static-eval/node_modules/levn\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.3.0.tgz\",\n \"integrity\": \"sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/static-eval/node_modules/optionator\": {\n \"version\": \"0.8.3\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz\",\n \"integrity\": \"sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"deep-is\": \"~0.1.3\",\n \"fast-levenshtein\": \"~2.0.6\",\n \"levn\": \"~0.3.0\",\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\",\n \"word-wrap\": \"~1.2.3\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/static-eval/node_modules/prelude-ls\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz\",\n \"integrity\": \"sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==\",\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/static-eval/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/static-eval/node_modules/type-check\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz\",\n \"integrity\": \"sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"~1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/statuses\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz\",\n \"integrity\": \"sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/stop-iteration-iterator\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz\",\n \"integrity\": \"sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==\",\n \"dependencies\": {\n \"internal-slot\": \"^1.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/string_decoder\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz\",\n \"integrity\": \"sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safe-buffer\": \"~5.2.0\"\n }\n },\n \"node_modules/string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/string-natural-compare\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz\",\n \"integrity\": \"sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/string-width-cjs\": {\n \"name\": \"string-width\",\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/string-width-cjs/node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/string-width/node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/string.prototype.includes\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz\",\n \"integrity\": \"sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"node_modules/string.prototype.matchall\": {\n \"version\": \"4.0.11\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz\",\n \"integrity\": \"sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"set-function-name\": \"^2.0.2\",\n \"side-channel\": \"^1.0.6\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.repeat\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz\",\n \"integrity\": \"sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"node_modules/string.prototype.trim\": {\n \"version\": \"1.2.9\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz\",\n \"integrity\": \"sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.0\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.trimend\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz\",\n \"integrity\": \"sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.trimstart\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz\",\n \"integrity\": \"sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/stringify-object\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz\",\n \"integrity\": \"sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"get-own-enumerable-property-symbols\": \"^3.0.0\",\n \"is-obj\": \"^1.0.1\",\n \"is-regexp\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi-cjs\": {\n \"name\": \"strip-ansi\",\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-bom\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz\",\n \"integrity\": \"sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-comments\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz\",\n \"integrity\": \"sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/strip-final-newline\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",\n \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/strip-indent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n \"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n \"dependencies\": {\n \"min-indent\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-json-comments\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n \"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/strip-outer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz\",\n \"integrity\": \"sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==\",\n \"dev\": true,\n \"dependencies\": {\n \"escape-string-regexp\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/style-loader\": {\n \"version\": \"3.3.4\",\n \"resolved\": \"https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz\",\n \"integrity\": \"sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.0.0\"\n }\n },\n \"node_modules/stylehacks\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz\",\n \"integrity\": \"sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-selector-parser\": \"^6.0.4\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.15\"\n }\n },\n \"node_modules/stylis\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz\",\n \"integrity\": \"sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==\"\n },\n \"node_modules/sucrase\": {\n \"version\": \"3.35.0\",\n \"resolved\": \"https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz\",\n \"integrity\": \"sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.2\",\n \"commander\": \"^4.0.0\",\n \"glob\": \"^10.3.10\",\n \"lines-and-columns\": \"^1.1.6\",\n \"mz\": \"^2.7.0\",\n \"pirates\": \"^4.0.1\",\n \"ts-interface-checker\": \"^0.1.9\"\n },\n \"bin\": {\n \"sucrase\": \"bin/sucrase\",\n \"sucrase-node\": \"bin/sucrase-node\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n }\n },\n \"node_modules/sucrase/node_modules/brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"node_modules/sucrase/node_modules/commander\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-4.1.1.tgz\",\n \"integrity\": \"sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/sucrase/node_modules/glob\": {\n \"version\": \"10.4.5\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-10.4.5.tgz\",\n \"integrity\": \"sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"foreground-child\": \"^3.1.0\",\n \"jackspeak\": \"^3.1.2\",\n \"minimatch\": \"^9.0.4\",\n \"minipass\": \"^7.1.2\",\n \"package-json-from-dist\": \"^1.0.0\",\n \"path-scurry\": \"^1.11.1\"\n },\n \"bin\": {\n \"glob\": \"dist/esm/bin.mjs\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/sucrase/node_modules/minimatch\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz\",\n \"integrity\": \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/supports-color\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n \"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n \"dependencies\": {\n \"has-flag\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/supports-hyperlinks\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz\",\n \"integrity\": \"sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\",\n \"supports-color\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/supports-hyperlinks/node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/supports-hyperlinks/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/supports-preserve-symlinks-flag\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz\",\n \"integrity\": \"sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/svg-parser\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz\",\n \"integrity\": \"sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/svgo\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz\",\n \"integrity\": \"sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==\",\n \"deprecated\": \"This SVGO version is no longer supported. Upgrade to v2.x.x.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^2.4.1\",\n \"coa\": \"^2.0.2\",\n \"css-select\": \"^2.0.0\",\n \"css-select-base-adapter\": \"^0.1.1\",\n \"css-tree\": \"1.0.0-alpha.37\",\n \"csso\": \"^4.0.2\",\n \"js-yaml\": \"^3.13.1\",\n \"mkdirp\": \"~0.5.1\",\n \"object.values\": \"^1.1.0\",\n \"sax\": \"~1.2.4\",\n \"stable\": \"^0.1.8\",\n \"unquote\": \"~1.1.1\",\n \"util.promisify\": \"~1.0.0\"\n },\n \"bin\": {\n \"svgo\": \"bin/svgo\"\n },\n \"engines\": {\n \"node\": \">=4.0.0\"\n }\n },\n \"node_modules/svgo/node_modules/css-select\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz\",\n \"integrity\": \"sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^3.2.1\",\n \"domutils\": \"^1.7.0\",\n \"nth-check\": \"^1.0.2\"\n }\n },\n \"node_modules/svgo/node_modules/css-what\": {\n \"version\": \"3.4.2\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz\",\n \"integrity\": \"sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">= 6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n },\n \"node_modules/svgo/node_modules/dom-serializer\": {\n \"version\": \"0.2.2\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz\",\n \"integrity\": \"sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.0.1\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"node_modules/svgo/node_modules/domutils\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz\",\n \"integrity\": \"sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"dom-serializer\": \"0\",\n \"domelementtype\": \"1\"\n }\n },\n \"node_modules/svgo/node_modules/domutils/node_modules/domelementtype\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz\",\n \"integrity\": \"sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/svgo/node_modules/nth-check\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz\",\n \"integrity\": \"sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"boolbase\": \"~1.0.0\"\n }\n },\n \"node_modules/symbol-tree\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz\",\n \"integrity\": \"sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/tailwindcss\": {\n \"version\": \"3.4.13\",\n \"resolved\": \"https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz\",\n \"integrity\": \"sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@alloc/quick-lru\": \"^5.2.0\",\n \"arg\": \"^5.0.2\",\n \"chokidar\": \"^3.5.3\",\n \"didyoumean\": \"^1.2.2\",\n \"dlv\": \"^1.1.3\",\n \"fast-glob\": \"^3.3.0\",\n \"glob-parent\": \"^6.0.2\",\n \"is-glob\": \"^4.0.3\",\n \"jiti\": \"^1.21.0\",\n \"lilconfig\": \"^2.1.0\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"object-hash\": \"^3.0.0\",\n \"picocolors\": \"^1.0.0\",\n \"postcss\": \"^8.4.23\",\n \"postcss-import\": \"^15.1.0\",\n \"postcss-js\": \"^4.0.1\",\n \"postcss-load-config\": \"^4.0.1\",\n \"postcss-nested\": \"^6.0.1\",\n \"postcss-selector-parser\": \"^6.0.11\",\n \"resolve\": \"^1.22.2\",\n \"sucrase\": \"^3.32.0\"\n },\n \"bin\": {\n \"tailwind\": \"lib/cli.js\",\n \"tailwindcss\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tapable\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz\",\n \"integrity\": \"sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/temp-dir\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz\",\n \"integrity\": \"sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/tempy\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz\",\n \"integrity\": \"sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-stream\": \"^2.0.0\",\n \"temp-dir\": \"^2.0.0\",\n \"type-fest\": \"^0.16.0\",\n \"unique-string\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/tempy/node_modules/type-fest\": {\n \"version\": \"0.16.0\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz\",\n \"integrity\": \"sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/terminal-link\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz\",\n \"integrity\": \"sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-escapes\": \"^4.2.1\",\n \"supports-hyperlinks\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/terser\": {\n \"version\": \"5.33.0\",\n \"resolved\": \"https://registry.npmjs.org/terser/-/terser-5.33.0.tgz\",\n \"integrity\": \"sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"@jridgewell/source-map\": \"^0.3.3\",\n \"acorn\": \"^8.8.2\",\n \"commander\": \"^2.20.0\",\n \"source-map-support\": \"~0.5.20\"\n },\n \"bin\": {\n \"terser\": \"bin/terser\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/terser-webpack-plugin\": {\n \"version\": \"5.3.10\",\n \"resolved\": \"https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz\",\n \"integrity\": \"sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/trace-mapping\": \"^0.3.20\",\n \"jest-worker\": \"^27.4.5\",\n \"schema-utils\": \"^3.1.1\",\n \"serialize-javascript\": \"^6.0.1\",\n \"terser\": \"^5.26.0\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^5.1.0\"\n },\n \"peerDependenciesMeta\": {\n \"@swc/core\": {\n \"optional\": true\n },\n \"esbuild\": {\n \"optional\": true\n },\n \"uglify-js\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/terser-webpack-plugin/node_modules/schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/terser/node_modules/commander\": {\n \"version\": \"2.20.3\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-2.20.3.tgz\",\n \"integrity\": \"sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/test-exclude\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz\",\n \"integrity\": \"sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"glob\": \"^7.1.4\",\n \"minimatch\": \"^3.0.4\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/text-table\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n \"integrity\": \"sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/thenify\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz\",\n \"integrity\": \"sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"any-promise\": \"^1.0.0\"\n }\n },\n \"node_modules/thenify-all\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz\",\n \"integrity\": \"sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"thenify\": \">= 3.1.0 < 4\"\n },\n \"engines\": {\n \"node\": \">=0.8\"\n }\n },\n \"node_modules/three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==\"\n },\n \"node_modules/three-forcegraph\": {\n \"version\": \"1.41.14\",\n \"resolved\": \"https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.14.tgz\",\n \"integrity\": \"sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==\",\n \"dependencies\": {\n \"accessor-fn\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"data-joint\": \"1\",\n \"kapsule\": \"1\",\n \"ngraph.forcelayout\": \"3\",\n \"ngraph.graph\": \"20\",\n \"tinycolor2\": \"1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"three\": \">=0.118.3\"\n }\n },\n \"node_modules/three-render-objects\": {\n \"version\": \"1.29.4\",\n \"resolved\": \"https://registry.npmjs.org/three-render-objects/-/three-render-objects-1.29.4.tgz\",\n \"integrity\": \"sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==\",\n \"dependencies\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"polished\": \"4\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"three\": \"*\"\n }\n },\n \"node_modules/three-spritetext\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/three-spritetext/-/three-spritetext-1.8.2.tgz\",\n \"integrity\": \"sha512-OYjyAhWnQ6+7CPKjnpq3JQM+Lpr6cSOppCtbOOzF1IbCauGkoDFvbAnxYd0LVxEsIO2RALXXScg2eX+R6CAfyA==\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"peerDependencies\": {\n \"three\": \">=0.86.0\"\n }\n },\n \"node_modules/throat\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/throat/-/throat-6.0.2.tgz\",\n \"integrity\": \"sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/thunky\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz\",\n \"integrity\": \"sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/tinycolor2\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz\",\n \"integrity\": \"sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==\"\n },\n \"node_modules/tmpl\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz\",\n \"integrity\": \"sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/to-fast-properties\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n \"integrity\": \"sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/to-regex-range\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-number\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=8.0\"\n }\n },\n \"node_modules/toidentifier\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz\",\n \"integrity\": \"sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.6\"\n }\n },\n \"node_modules/tough-cookie\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz\",\n \"integrity\": \"sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"psl\": \"^1.1.33\",\n \"punycode\": \"^2.1.1\",\n \"universalify\": \"^0.2.0\",\n \"url-parse\": \"^1.5.3\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/tough-cookie/node_modules/universalify\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",\n \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4.0.0\"\n }\n },\n \"node_modules/tr46\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz\",\n \"integrity\": \"sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"punycode\": \"^2.1.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/trim-repeated\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz\",\n \"integrity\": \"sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==\",\n \"dev\": true,\n \"dependencies\": {\n \"escape-string-regexp\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/tryer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz\",\n \"integrity\": \"sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/ts-interface-checker\": {\n \"version\": \"0.1.13\",\n \"resolved\": \"https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz\",\n \"integrity\": \"sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/tsconfig-paths\": {\n \"version\": \"3.15.0\",\n \"resolved\": \"https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz\",\n \"integrity\": \"sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json5\": \"^0.0.29\",\n \"json5\": \"^1.0.2\",\n \"minimist\": \"^1.2.6\",\n \"strip-bom\": \"^3.0.0\"\n }\n },\n \"node_modules/tsconfig-paths/node_modules/json5\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-1.0.2.tgz\",\n \"integrity\": \"sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimist\": \"^1.2.0\"\n },\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n }\n },\n \"node_modules/tsconfig-paths/node_modules/strip-bom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n \"integrity\": \"sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.6.3\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz\",\n \"integrity\": \"sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==\"\n },\n \"node_modules/tsutils\": {\n \"version\": \"3.21.0\",\n \"resolved\": \"https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz\",\n \"integrity\": \"sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tslib\": \"^1.8.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta\"\n }\n },\n \"node_modules/tsutils/node_modules/tslib\": {\n \"version\": \"1.14.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz\",\n \"integrity\": \"sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==\",\n \"license\": \"0BSD\"\n },\n \"node_modules/type-check\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n \"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/type-detect\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz\",\n \"integrity\": \"sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/type-fest\": {\n \"version\": \"0.21.3\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",\n \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==\",\n \"license\": \"(MIT OR CC0-1.0)\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/type-is\": {\n \"version\": \"1.6.18\",\n \"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n \"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"media-typer\": \"0.3.0\",\n \"mime-types\": \"~2.1.24\"\n },\n \"engines\": {\n \"node\": \">= 0.6\"\n }\n },\n \"node_modules/typed-array-buffer\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz\",\n \"integrity\": \"sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/typed-array-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typed-array-byte-offset\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz\",\n \"integrity\": \"sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typed-array-length\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz\",\n \"integrity\": \"sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\",\n \"possible-typed-array-names\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typedarray-to-buffer\": {\n \"version\": \"3.1.5\",\n \"resolved\": \"https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz\",\n \"integrity\": \"sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-typedarray\": \"^1.0.0\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"4.9.5\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz\",\n \"integrity\": \"sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=4.2.0\"\n }\n },\n \"node_modules/unbox-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.2\",\n \"has-bigints\": \"^1.0.2\",\n \"has-symbols\": \"^1.0.3\",\n \"which-boxed-primitive\": \"^1.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/underscore\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz\",\n \"integrity\": \"sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/unicode-canonical-property-names-ecmascript\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz\",\n \"integrity\": \"sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unicode-match-property-ecmascript\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz\",\n \"integrity\": \"sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"unicode-canonical-property-names-ecmascript\": \"^2.0.0\",\n \"unicode-property-aliases-ecmascript\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unicode-match-property-value-ecmascript\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz\",\n \"integrity\": \"sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unicode-property-aliases-ecmascript\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz\",\n \"integrity\": \"sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/unique-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz\",\n \"integrity\": \"sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"crypto-random-string\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/universalify\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz\",\n \"integrity\": \"sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==\",\n \"engines\": {\n \"node\": \">= 10.0.0\"\n }\n },\n \"node_modules/unpipe\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n \"integrity\": \"sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/unquote\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz\",\n \"integrity\": \"sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/upath\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/upath/-/upath-1.2.0.tgz\",\n \"integrity\": \"sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\",\n \"yarn\": \"*\"\n }\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz\",\n \"integrity\": \"sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"dependencies\": {\n \"escalade\": \"^3.1.2\",\n \"picocolors\": \"^1.0.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/uri-js\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz\",\n \"integrity\": \"sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"node_modules/url-parse\": {\n \"version\": \"1.5.10\",\n \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",\n \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"querystringify\": \"^2.1.1\",\n \"requires-port\": \"^1.0.0\"\n }\n },\n \"node_modules/util-deprecate\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n \"integrity\": \"sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/util.promisify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz\",\n \"integrity\": \"sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.2\",\n \"has-symbols\": \"^1.0.1\",\n \"object.getownpropertydescriptors\": \"^2.1.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/utila\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/utila/-/utila-0.4.0.tgz\",\n \"integrity\": \"sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/utils-merge\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n \"integrity\": \"sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4.0\"\n }\n },\n \"node_modules/uuid\": {\n \"version\": \"8.3.2\",\n \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",\n \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"uuid\": \"dist/bin/uuid\"\n }\n },\n \"node_modules/v8-to-istanbul\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz\",\n \"integrity\": \"sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.1\",\n \"convert-source-map\": \"^1.6.0\",\n \"source-map\": \"^0.7.3\"\n },\n \"engines\": {\n \"node\": \">=10.12.0\"\n }\n },\n \"node_modules/v8-to-istanbul/node_modules/convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/vary\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n \"integrity\": \"sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8\"\n }\n },\n \"node_modules/void-elements\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz\",\n \"integrity\": \"sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/w3c-hr-time\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz\",\n \"integrity\": \"sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==\",\n \"deprecated\": \"Use your platform's native performance.now() and performance.timeOrigin.\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"browser-process-hrtime\": \"^1.0.0\"\n }\n },\n \"node_modules/w3c-xmlserializer\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz\",\n \"integrity\": \"sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"xml-name-validator\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/walker\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/walker/-/walker-1.0.8.tgz\",\n \"integrity\": \"sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"makeerror\": \"1.0.12\"\n }\n },\n \"node_modules/watchpack\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz\",\n \"integrity\": \"sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.1.2\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/wbuf\": {\n \"version\": \"1.7.3\",\n \"resolved\": \"https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz\",\n \"integrity\": \"sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimalistic-assert\": \"^1.0.0\"\n }\n },\n \"node_modules/web-vitals\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz\",\n \"integrity\": \"sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==\"\n },\n \"node_modules/webidl-conversions\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz\",\n \"integrity\": \"sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=10.4\"\n }\n },\n \"node_modules/webpack\": {\n \"version\": \"5.94.0\",\n \"resolved\": \"https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz\",\n \"integrity\": \"sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.5\",\n \"@webassemblyjs/ast\": \"^1.12.1\",\n \"@webassemblyjs/wasm-edit\": \"^1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"^1.12.1\",\n \"acorn\": \"^8.7.1\",\n \"acorn-import-attributes\": \"^1.9.5\",\n \"browserslist\": \"^4.21.10\",\n \"chrome-trace-event\": \"^1.0.2\",\n \"enhanced-resolve\": \"^5.17.1\",\n \"es-module-lexer\": \"^1.2.1\",\n \"eslint-scope\": \"5.1.1\",\n \"events\": \"^3.2.0\",\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.2.11\",\n \"json-parse-even-better-errors\": \"^2.3.1\",\n \"loader-runner\": \"^4.2.0\",\n \"mime-types\": \"^2.1.27\",\n \"neo-async\": \"^2.6.2\",\n \"schema-utils\": \"^3.2.0\",\n \"tapable\": \"^2.1.1\",\n \"terser-webpack-plugin\": \"^5.3.10\",\n \"watchpack\": \"^2.4.1\",\n \"webpack-sources\": \"^3.2.3\"\n },\n \"bin\": {\n \"webpack\": \"bin/webpack.js\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependenciesMeta\": {\n \"webpack-cli\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/webpack-dev-middleware\": {\n \"version\": \"5.3.4\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz\",\n \"integrity\": \"sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"colorette\": \"^2.0.10\",\n \"memfs\": \"^3.4.3\",\n \"mime-types\": \"^2.1.31\",\n \"range-parser\": \"^1.2.1\",\n \"schema-utils\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.0.0 || ^5.0.0\"\n }\n },\n \"node_modules/webpack-dev-server\": {\n \"version\": \"4.15.2\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz\",\n \"integrity\": \"sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/bonjour\": \"^3.5.9\",\n \"@types/connect-history-api-fallback\": \"^1.3.5\",\n \"@types/express\": \"^4.17.13\",\n \"@types/serve-index\": \"^1.9.1\",\n \"@types/serve-static\": \"^1.13.10\",\n \"@types/sockjs\": \"^0.3.33\",\n \"@types/ws\": \"^8.5.5\",\n \"ansi-html-community\": \"^0.0.8\",\n \"bonjour-service\": \"^1.0.11\",\n \"chokidar\": \"^3.5.3\",\n \"colorette\": \"^2.0.10\",\n \"compression\": \"^1.7.4\",\n \"connect-history-api-fallback\": \"^2.0.0\",\n \"default-gateway\": \"^6.0.3\",\n \"express\": \"^4.17.3\",\n \"graceful-fs\": \"^4.2.6\",\n \"html-entities\": \"^2.3.2\",\n \"http-proxy-middleware\": \"^2.0.3\",\n \"ipaddr.js\": \"^2.0.1\",\n \"launch-editor\": \"^2.6.0\",\n \"open\": \"^8.0.9\",\n \"p-retry\": \"^4.5.0\",\n \"rimraf\": \"^3.0.2\",\n \"schema-utils\": \"^4.0.0\",\n \"selfsigned\": \"^2.1.1\",\n \"serve-index\": \"^1.9.1\",\n \"sockjs\": \"^0.3.24\",\n \"spdy\": \"^4.0.2\",\n \"webpack-dev-middleware\": \"^5.3.4\",\n \"ws\": \"^8.13.0\"\n },\n \"bin\": {\n \"webpack-dev-server\": \"bin/webpack-dev-server.js\"\n },\n \"engines\": {\n \"node\": \">= 12.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.37.0 || ^5.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"webpack\": {\n \"optional\": true\n },\n \"webpack-cli\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/webpack-dev-server/node_modules/ws\": {\n \"version\": \"8.18.0\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.18.0.tgz\",\n \"integrity\": \"sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"peerDependencies\": {\n \"bufferutil\": \"^4.0.1\",\n \"utf-8-validate\": \">=5.0.2\"\n },\n \"peerDependenciesMeta\": {\n \"bufferutil\": {\n \"optional\": true\n },\n \"utf-8-validate\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/webpack-manifest-plugin\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz\",\n \"integrity\": \"sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tapable\": \"^2.0.0\",\n \"webpack-sources\": \"^2.2.0\"\n },\n \"engines\": {\n \"node\": \">=12.22.0\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.44.2 || ^5.47.0\"\n }\n },\n \"node_modules/webpack-manifest-plugin/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/webpack-manifest-plugin/node_modules/webpack-sources\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz\",\n \"integrity\": \"sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"source-list-map\": \"^2.0.1\",\n \"source-map\": \"^0.6.1\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/webpack-sources\": {\n \"version\": \"3.2.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz\",\n \"integrity\": \"sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/webpack/node_modules/eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n },\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/webpack/node_modules/estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/webpack/node_modules/schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n },\n \"engines\": {\n \"node\": \">= 10.13.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/webpack\"\n }\n },\n \"node_modules/websocket-driver\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz\",\n \"integrity\": \"sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"http-parser-js\": \">=0.5.1\",\n \"safe-buffer\": \">=5.1.0\",\n \"websocket-extensions\": \">=0.1.1\"\n },\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/websocket-extensions\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz\",\n \"integrity\": \"sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/whatwg-encoding\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz\",\n \"integrity\": \"sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"iconv-lite\": \"0.4.24\"\n }\n },\n \"node_modules/whatwg-encoding/node_modules/iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/whatwg-fetch\": {\n \"version\": \"3.6.20\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz\",\n \"integrity\": \"sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/whatwg-mimetype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz\",\n \"integrity\": \"sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==\",\n \"license\": \"MIT\"\n },\n \"node_modules/whatwg-url\": {\n \"version\": \"8.7.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz\",\n \"integrity\": \"sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lodash\": \"^4.7.0\",\n \"tr46\": \"^2.1.0\",\n \"webidl-conversions\": \"^6.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"node-which\": \"bin/node-which\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/which-boxed-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==\",\n \"dependencies\": {\n \"is-bigint\": \"^1.0.1\",\n \"is-boolean-object\": \"^1.1.0\",\n \"is-number-object\": \"^1.0.4\",\n \"is-string\": \"^1.0.5\",\n \"is-symbol\": \"^1.0.3\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-builtin-type\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz\",\n \"integrity\": \"sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"function.prototype.name\": \"^1.1.6\",\n \"has-tostringtag\": \"^1.0.2\",\n \"is-async-function\": \"^2.0.0\",\n \"is-date-object\": \"^1.0.5\",\n \"is-finalizationregistry\": \"^1.0.2\",\n \"is-generator-function\": \"^1.0.10\",\n \"is-regex\": \"^1.1.4\",\n \"is-weakref\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-collection\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz\",\n \"integrity\": \"sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==\",\n \"dependencies\": {\n \"is-map\": \"^2.0.3\",\n \"is-set\": \"^2.0.3\",\n \"is-weakmap\": \"^2.0.2\",\n \"is-weakset\": \"^2.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-typed-array\": {\n \"version\": \"1.1.15\",\n \"resolved\": \"https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz\",\n \"integrity\": \"sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==\",\n \"dependencies\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-tostringtag\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/word-wrap\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz\",\n \"integrity\": \"sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/workbox-background-sync\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz\",\n \"integrity\": \"sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-broadcast-update\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz\",\n \"integrity\": \"sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-build\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz\",\n \"integrity\": \"sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@apideck/better-ajv-errors\": \"^0.3.1\",\n \"@babel/core\": \"^7.11.1\",\n \"@babel/preset-env\": \"^7.11.0\",\n \"@babel/runtime\": \"^7.11.2\",\n \"@rollup/plugin-babel\": \"^5.2.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"@rollup/plugin-replace\": \"^2.4.1\",\n \"@surma/rollup-plugin-off-main-thread\": \"^2.2.3\",\n \"ajv\": \"^8.6.0\",\n \"common-tags\": \"^1.8.0\",\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"fs-extra\": \"^9.0.1\",\n \"glob\": \"^7.1.6\",\n \"lodash\": \"^4.17.20\",\n \"pretty-bytes\": \"^5.3.0\",\n \"rollup\": \"^2.43.1\",\n \"rollup-plugin-terser\": \"^7.0.0\",\n \"source-map\": \"^0.8.0-beta.0\",\n \"stringify-object\": \"^3.3.0\",\n \"strip-comments\": \"^2.0.1\",\n \"tempy\": \"^0.6.0\",\n \"upath\": \"^1.2.0\",\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-broadcast-update\": \"6.6.0\",\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-google-analytics\": \"6.6.0\",\n \"workbox-navigation-preload\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-range-requests\": \"6.6.0\",\n \"workbox-recipes\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\",\n \"workbox-streams\": \"6.6.0\",\n \"workbox-sw\": \"6.6.0\",\n \"workbox-window\": \"6.6.0\"\n },\n \"engines\": {\n \"node\": \">=10.0.0\"\n }\n },\n \"node_modules/workbox-build/node_modules/@apideck/better-ajv-errors\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz\",\n \"integrity\": \"sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\",\n \"jsonpointer\": \"^5.0.0\",\n \"leven\": \"^3.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"peerDependencies\": {\n \"ajv\": \">=8\"\n }\n },\n \"node_modules/workbox-build/node_modules/ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/workbox-build/node_modules/fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/workbox-build/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"license\": \"MIT\"\n },\n \"node_modules/workbox-build/node_modules/source-map\": {\n \"version\": \"0.8.0-beta.0\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz\",\n \"integrity\": \"sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==\",\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"whatwg-url\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/workbox-build/node_modules/tr46\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz\",\n \"integrity\": \"sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"node_modules/workbox-build/node_modules/webidl-conversions\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz\",\n \"integrity\": \"sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==\",\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/workbox-build/node_modules/whatwg-url\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz\",\n \"integrity\": \"sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lodash.sortby\": \"^4.7.0\",\n \"tr46\": \"^1.0.1\",\n \"webidl-conversions\": \"^4.0.2\"\n }\n },\n \"node_modules/workbox-cacheable-response\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz\",\n \"integrity\": \"sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==\",\n \"deprecated\": \"workbox-background-sync@6.6.0\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-core\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz\",\n \"integrity\": \"sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/workbox-expiration\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz\",\n \"integrity\": \"sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-google-analytics\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz\",\n \"integrity\": \"sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==\",\n \"deprecated\": \"It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-navigation-preload\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz\",\n \"integrity\": \"sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-precaching\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz\",\n \"integrity\": \"sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-range-requests\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz\",\n \"integrity\": \"sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-recipes\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz\",\n \"integrity\": \"sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-routing\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz\",\n \"integrity\": \"sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-strategies\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz\",\n \"integrity\": \"sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-streams\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz\",\n \"integrity\": \"sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\"\n }\n },\n \"node_modules/workbox-sw\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz\",\n \"integrity\": \"sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/workbox-webpack-plugin\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz\",\n \"integrity\": \"sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"pretty-bytes\": \"^5.4.1\",\n \"upath\": \"^1.2.0\",\n \"webpack-sources\": \"^1.4.3\",\n \"workbox-build\": \"6.6.0\"\n },\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"peerDependencies\": {\n \"webpack\": \"^4.4.0 || ^5.9.0\"\n }\n },\n \"node_modules/workbox-webpack-plugin/node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/workbox-webpack-plugin/node_modules/webpack-sources\": {\n \"version\": \"1.4.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz\",\n \"integrity\": \"sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"source-list-map\": \"^2.0.0\",\n \"source-map\": \"~0.6.1\"\n }\n },\n \"node_modules/workbox-window\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz\",\n \"integrity\": \"sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/trusted-types\": \"^2.0.2\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs\": {\n \"name\": \"wrap-ansi\",\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/wrap-ansi/node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi/node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/wrap-ansi/node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/wrappy\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\"\n },\n \"node_modules/write-file-atomic\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz\",\n \"integrity\": \"sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"imurmurhash\": \"^0.1.4\",\n \"is-typedarray\": \"^1.0.0\",\n \"signal-exit\": \"^3.0.2\",\n \"typedarray-to-buffer\": \"^3.1.5\"\n }\n },\n \"node_modules/ws\": {\n \"version\": \"7.5.10\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-7.5.10.tgz\",\n \"integrity\": \"sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.3.0\"\n },\n \"peerDependencies\": {\n \"bufferutil\": \"^4.0.1\",\n \"utf-8-validate\": \"^5.0.2\"\n },\n \"peerDependenciesMeta\": {\n \"bufferutil\": {\n \"optional\": true\n },\n \"utf-8-validate\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/xml-name-validator\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz\",\n \"integrity\": \"sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/xmlchars\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz\",\n \"integrity\": \"sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\"\n },\n \"node_modules/yaml\": {\n \"version\": \"1.10.2\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n \"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"16.2.0\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz\",\n \"integrity\": \"sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^7.0.2\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.0\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^20.2.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"20.2.9\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz\",\n \"integrity\": \"sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yocto-queue\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n \"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n }\n },\n \"dependencies\": {\n \"@adobe/css-tools\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz\",\n \"integrity\": \"sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==\"\n },\n \"@alloc/quick-lru\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz\",\n \"integrity\": \"sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==\"\n },\n \"@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"requires\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"@babel/code-frame\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz\",\n \"integrity\": \"sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==\",\n \"requires\": {\n \"@babel/highlight\": \"^7.24.7\",\n \"picocolors\": \"^1.0.0\"\n }\n },\n \"@babel/compat-data\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz\",\n \"integrity\": \"sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==\"\n },\n \"@babel/core\": {\n \"version\": \"7.24.9\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz\",\n \"integrity\": \"sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==\",\n \"requires\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.24.9\",\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-module-transforms\": \"^7.24.9\",\n \"@babel/helpers\": \"^7.24.8\",\n \"@babel/parser\": \"^7.24.8\",\n \"@babel/template\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.9\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/eslint-parser\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz\",\n \"integrity\": \"sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==\",\n \"requires\": {\n \"@nicolo-ribaudo/eslint-scope-5-internals\": \"5.1.1-v1\",\n \"eslint-visitor-keys\": \"^2.1.0\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"eslint-visitor-keys\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n \"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\"\n },\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/generator\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz\",\n \"integrity\": \"sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==\",\n \"requires\": {\n \"@babel/types\": \"^7.25.6\",\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\",\n \"jsesc\": \"^2.5.1\"\n }\n },\n \"@babel/helper-annotate-as-pure\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz\",\n \"integrity\": \"sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==\",\n \"requires\": {\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-builder-binary-assignment-operator-visitor\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz\",\n \"integrity\": \"sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-compilation-targets\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz\",\n \"integrity\": \"sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==\",\n \"requires\": {\n \"@babel/compat-data\": \"^7.25.2\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"browserslist\": \"^4.23.1\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/helper-create-class-features-plugin\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz\",\n \"integrity\": \"sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.4\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/helper-create-regexp-features-plugin\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz\",\n \"integrity\": \"sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"regexpu-core\": \"^5.3.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/helper-define-polyfill-provider\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz\",\n \"integrity\": \"sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==\",\n \"requires\": {\n \"@babel/helper-compilation-targets\": \"^7.22.6\",\n \"@babel/helper-plugin-utils\": \"^7.22.5\",\n \"debug\": \"^4.1.1\",\n \"lodash.debounce\": \"^4.0.8\",\n \"resolve\": \"^1.14.2\"\n }\n },\n \"@babel/helper-member-expression-to-functions\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz\",\n \"integrity\": \"sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.8\",\n \"@babel/types\": \"^7.24.8\"\n }\n },\n \"@babel/helper-module-imports\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz\",\n \"integrity\": \"sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-module-transforms\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz\",\n \"integrity\": \"sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-simple-access\": \"^7.24.7\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/helper-optimise-call-expression\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz\",\n \"integrity\": \"sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==\",\n \"requires\": {\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-plugin-utils\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz\",\n \"integrity\": \"sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==\"\n },\n \"@babel/helper-remap-async-to-generator\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz\",\n \"integrity\": \"sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-wrap-function\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/helper-replace-supers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz\",\n \"integrity\": \"sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==\",\n \"requires\": {\n \"@babel/helper-member-expression-to-functions\": \"^7.24.8\",\n \"@babel/helper-optimise-call-expression\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/helper-simple-access\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz\",\n \"integrity\": \"sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-skip-transparent-expression-wrappers\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz\",\n \"integrity\": \"sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==\",\n \"requires\": {\n \"@babel/traverse\": \"^7.24.7\",\n \"@babel/types\": \"^7.24.7\"\n }\n },\n \"@babel/helper-string-parser\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz\",\n \"integrity\": \"sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==\"\n },\n \"@babel/helper-validator-identifier\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz\",\n \"integrity\": \"sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==\"\n },\n \"@babel/helper-validator-option\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz\",\n \"integrity\": \"sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==\"\n },\n \"@babel/helper-wrap-function\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz\",\n \"integrity\": \"sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==\",\n \"requires\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n }\n },\n \"@babel/helpers\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz\",\n \"integrity\": \"sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==\",\n \"requires\": {\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n }\n },\n \"@babel/highlight\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz\",\n \"integrity\": \"sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==\",\n \"requires\": {\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"chalk\": \"^2.4.2\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.0.0\"\n }\n },\n \"@babel/parser\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz\",\n \"integrity\": \"sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==\",\n \"requires\": {\n \"@babel/types\": \"^7.25.6\"\n }\n },\n \"@babel/plugin-bugfix-firefox-class-in-computed-class-key\": {\n \"version\": \"7.25.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz\",\n \"integrity\": \"sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.3\"\n }\n },\n \"@babel/plugin-bugfix-safari-class-field-initializer-scope\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz\",\n \"integrity\": \"sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz\",\n \"integrity\": \"sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz\",\n \"integrity\": \"sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz\",\n \"integrity\": \"sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/plugin-proposal-class-properties\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz\",\n \"integrity\": \"sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n }\n },\n \"@babel/plugin-proposal-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-decorators\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-proposal-nullish-coalescing-operator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz\",\n \"integrity\": \"sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-proposal-numeric-separator\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz\",\n \"integrity\": \"sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.18.6\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-proposal-optional-chaining\": {\n \"version\": \"7.21.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz\",\n \"integrity\": \"sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.20.2\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-proposal-private-methods\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz\",\n \"integrity\": \"sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n }\n },\n \"@babel/plugin-proposal-private-property-in-object\": {\n \"version\": \"7.21.0-placeholder-for-preset-env.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz\",\n \"integrity\": \"sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==\",\n \"requires\": {}\n },\n \"@babel/plugin-syntax-async-generators\": {\n \"version\": \"7.8.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz\",\n \"integrity\": \"sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-bigint\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz\",\n \"integrity\": \"sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-class-properties\": {\n \"version\": \"7.12.13\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz\",\n \"integrity\": \"sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.12.13\"\n }\n },\n \"@babel/plugin-syntax-class-static-block\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz\",\n \"integrity\": \"sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-syntax-decorators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz\",\n \"integrity\": \"sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-syntax-dynamic-import\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz\",\n \"integrity\": \"sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-export-namespace-from\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz\",\n \"integrity\": \"sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-syntax-flow\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz\",\n \"integrity\": \"sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-syntax-import-assertions\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz\",\n \"integrity\": \"sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-syntax-import-attributes\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz\",\n \"integrity\": \"sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-syntax-import-meta\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz\",\n \"integrity\": \"sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-syntax-json-strings\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz\",\n \"integrity\": \"sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-jsx\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz\",\n \"integrity\": \"sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-syntax-logical-assignment-operators\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz\",\n \"integrity\": \"sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-syntax-nullish-coalescing-operator\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz\",\n \"integrity\": \"sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-numeric-separator\": {\n \"version\": \"7.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz\",\n \"integrity\": \"sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-syntax-object-rest-spread\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz\",\n \"integrity\": \"sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-optional-catch-binding\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz\",\n \"integrity\": \"sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-optional-chaining\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz\",\n \"integrity\": \"sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.8.0\"\n }\n },\n \"@babel/plugin-syntax-private-property-in-object\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz\",\n \"integrity\": \"sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-syntax-top-level-await\": {\n \"version\": \"7.14.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz\",\n \"integrity\": \"sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-syntax-typescript\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz\",\n \"integrity\": \"sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-syntax-unicode-sets-regex\": {\n \"version\": \"7.18.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz\",\n \"integrity\": \"sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\",\n \"@babel/helper-plugin-utils\": \"^7.18.6\"\n }\n },\n \"@babel/plugin-transform-arrow-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-async-generator-functions\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz\",\n \"integrity\": \"sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-remap-async-to-generator\": \"^7.25.0\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/traverse\": \"^7.25.4\"\n }\n },\n \"@babel/plugin-transform-async-to-generator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz\",\n \"integrity\": \"sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-remap-async-to-generator\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-block-scoped-functions\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz\",\n \"integrity\": \"sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-block-scoping\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz\",\n \"integrity\": \"sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-class-properties\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz\",\n \"integrity\": \"sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-class-static-block\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz\",\n \"integrity\": \"sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-transform-classes\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz\",\n \"integrity\": \"sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-replace-supers\": \"^7.25.0\",\n \"@babel/traverse\": \"^7.25.4\",\n \"globals\": \"^11.1.0\"\n }\n },\n \"@babel/plugin-transform-computed-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/template\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-destructuring\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz\",\n \"integrity\": \"sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-dotall-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-duplicate-keys\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz\",\n \"integrity\": \"sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-duplicate-named-capturing-groups-regex\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz\",\n \"integrity\": \"sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-dynamic-import\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz\",\n \"integrity\": \"sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-exponentiation-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==\",\n \"requires\": {\n \"@babel/helper-builder-binary-assignment-operator-visitor\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-export-namespace-from\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz\",\n \"integrity\": \"sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-flow-strip-types\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz\",\n \"integrity\": \"sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-flow\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-for-of\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz\",\n \"integrity\": \"sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-function-name\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz\",\n \"integrity\": \"sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==\",\n \"requires\": {\n \"@babel/helper-compilation-targets\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/traverse\": \"^7.25.1\"\n }\n },\n \"@babel/plugin-transform-json-strings\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz\",\n \"integrity\": \"sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-literals\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz\",\n \"integrity\": \"sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-logical-assignment-operators\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz\",\n \"integrity\": \"sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-transform-member-expression-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-modules-amd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz\",\n \"integrity\": \"sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-modules-commonjs\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz\",\n \"integrity\": \"sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.24.8\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-simple-access\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-modules-systemjs\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz\",\n \"integrity\": \"sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"@babel/traverse\": \"^7.25.0\"\n }\n },\n \"@babel/plugin-transform-modules-umd\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz\",\n \"integrity\": \"sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==\",\n \"requires\": {\n \"@babel/helper-module-transforms\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-named-capturing-groups-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-new-target\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz\",\n \"integrity\": \"sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-nullish-coalescing-operator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz\",\n \"integrity\": \"sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-numeric-separator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz\",\n \"integrity\": \"sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\"\n }\n },\n \"@babel/plugin-transform-object-rest-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==\",\n \"requires\": {\n \"@babel/helper-compilation-targets\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-object-super\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz\",\n \"integrity\": \"sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-replace-supers\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-optional-catch-binding\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz\",\n \"integrity\": \"sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-optional-chaining\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz\",\n \"integrity\": \"sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\"\n }\n },\n \"@babel/plugin-transform-parameters\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz\",\n \"integrity\": \"sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-private-methods\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz\",\n \"integrity\": \"sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==\",\n \"requires\": {\n \"@babel/helper-create-class-features-plugin\": \"^7.25.4\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-private-property-in-object\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz\",\n \"integrity\": \"sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\"\n }\n },\n \"@babel/plugin-transform-property-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-react-constant-elements\": {\n \"version\": \"7.25.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz\",\n \"integrity\": \"sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-react-display-name\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz\",\n \"integrity\": \"sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-react-jsx\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz\",\n \"integrity\": \"sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/types\": \"^7.25.2\"\n }\n },\n \"@babel/plugin-transform-react-jsx-development\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz\",\n \"integrity\": \"sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==\",\n \"requires\": {\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-react-pure-annotations\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz\",\n \"integrity\": \"sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-regenerator\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz\",\n \"integrity\": \"sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"regenerator-transform\": \"^0.15.2\"\n }\n },\n \"@babel/plugin-transform-reserved-words\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz\",\n \"integrity\": \"sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-runtime\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz\",\n \"integrity\": \"sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/plugin-transform-shorthand-properties\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz\",\n \"integrity\": \"sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-spread\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz\",\n \"integrity\": \"sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-sticky-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-template-literals\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz\",\n \"integrity\": \"sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-typeof-symbol\": {\n \"version\": \"7.24.8\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz\",\n \"integrity\": \"sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/plugin-transform-typescript\": {\n \"version\": \"7.25.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz\",\n \"integrity\": \"sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==\",\n \"requires\": {\n \"@babel/helper-annotate-as-pure\": \"^7.24.7\",\n \"@babel/helper-create-class-features-plugin\": \"^7.25.0\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.24.7\",\n \"@babel/plugin-syntax-typescript\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-escapes\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz\",\n \"integrity\": \"sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-property-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-regex\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz\",\n \"integrity\": \"sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.24.7\",\n \"@babel/helper-plugin-utils\": \"^7.24.7\"\n }\n },\n \"@babel/plugin-transform-unicode-sets-regex\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz\",\n \"integrity\": \"sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==\",\n \"requires\": {\n \"@babel/helper-create-regexp-features-plugin\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\"\n }\n },\n \"@babel/preset-env\": {\n \"version\": \"7.25.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz\",\n \"integrity\": \"sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==\",\n \"requires\": {\n \"@babel/compat-data\": \"^7.25.4\",\n \"@babel/helper-compilation-targets\": \"^7.25.2\",\n \"@babel/helper-plugin-utils\": \"^7.24.8\",\n \"@babel/helper-validator-option\": \"^7.24.8\",\n \"@babel/plugin-bugfix-firefox-class-in-computed-class-key\": \"^7.25.3\",\n \"@babel/plugin-bugfix-safari-class-field-initializer-scope\": \"^7.25.0\",\n \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": \"^7.25.0\",\n \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": \"^7.24.7\",\n \"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly\": \"^7.25.0\",\n \"@babel/plugin-proposal-private-property-in-object\": \"7.21.0-placeholder-for-preset-env.2\",\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-assertions\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\",\n \"@babel/plugin-syntax-unicode-sets-regex\": \"^7.18.6\",\n \"@babel/plugin-transform-arrow-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-async-generator-functions\": \"^7.25.4\",\n \"@babel/plugin-transform-async-to-generator\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoped-functions\": \"^7.24.7\",\n \"@babel/plugin-transform-block-scoping\": \"^7.25.0\",\n \"@babel/plugin-transform-class-properties\": \"^7.25.4\",\n \"@babel/plugin-transform-class-static-block\": \"^7.24.7\",\n \"@babel/plugin-transform-classes\": \"^7.25.4\",\n \"@babel/plugin-transform-computed-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-destructuring\": \"^7.24.8\",\n \"@babel/plugin-transform-dotall-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-keys\": \"^7.24.7\",\n \"@babel/plugin-transform-duplicate-named-capturing-groups-regex\": \"^7.25.0\",\n \"@babel/plugin-transform-dynamic-import\": \"^7.24.7\",\n \"@babel/plugin-transform-exponentiation-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-export-namespace-from\": \"^7.24.7\",\n \"@babel/plugin-transform-for-of\": \"^7.24.7\",\n \"@babel/plugin-transform-function-name\": \"^7.25.1\",\n \"@babel/plugin-transform-json-strings\": \"^7.24.7\",\n \"@babel/plugin-transform-literals\": \"^7.25.2\",\n \"@babel/plugin-transform-logical-assignment-operators\": \"^7.24.7\",\n \"@babel/plugin-transform-member-expression-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-amd\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.8\",\n \"@babel/plugin-transform-modules-systemjs\": \"^7.25.0\",\n \"@babel/plugin-transform-modules-umd\": \"^7.24.7\",\n \"@babel/plugin-transform-named-capturing-groups-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-new-target\": \"^7.24.7\",\n \"@babel/plugin-transform-nullish-coalescing-operator\": \"^7.24.7\",\n \"@babel/plugin-transform-numeric-separator\": \"^7.24.7\",\n \"@babel/plugin-transform-object-rest-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-object-super\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-catch-binding\": \"^7.24.7\",\n \"@babel/plugin-transform-optional-chaining\": \"^7.24.8\",\n \"@babel/plugin-transform-parameters\": \"^7.24.7\",\n \"@babel/plugin-transform-private-methods\": \"^7.25.4\",\n \"@babel/plugin-transform-private-property-in-object\": \"^7.24.7\",\n \"@babel/plugin-transform-property-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-regenerator\": \"^7.24.7\",\n \"@babel/plugin-transform-reserved-words\": \"^7.24.7\",\n \"@babel/plugin-transform-shorthand-properties\": \"^7.24.7\",\n \"@babel/plugin-transform-spread\": \"^7.24.7\",\n \"@babel/plugin-transform-sticky-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-template-literals\": \"^7.24.7\",\n \"@babel/plugin-transform-typeof-symbol\": \"^7.24.8\",\n \"@babel/plugin-transform-unicode-escapes\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-property-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-regex\": \"^7.24.7\",\n \"@babel/plugin-transform-unicode-sets-regex\": \"^7.25.4\",\n \"@babel/preset-modules\": \"0.1.6-no-external-plugins\",\n \"babel-plugin-polyfill-corejs2\": \"^0.4.10\",\n \"babel-plugin-polyfill-corejs3\": \"^0.10.6\",\n \"babel-plugin-polyfill-regenerator\": \"^0.6.1\",\n \"core-js-compat\": \"^3.37.1\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"@babel/preset-modules\": {\n \"version\": \"0.1.6-no-external-plugins\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz\",\n \"integrity\": \"sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@babel/types\": \"^7.4.4\",\n \"esutils\": \"^2.0.2\"\n }\n },\n \"@babel/preset-react\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz\",\n \"integrity\": \"sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-transform-react-display-name\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-react-jsx-development\": \"^7.24.7\",\n \"@babel/plugin-transform-react-pure-annotations\": \"^7.24.7\"\n }\n },\n \"@babel/preset-typescript\": {\n \"version\": \"7.24.7\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz\",\n \"integrity\": \"sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.24.7\",\n \"@babel/helper-validator-option\": \"^7.24.7\",\n \"@babel/plugin-syntax-jsx\": \"^7.24.7\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.24.7\",\n \"@babel/plugin-transform-typescript\": \"^7.24.7\"\n }\n },\n \"@babel/regjsgen\": {\n \"version\": \"0.8.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz\",\n \"integrity\": \"sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==\"\n },\n \"@babel/runtime\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz\",\n \"integrity\": \"sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==\",\n \"requires\": {\n \"regenerator-runtime\": \"^0.14.0\"\n }\n },\n \"@babel/template\": {\n \"version\": \"7.25.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz\",\n \"integrity\": \"sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/parser\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.0\"\n }\n },\n \"@babel/traverse\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz\",\n \"integrity\": \"sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.24.7\",\n \"@babel/generator\": \"^7.25.6\",\n \"@babel/parser\": \"^7.25.6\",\n \"@babel/template\": \"^7.25.0\",\n \"@babel/types\": \"^7.25.6\",\n \"debug\": \"^4.3.1\",\n \"globals\": \"^11.1.0\"\n }\n },\n \"@babel/types\": {\n \"version\": \"7.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz\",\n \"integrity\": \"sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==\",\n \"requires\": {\n \"@babel/helper-string-parser\": \"^7.24.8\",\n \"@babel/helper-validator-identifier\": \"^7.24.7\",\n \"to-fast-properties\": \"^2.0.0\"\n }\n },\n \"@bcoe/v8-coverage\": {\n \"version\": \"0.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz\",\n \"integrity\": \"sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==\"\n },\n \"@csstools/normalize.css\": {\n \"version\": \"12.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz\",\n \"integrity\": \"sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==\"\n },\n \"@csstools/postcss-cascade-layers\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz\",\n \"integrity\": \"sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==\",\n \"requires\": {\n \"@csstools/selector-specificity\": \"^2.0.2\",\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"@csstools/postcss-color-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz\",\n \"integrity\": \"sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-font-format-keywords\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz\",\n \"integrity\": \"sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-hwb-function\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz\",\n \"integrity\": \"sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-ic-unit\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz\",\n \"integrity\": \"sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-is-pseudo-class\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz\",\n \"integrity\": \"sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==\",\n \"requires\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"@csstools/postcss-nested-calc\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz\",\n \"integrity\": \"sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-normalize-display-values\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz\",\n \"integrity\": \"sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-oklab-function\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz\",\n \"integrity\": \"sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-progressive-custom-properties\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz\",\n \"integrity\": \"sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-stepped-value-functions\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz\",\n \"integrity\": \"sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-text-decoration-shorthand\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz\",\n \"integrity\": \"sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-trigonometric-functions\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz\",\n \"integrity\": \"sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"@csstools/postcss-unset-value\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz\",\n \"integrity\": \"sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==\",\n \"requires\": {}\n },\n \"@csstools/selector-specificity\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz\",\n \"integrity\": \"sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==\",\n \"requires\": {}\n },\n \"@emotion/babel-plugin\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz\",\n \"integrity\": \"sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.16.7\",\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/serialize\": \"^1.2.0\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"convert-source-map\": \"^1.5.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"find-root\": \"^1.1.0\",\n \"source-map\": \"^0.5.7\",\n \"stylis\": \"4.2.0\"\n },\n \"dependencies\": {\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"\n },\n \"source-map\": {\n \"version\": \"0.5.7\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n \"integrity\": \"sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==\"\n }\n }\n },\n \"@emotion/cache\": {\n \"version\": \"11.13.1\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz\",\n \"integrity\": \"sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==\",\n \"requires\": {\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/sheet\": \"^1.4.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"stylis\": \"4.2.0\"\n }\n },\n \"@emotion/hash\": {\n \"version\": \"0.9.2\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz\",\n \"integrity\": \"sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==\"\n },\n \"@emotion/is-prop-valid\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz\",\n \"integrity\": \"sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==\",\n \"requires\": {\n \"@emotion/memoize\": \"^0.9.0\"\n }\n },\n \"@emotion/memoize\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz\",\n \"integrity\": \"sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==\"\n },\n \"@emotion/react\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/react/-/react-11.13.0.tgz\",\n \"integrity\": \"sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/cache\": \"^11.13.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"@emotion/weak-memoize\": \"^0.4.0\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n }\n },\n \"@emotion/serialize\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.0.tgz\",\n \"integrity\": \"sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA==\",\n \"requires\": {\n \"@emotion/hash\": \"^0.9.2\",\n \"@emotion/memoize\": \"^0.9.0\",\n \"@emotion/unitless\": \"^0.9.0\",\n \"@emotion/utils\": \"^1.4.0\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"@emotion/sheet\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz\",\n \"integrity\": \"sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==\"\n },\n \"@emotion/styled\": {\n \"version\": \"11.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz\",\n \"integrity\": \"sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.12.0\",\n \"@emotion/is-prop-valid\": \"^1.3.0\",\n \"@emotion/serialize\": \"^1.3.0\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.1.0\",\n \"@emotion/utils\": \"^1.4.0\"\n }\n },\n \"@emotion/unitless\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/unitless/-/unitless-0.9.0.tgz\",\n \"integrity\": \"sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==\"\n },\n \"@emotion/use-insertion-effect-with-fallbacks\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz\",\n \"integrity\": \"sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==\",\n \"requires\": {}\n },\n \"@emotion/utils\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz\",\n \"integrity\": \"sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==\"\n },\n \"@emotion/weak-memoize\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz\",\n \"integrity\": \"sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==\"\n },\n \"@eslint-community/eslint-utils\": {\n \"version\": \"4.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n \"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n \"requires\": {\n \"eslint-visitor-keys\": \"^3.3.0\"\n }\n },\n \"@eslint-community/regexpp\": {\n \"version\": \"4.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz\",\n \"integrity\": \"sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==\"\n },\n \"@eslint/eslintrc\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz\",\n \"integrity\": \"sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==\",\n \"requires\": {\n \"ajv\": \"^6.12.4\",\n \"debug\": \"^4.3.2\",\n \"espree\": \"^9.6.0\",\n \"globals\": \"^13.19.0\",\n \"ignore\": \"^5.2.0\",\n \"import-fresh\": \"^3.2.1\",\n \"js-yaml\": \"^4.1.0\",\n \"minimatch\": \"^3.1.2\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\"\n },\n \"globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"requires\": {\n \"type-fest\": \"^0.20.2\"\n }\n },\n \"js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"requires\": {\n \"argparse\": \"^2.0.1\"\n }\n },\n \"type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\"\n }\n }\n },\n \"@eslint/js\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz\",\n \"integrity\": \"sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==\"\n },\n \"@floating-ui/core\": {\n \"version\": \"1.6.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz\",\n \"integrity\": \"sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==\",\n \"peer\": true,\n \"requires\": {\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"@floating-ui/dom\": {\n \"version\": \"1.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.8.tgz\",\n \"integrity\": \"sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==\",\n \"peer\": true,\n \"requires\": {\n \"@floating-ui/core\": \"^1.6.0\",\n \"@floating-ui/utils\": \"^0.2.5\"\n }\n },\n \"@floating-ui/react-dom\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz\",\n \"integrity\": \"sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==\",\n \"peer\": true,\n \"requires\": {\n \"@floating-ui/dom\": \"^1.0.0\"\n }\n },\n \"@floating-ui/utils\": {\n \"version\": \"0.2.5\",\n \"resolved\": \"https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz\",\n \"integrity\": \"sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==\",\n \"peer\": true\n },\n \"@humanwhocodes/config-array\": {\n \"version\": \"0.13.0\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz\",\n \"integrity\": \"sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==\",\n \"requires\": {\n \"@humanwhocodes/object-schema\": \"^2.0.3\",\n \"debug\": \"^4.3.1\",\n \"minimatch\": \"^3.0.5\"\n }\n },\n \"@humanwhocodes/module-importer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n \"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\"\n },\n \"@humanwhocodes/object-schema\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz\",\n \"integrity\": \"sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==\"\n },\n \"@isaacs/cliui\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz\",\n \"integrity\": \"sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==\",\n \"requires\": {\n \"string-width\": \"^5.1.2\",\n \"string-width-cjs\": \"npm:string-width@^4.2.0\",\n \"strip-ansi\": \"^7.0.1\",\n \"strip-ansi-cjs\": \"npm:strip-ansi@^6.0.1\",\n \"wrap-ansi\": \"^8.1.0\",\n \"wrap-ansi-cjs\": \"npm:wrap-ansi@^7.0.0\"\n },\n \"dependencies\": {\n \"ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\"\n },\n \"ansi-styles\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz\",\n \"integrity\": \"sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==\"\n },\n \"string-width\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz\",\n \"integrity\": \"sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==\",\n \"requires\": {\n \"eastasianwidth\": \"^0.2.0\",\n \"emoji-regex\": \"^9.2.2\",\n \"strip-ansi\": \"^7.0.1\"\n }\n },\n \"strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"requires\": {\n \"ansi-regex\": \"^6.0.1\"\n }\n },\n \"wrap-ansi\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz\",\n \"integrity\": \"sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==\",\n \"requires\": {\n \"ansi-styles\": \"^6.1.0\",\n \"string-width\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n }\n }\n }\n },\n \"@istanbuljs/load-nyc-config\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz\",\n \"integrity\": \"sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==\",\n \"requires\": {\n \"camelcase\": \"^5.3.1\",\n \"find-up\": \"^4.1.0\",\n \"get-package-type\": \"^0.1.0\",\n \"js-yaml\": \"^3.13.1\",\n \"resolve-from\": \"^5.0.0\"\n },\n \"dependencies\": {\n \"camelcase\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n \"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\"\n }\n }\n },\n \"@istanbuljs/schema\": {\n \"version\": \"0.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz\",\n \"integrity\": \"sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==\"\n },\n \"@jest/console\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz\",\n \"integrity\": \"sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/core\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz\",\n \"integrity\": \"sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==\",\n \"requires\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/reporters\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-changed-files\": \"^27.5.1\",\n \"jest-config\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-resolve-dependencies\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"jest-watcher\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"rimraf\": \"^3.0.0\",\n \"slash\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/environment\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz\",\n \"integrity\": \"sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==\",\n \"requires\": {\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\"\n }\n },\n \"@jest/fake-timers\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz\",\n \"integrity\": \"sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@sinonjs/fake-timers\": \"^8.0.1\",\n \"@types/node\": \"*\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n }\n },\n \"@jest/globals\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz\",\n \"integrity\": \"sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"expect\": \"^27.5.1\"\n }\n },\n \"@jest/reporters\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz\",\n \"integrity\": \"sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==\",\n \"requires\": {\n \"@bcoe/v8-coverage\": \"^0.2.3\",\n \"@jest/console\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"exit\": \"^0.1.2\",\n \"glob\": \"^7.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"istanbul-lib-instrument\": \"^5.1.0\",\n \"istanbul-lib-report\": \"^3.0.0\",\n \"istanbul-lib-source-maps\": \"^4.0.0\",\n \"istanbul-reports\": \"^3.1.3\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.0\",\n \"string-length\": \"^4.0.1\",\n \"terminal-link\": \"^2.0.0\",\n \"v8-to-istanbul\": \"^8.1.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/schemas\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz\",\n \"integrity\": \"sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==\",\n \"requires\": {\n \"@sinclair/typebox\": \"^0.24.1\"\n }\n },\n \"@jest/source-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz\",\n \"integrity\": \"sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==\",\n \"requires\": {\n \"callsites\": \"^3.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"source-map\": \"^0.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"@jest/test-result\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz\",\n \"integrity\": \"sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==\",\n \"requires\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n }\n },\n \"@jest/test-sequencer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz\",\n \"integrity\": \"sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==\",\n \"requires\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\"\n }\n },\n \"@jest/transform\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz\",\n \"integrity\": \"sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==\",\n \"requires\": {\n \"@babel/core\": \"^7.1.0\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"chalk\": \"^4.0.0\",\n \"convert-source-map\": \"^1.4.0\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"pirates\": \"^4.0.4\",\n \"slash\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\",\n \"write-file-atomic\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jest/types\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz\",\n \"integrity\": \"sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==\",\n \"requires\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^16.0.0\",\n \"chalk\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@jridgewell/gen-mapping\": {\n \"version\": \"0.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz\",\n \"integrity\": \"sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==\",\n \"requires\": {\n \"@jridgewell/set-array\": \"^1.2.1\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.10\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\"\n },\n \"@jridgewell/set-array\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz\",\n \"integrity\": \"sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==\"\n },\n \"@jridgewell/source-map\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz\",\n \"integrity\": \"sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==\",\n \"requires\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.25\"\n }\n },\n \"@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz\",\n \"integrity\": \"sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==\"\n },\n \"@jridgewell/trace-mapping\": {\n \"version\": \"0.3.25\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz\",\n \"integrity\": \"sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==\",\n \"requires\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"@leichtgewicht/ip-codec\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz\",\n \"integrity\": \"sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==\"\n },\n \"@mui/base\": {\n \"version\": \"5.0.0-beta.40\",\n \"resolved\": \"https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz\",\n \"integrity\": \"sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==\",\n \"peer\": true,\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@floating-ui/react-dom\": \"^2.0.8\",\n \"@mui/types\": \"^7.2.14\",\n \"@mui/utils\": \"^5.15.14\",\n \"@popperjs/core\": \"^2.11.8\",\n \"clsx\": \"^2.1.0\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/core-downloads-tracker\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.5.tgz\",\n \"integrity\": \"sha512-ziFn1oPm6VjvHQcdGcAO+fXvOQEgieIj0BuSqcltFU+JXIxjPdVYNTdn2HU7/Ak5Gabk6k2u7+9PV7oZ6JT5sA==\"\n },\n \"@mui/icons-material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.5.tgz\",\n \"integrity\": \"sha512-bn88xxU/J9UV0s6+eutq7o3TTOrOlbCX+KshFb8kxgIxJZZfYz3JbAXVMivvoMF4Md6jCVUzM9HEkf4Ajab4tw==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\"\n }\n },\n \"@mui/material\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/material/-/material-5.16.5.tgz\",\n \"integrity\": \"sha512-eQrjjg4JeczXvh/+8yvJkxWIiKNHVptB/AqpsKfZBWp5mUD5U3VsjODMuUl1K2BSq0omV3CiO/mQmWSSMKSmaA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/core-downloads-tracker\": \"^5.16.5\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"@popperjs/core\": \"^2.11.8\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\",\n \"react-transition-group\": \"^4.4.5\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n }\n }\n },\n \"@mui/private-theming\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.5.tgz\",\n \"integrity\": \"sha512-CSLg0YkpDqg0aXOxtjo3oTMd3XWMxvNb5d0v4AYVqwOltU8q6GvnZjhWyCLjGSCrcgfwm6/VDjaKLPlR14wxIA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/utils\": \"^5.16.5\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/styled-engine\": {\n \"version\": \"5.16.4\",\n \"resolved\": \"https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.4.tgz\",\n \"integrity\": \"sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@emotion/cache\": \"^11.11.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/system\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/system/-/system-5.16.5.tgz\",\n \"integrity\": \"sha512-uzIUGdrWddUx1HPxW4+B2o4vpgKyRxGe/8BxbfXVDPNPHX75c782TseoCnR/VyfnZJfqX87GcxDmnZEE1c031g==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/private-theming\": \"^5.16.5\",\n \"@mui/styled-engine\": \"^5.16.4\",\n \"@mui/types\": \"^7.2.15\",\n \"@mui/utils\": \"^5.16.5\",\n \"clsx\": \"^2.1.0\",\n \"csstype\": \"^3.1.3\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"@mui/types\": {\n \"version\": \"7.2.15\",\n \"resolved\": \"https://registry.npmjs.org/@mui/types/-/types-7.2.15.tgz\",\n \"integrity\": \"sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==\",\n \"requires\": {}\n },\n \"@mui/utils\": {\n \"version\": \"5.16.5\",\n \"resolved\": \"https://registry.npmjs.org/@mui/utils/-/utils-5.16.5.tgz\",\n \"integrity\": \"sha512-CwhcA9y44XwK7k2joL3Y29mRUnoBt+gOZZdGyw7YihbEwEErJYBtDwbZwVgH68zAljGe/b+Kd5bzfl63Gi3R2A==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.23.9\",\n \"@mui/types\": \"^7.2.15\",\n \"@types/prop-types\": \"^15.7.12\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-is\": \"^18.3.1\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n }\n }\n },\n \"@mui/x-date-pickers\": {\n \"version\": \"7.11.1\",\n \"resolved\": \"https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.11.1.tgz\",\n \"integrity\": \"sha512-CflouzTNSv0YeOA8iiYpJMtqGlwGC8LI9EE9egDGhatR9Mn5geRDTXsm0rRG/4pMOfaRxyJc6Yzr/axBhEXM7w==\",\n \"peer\": true,\n \"requires\": {\n \"@babel/runtime\": \"^7.24.8\",\n \"@mui/base\": \"^5.0.0-beta.40\",\n \"@mui/system\": \"^5.16.5\",\n \"@mui/utils\": \"^5.16.5\",\n \"@types/react-transition-group\": \"^4.4.10\",\n \"clsx\": \"^2.1.1\",\n \"prop-types\": \"^15.8.1\",\n \"react-transition-group\": \"^4.4.5\"\n }\n },\n \"@nicolo-ribaudo/eslint-scope-5-internals\": {\n \"version\": \"5.1.1-v1\",\n \"resolved\": \"https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz\",\n \"integrity\": \"sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==\",\n \"requires\": {\n \"eslint-scope\": \"5.1.1\"\n },\n \"dependencies\": {\n \"eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n }\n }\n },\n \"@nodelib/fs.scandir\": {\n \"version\": \"2.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n \"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n \"requires\": {\n \"@nodelib/fs.stat\": \"2.0.5\",\n \"run-parallel\": \"^1.1.9\"\n }\n },\n \"@nodelib/fs.stat\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n \"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\"\n },\n \"@nodelib/fs.walk\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n \"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n \"requires\": {\n \"@nodelib/fs.scandir\": \"2.1.5\",\n \"fastq\": \"^1.6.0\"\n }\n },\n \"@pkgjs/parseargs\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz\",\n \"integrity\": \"sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==\",\n \"optional\": true\n },\n \"@pmmmwh/react-refresh-webpack-plugin\": {\n \"version\": \"0.5.15\",\n \"resolved\": \"https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz\",\n \"integrity\": \"sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==\",\n \"requires\": {\n \"ansi-html\": \"^0.0.9\",\n \"core-js-pure\": \"^3.23.3\",\n \"error-stack-parser\": \"^2.0.6\",\n \"html-entities\": \"^2.1.0\",\n \"loader-utils\": \"^2.0.4\",\n \"schema-utils\": \"^4.2.0\",\n \"source-map\": \"^0.7.3\"\n }\n },\n \"@popperjs/core\": {\n \"version\": \"2.11.8\",\n \"resolved\": \"https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz\",\n \"integrity\": \"sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==\"\n },\n \"@rollup/plugin-babel\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz\",\n \"integrity\": \"sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==\",\n \"requires\": {\n \"@babel/helper-module-imports\": \"^7.10.4\",\n \"@rollup/pluginutils\": \"^3.1.0\"\n }\n },\n \"@rollup/plugin-node-resolve\": {\n \"version\": \"11.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz\",\n \"integrity\": \"sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==\",\n \"requires\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"@types/resolve\": \"1.17.1\",\n \"builtin-modules\": \"^3.1.0\",\n \"deepmerge\": \"^4.2.2\",\n \"is-module\": \"^1.0.0\",\n \"resolve\": \"^1.19.0\"\n }\n },\n \"@rollup/plugin-replace\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz\",\n \"integrity\": \"sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==\",\n \"requires\": {\n \"@rollup/pluginutils\": \"^3.1.0\",\n \"magic-string\": \"^0.25.7\"\n }\n },\n \"@rollup/pluginutils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz\",\n \"integrity\": \"sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==\",\n \"requires\": {\n \"@types/estree\": \"0.0.39\",\n \"estree-walker\": \"^1.0.1\",\n \"picomatch\": \"^2.2.2\"\n },\n \"dependencies\": {\n \"@types/estree\": {\n \"version\": \"0.0.39\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz\",\n \"integrity\": \"sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==\"\n }\n }\n },\n \"@rtsao/scc\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz\",\n \"integrity\": \"sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==\"\n },\n \"@rushstack/eslint-patch\": {\n \"version\": \"1.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz\",\n \"integrity\": \"sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==\"\n },\n \"@sinclair/typebox\": {\n \"version\": \"0.24.51\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz\",\n \"integrity\": \"sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==\"\n },\n \"@sinonjs/commons\": {\n \"version\": \"1.8.6\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz\",\n \"integrity\": \"sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==\",\n \"requires\": {\n \"type-detect\": \"4.0.8\"\n }\n },\n \"@sinonjs/fake-timers\": {\n \"version\": \"8.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz\",\n \"integrity\": \"sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==\",\n \"requires\": {\n \"@sinonjs/commons\": \"^1.7.0\"\n }\n },\n \"@surma/rollup-plugin-off-main-thread\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz\",\n \"integrity\": \"sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==\",\n \"requires\": {\n \"ejs\": \"^3.1.6\",\n \"json5\": \"^2.2.0\",\n \"magic-string\": \"^0.25.0\",\n \"string.prototype.matchall\": \"^4.0.6\"\n }\n },\n \"@svgr/babel-plugin-add-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==\"\n },\n \"@svgr/babel-plugin-remove-jsx-attribute\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz\",\n \"integrity\": \"sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==\"\n },\n \"@svgr/babel-plugin-remove-jsx-empty-expression\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz\",\n \"integrity\": \"sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==\"\n },\n \"@svgr/babel-plugin-replace-jsx-attribute-value\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz\",\n \"integrity\": \"sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==\"\n },\n \"@svgr/babel-plugin-svg-dynamic-title\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz\",\n \"integrity\": \"sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==\"\n },\n \"@svgr/babel-plugin-svg-em-dimensions\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz\",\n \"integrity\": \"sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==\"\n },\n \"@svgr/babel-plugin-transform-react-native-svg\": {\n \"version\": \"5.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz\",\n \"integrity\": \"sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==\"\n },\n \"@svgr/babel-plugin-transform-svg-component\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz\",\n \"integrity\": \"sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==\"\n },\n \"@svgr/babel-preset\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz\",\n \"integrity\": \"sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==\",\n \"requires\": {\n \"@svgr/babel-plugin-add-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-attribute\": \"^5.4.0\",\n \"@svgr/babel-plugin-remove-jsx-empty-expression\": \"^5.0.1\",\n \"@svgr/babel-plugin-replace-jsx-attribute-value\": \"^5.0.1\",\n \"@svgr/babel-plugin-svg-dynamic-title\": \"^5.4.0\",\n \"@svgr/babel-plugin-svg-em-dimensions\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-react-native-svg\": \"^5.4.0\",\n \"@svgr/babel-plugin-transform-svg-component\": \"^5.5.0\"\n }\n },\n \"@svgr/core\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz\",\n \"integrity\": \"sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==\",\n \"requires\": {\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"camelcase\": \"^6.2.0\",\n \"cosmiconfig\": \"^7.0.0\"\n }\n },\n \"@svgr/hast-util-to-babel-ast\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz\",\n \"integrity\": \"sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==\",\n \"requires\": {\n \"@babel/types\": \"^7.12.6\"\n }\n },\n \"@svgr/plugin-jsx\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz\",\n \"integrity\": \"sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==\",\n \"requires\": {\n \"@babel/core\": \"^7.12.3\",\n \"@svgr/babel-preset\": \"^5.5.0\",\n \"@svgr/hast-util-to-babel-ast\": \"^5.5.0\",\n \"svg-parser\": \"^2.0.2\"\n }\n },\n \"@svgr/plugin-svgo\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz\",\n \"integrity\": \"sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==\",\n \"requires\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"svgo\": \"^1.2.2\"\n }\n },\n \"@svgr/webpack\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz\",\n \"integrity\": \"sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==\",\n \"requires\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/plugin-transform-react-constant-elements\": \"^7.12.1\",\n \"@babel/preset-env\": \"^7.12.1\",\n \"@babel/preset-react\": \"^7.12.5\",\n \"@svgr/core\": \"^5.5.0\",\n \"@svgr/plugin-jsx\": \"^5.5.0\",\n \"@svgr/plugin-svgo\": \"^5.5.0\",\n \"loader-utils\": \"^2.0.0\"\n }\n },\n \"@tanstack/match-sorter-utils\": {\n \"version\": \"8.15.1\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.15.1.tgz\",\n \"integrity\": \"sha512-PnVV3d2poenUM31ZbZi/yXkBu3J7kd5k2u51CGwwNojag451AjTH9N6n41yjXz2fpLeewleyLBmNS6+HcGDlXw==\",\n \"requires\": {\n \"remove-accents\": \"0.5.0\"\n }\n },\n \"@tanstack/react-table\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.19.3.tgz\",\n \"integrity\": \"sha512-MtgPZc4y+cCRtU16y1vh1myuyZ2OdkWgMEBzyjYsoMWMicKZGZvcDnub3Zwb6XF2pj9iRMvm1SO1n57lS0vXLw==\",\n \"requires\": {\n \"@tanstack/table-core\": \"8.19.3\"\n }\n },\n \"@tanstack/react-virtual\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.8.3.tgz\",\n \"integrity\": \"sha512-9ICwbDUUzN99CJIGc373i8NLoj6zFTKI2Hlcmo0+lCSAhPQ5mxq4dGOMKmLYoEFyHcGQ64Bd6ZVbnPpM6lNK5w==\",\n \"requires\": {\n \"@tanstack/virtual-core\": \"3.8.3\"\n }\n },\n \"@tanstack/table-core\": {\n \"version\": \"8.19.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.19.3.tgz\",\n \"integrity\": \"sha512-IqREj9ADoml9zCAouIG/5kCGoyIxPFdqdyoxis9FisXFi5vT+iYfEfLosq4xkU/iDbMcEuAj+X8dWRLvKYDNoQ==\"\n },\n \"@tanstack/virtual-core\": {\n \"version\": \"3.8.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.8.3.tgz\",\n \"integrity\": \"sha512-vd2A2TnM5lbnWZnHi9B+L2gPtkSeOtJOAw358JqokIH1+v2J7vUAzFVPwB/wrye12RFOurffXu33plm4uQ+JBQ==\"\n },\n \"@testing-library/dom\": {\n \"version\": \"10.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz\",\n \"integrity\": \"sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==\",\n \"peer\": true,\n \"requires\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.3.0\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"peer\": true,\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"aria-query\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz\",\n \"integrity\": \"sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==\",\n \"peer\": true,\n \"requires\": {\n \"dequal\": \"^2.0.3\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"peer\": true,\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"peer\": true,\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"peer\": true\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"peer\": true\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"peer\": true,\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@testing-library/jest-dom\": {\n \"version\": \"5.17.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz\",\n \"integrity\": \"sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==\",\n \"requires\": {\n \"@adobe/css-tools\": \"^4.0.1\",\n \"@babel/runtime\": \"^7.9.2\",\n \"@types/testing-library__jest-dom\": \"^5.9.1\",\n \"aria-query\": \"^5.0.0\",\n \"chalk\": \"^3.0.0\",\n \"css.escape\": \"^1.5.1\",\n \"dom-accessibility-api\": \"^0.5.6\",\n \"lodash\": \"^4.17.15\",\n \"redent\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz\",\n \"integrity\": \"sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@testing-library/react\": {\n \"version\": \"13.4.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz\",\n \"integrity\": \"sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"@testing-library/dom\": \"^8.5.0\",\n \"@types/react-dom\": \"^18.0.0\"\n },\n \"dependencies\": {\n \"@testing-library/dom\": {\n \"version\": \"8.20.1\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz\",\n \"integrity\": \"sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"@babel/runtime\": \"^7.12.5\",\n \"@types/aria-query\": \"^5.0.1\",\n \"aria-query\": \"5.1.3\",\n \"chalk\": \"^4.1.0\",\n \"dom-accessibility-api\": \"^0.5.9\",\n \"lz-string\": \"^1.5.0\",\n \"pretty-format\": \"^27.0.2\"\n }\n },\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"@testing-library/user-event\": {\n \"version\": \"13.5.0\",\n \"resolved\": \"https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz\",\n \"integrity\": \"sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.12.5\"\n }\n },\n \"@tootallnate/once\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz\",\n \"integrity\": \"sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==\"\n },\n \"@trysound/sax\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz\",\n \"integrity\": \"sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==\"\n },\n \"@tweenjs/tween.js\": {\n \"version\": \"23.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz\",\n \"integrity\": \"sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==\"\n },\n \"@types/aria-query\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz\",\n \"integrity\": \"sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==\"\n },\n \"@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"requires\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"@types/babel__generator\": {\n \"version\": \"7.6.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz\",\n \"integrity\": \"sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==\",\n \"requires\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"requires\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"@types/babel__traverse\": {\n \"version\": \"7.20.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz\",\n \"integrity\": \"sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==\",\n \"requires\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"@types/body-parser\": {\n \"version\": \"1.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz\",\n \"integrity\": \"sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==\",\n \"requires\": {\n \"@types/connect\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"@types/bonjour\": {\n \"version\": \"3.5.13\",\n \"resolved\": \"https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz\",\n \"integrity\": \"sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/connect\": {\n \"version\": \"3.4.38\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz\",\n \"integrity\": \"sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/connect-history-api-fallback\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz\",\n \"integrity\": \"sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==\",\n \"requires\": {\n \"@types/express-serve-static-core\": \"*\",\n \"@types/node\": \"*\"\n }\n },\n \"@types/eslint\": {\n \"version\": \"8.56.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz\",\n \"integrity\": \"sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==\",\n \"requires\": {\n \"@types/estree\": \"*\",\n \"@types/json-schema\": \"*\"\n }\n },\n \"@types/estree\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz\",\n \"integrity\": \"sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==\"\n },\n \"@types/express\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz\",\n \"integrity\": \"sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==\",\n \"requires\": {\n \"@types/body-parser\": \"*\",\n \"@types/express-serve-static-core\": \"^4.17.33\",\n \"@types/qs\": \"*\",\n \"@types/serve-static\": \"*\"\n }\n },\n \"@types/express-serve-static-core\": {\n \"version\": \"4.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz\",\n \"integrity\": \"sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"@types/qs\": \"*\",\n \"@types/range-parser\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"@types/graceful-fs\": {\n \"version\": \"4.1.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz\",\n \"integrity\": \"sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==\"\n },\n \"@types/http-errors\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz\",\n \"integrity\": \"sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==\"\n },\n \"@types/http-proxy\": {\n \"version\": \"1.17.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz\",\n \"integrity\": \"sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/istanbul-lib-coverage\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz\",\n \"integrity\": \"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==\"\n },\n \"@types/istanbul-lib-report\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz\",\n \"integrity\": \"sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==\",\n \"requires\": {\n \"@types/istanbul-lib-coverage\": \"*\"\n }\n },\n \"@types/istanbul-reports\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz\",\n \"integrity\": \"sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==\",\n \"requires\": {\n \"@types/istanbul-lib-report\": \"*\"\n }\n },\n \"@types/jest\": {\n \"version\": \"27.5.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz\",\n \"integrity\": \"sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==\",\n \"requires\": {\n \"jest-matcher-utils\": \"^27.0.0\",\n \"pretty-format\": \"^27.0.0\"\n }\n },\n \"@types/json-schema\": {\n \"version\": \"7.0.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz\",\n \"integrity\": \"sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==\"\n },\n \"@types/json5\": {\n \"version\": \"0.0.29\",\n \"resolved\": \"https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz\",\n \"integrity\": \"sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\"\n },\n \"@types/mime\": {\n \"version\": \"1.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz\",\n \"integrity\": \"sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==\"\n },\n \"@types/node\": {\n \"version\": \"16.18.104\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-16.18.104.tgz\",\n \"integrity\": \"sha512-OF3keVCbfPlkzxnnDBUZJn1RiCJzKeadjiW0xTEb0G1SUJ5gDVb3qnzZr2T4uIFvsbKJbXy1v2DN7e2zaEY7jQ==\"\n },\n \"@types/node-forge\": {\n \"version\": \"1.3.11\",\n \"resolved\": \"https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz\",\n \"integrity\": \"sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/parse-json\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz\",\n \"integrity\": \"sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==\"\n },\n \"@types/prettier\": {\n \"version\": \"2.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz\",\n \"integrity\": \"sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==\"\n },\n \"@types/prop-types\": {\n \"version\": \"15.7.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz\",\n \"integrity\": \"sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==\"\n },\n \"@types/q\": {\n \"version\": \"1.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz\",\n \"integrity\": \"sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==\"\n },\n \"@types/qs\": {\n \"version\": \"6.9.16\",\n \"resolved\": \"https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz\",\n \"integrity\": \"sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==\"\n },\n \"@types/range-parser\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz\",\n \"integrity\": \"sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==\"\n },\n \"@types/react\": {\n \"version\": \"18.3.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz\",\n \"integrity\": \"sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==\",\n \"requires\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"@types/react-dom\": {\n \"version\": \"18.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz\",\n \"integrity\": \"sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==\",\n \"requires\": {\n \"@types/react\": \"*\"\n }\n },\n \"@types/react-table\": {\n \"version\": \"7.7.20\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-table/-/react-table-7.7.20.tgz\",\n \"integrity\": \"sha512-ahMp4pmjVlnExxNwxyaDrFgmKxSbPwU23sGQw2gJK4EhCvnvmib2s/O/+y1dfV57dXOwpr2plfyBol+vEHbi2w==\",\n \"dev\": true,\n \"requires\": {\n \"@types/react\": \"*\"\n }\n },\n \"@types/react-transition-group\": {\n \"version\": \"4.4.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz\",\n \"integrity\": \"sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==\",\n \"requires\": {\n \"@types/react\": \"*\"\n }\n },\n \"@types/resolve\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz\",\n \"integrity\": \"sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/retry\": {\n \"version\": \"0.12.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz\",\n \"integrity\": \"sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==\"\n },\n \"@types/semver\": {\n \"version\": \"7.5.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz\",\n \"integrity\": \"sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==\"\n },\n \"@types/send\": {\n \"version\": \"0.17.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz\",\n \"integrity\": \"sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==\",\n \"requires\": {\n \"@types/mime\": \"^1\",\n \"@types/node\": \"*\"\n }\n },\n \"@types/serve-index\": {\n \"version\": \"1.9.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz\",\n \"integrity\": \"sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==\",\n \"requires\": {\n \"@types/express\": \"*\"\n }\n },\n \"@types/serve-static\": {\n \"version\": \"1.15.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz\",\n \"integrity\": \"sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==\",\n \"requires\": {\n \"@types/http-errors\": \"*\",\n \"@types/node\": \"*\",\n \"@types/send\": \"*\"\n }\n },\n \"@types/sockjs\": {\n \"version\": \"0.3.36\",\n \"resolved\": \"https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz\",\n \"integrity\": \"sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/stack-utils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz\",\n \"integrity\": \"sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==\"\n },\n \"@types/stats.js\": {\n \"version\": \"0.17.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz\",\n \"integrity\": \"sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==\",\n \"dev\": true\n },\n \"@types/testing-library__jest-dom\": {\n \"version\": \"5.14.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz\",\n \"integrity\": \"sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==\",\n \"requires\": {\n \"@types/jest\": \"*\"\n }\n },\n \"@types/three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/@types/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-OCd2Uv/8/4TbmSaIRFawrCOnDMLdpaa+QGJdhlUBmdfbHjLY8k6uFc0tde2/UvcaHQ6NtLl28onj/vJfofV+Tg==\",\n \"dev\": true,\n \"requires\": {\n \"@tweenjs/tween.js\": \"~23.1.2\",\n \"@types/stats.js\": \"*\",\n \"@types/webxr\": \"*\",\n \"fflate\": \"~0.8.2\",\n \"meshoptimizer\": \"~0.18.1\"\n }\n },\n \"@types/trusted-types\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz\",\n \"integrity\": \"sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==\"\n },\n \"@types/webxr\": {\n \"version\": \"0.5.19\",\n \"resolved\": \"https://registry.npmjs.org/@types/webxr/-/webxr-0.5.19.tgz\",\n \"integrity\": \"sha512-4hxA+NwohSgImdTSlPXEqDqqFktNgmTXQ05ff1uWam05tNGroCMp4G+4XVl6qWm1p7GQ/9oD41kAYsSssF6Mzw==\",\n \"dev\": true\n },\n \"@types/ws\": {\n \"version\": \"8.5.12\",\n \"resolved\": \"https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz\",\n \"integrity\": \"sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==\",\n \"requires\": {\n \"@types/node\": \"*\"\n }\n },\n \"@types/yargs\": {\n \"version\": \"16.0.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz\",\n \"integrity\": \"sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==\",\n \"requires\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"@types/yargs-parser\": {\n \"version\": \"21.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz\",\n \"integrity\": \"sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==\"\n },\n \"@typescript-eslint/eslint-plugin\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz\",\n \"integrity\": \"sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==\",\n \"requires\": {\n \"@eslint-community/regexpp\": \"^4.4.0\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/type-utils\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"natural-compare-lite\": \"^1.4.0\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n }\n },\n \"@typescript-eslint/experimental-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==\",\n \"requires\": {\n \"@typescript-eslint/utils\": \"5.62.0\"\n }\n },\n \"@typescript-eslint/parser\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz\",\n \"integrity\": \"sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==\",\n \"requires\": {\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"debug\": \"^4.3.4\"\n }\n },\n \"@typescript-eslint/scope-manager\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz\",\n \"integrity\": \"sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==\",\n \"requires\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\"\n }\n },\n \"@typescript-eslint/type-utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz\",\n \"integrity\": \"sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==\",\n \"requires\": {\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"@typescript-eslint/utils\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"tsutils\": \"^3.21.0\"\n }\n },\n \"@typescript-eslint/types\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz\",\n \"integrity\": \"sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==\"\n },\n \"@typescript-eslint/typescript-estree\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz\",\n \"integrity\": \"sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==\",\n \"requires\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/visitor-keys\": \"5.62.0\",\n \"debug\": \"^4.3.4\",\n \"globby\": \"^11.1.0\",\n \"is-glob\": \"^4.0.3\",\n \"semver\": \"^7.3.7\",\n \"tsutils\": \"^3.21.0\"\n }\n },\n \"@typescript-eslint/utils\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz\",\n \"integrity\": \"sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==\",\n \"requires\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@types/json-schema\": \"^7.0.9\",\n \"@types/semver\": \"^7.3.12\",\n \"@typescript-eslint/scope-manager\": \"5.62.0\",\n \"@typescript-eslint/types\": \"5.62.0\",\n \"@typescript-eslint/typescript-estree\": \"5.62.0\",\n \"eslint-scope\": \"^5.1.1\",\n \"semver\": \"^7.3.7\"\n },\n \"dependencies\": {\n \"eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n }\n }\n },\n \"@typescript-eslint/visitor-keys\": {\n \"version\": \"5.62.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz\",\n \"integrity\": \"sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==\",\n \"requires\": {\n \"@typescript-eslint/types\": \"5.62.0\",\n \"eslint-visitor-keys\": \"^3.3.0\"\n }\n },\n \"@ungap/structured-clone\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz\",\n \"integrity\": \"sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==\"\n },\n \"@webassemblyjs/ast\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz\",\n \"integrity\": \"sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==\",\n \"requires\": {\n \"@webassemblyjs/helper-numbers\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\"\n }\n },\n \"@webassemblyjs/floating-point-hex-parser\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz\",\n \"integrity\": \"sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==\"\n },\n \"@webassemblyjs/helper-api-error\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz\",\n \"integrity\": \"sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==\"\n },\n \"@webassemblyjs/helper-buffer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz\",\n \"integrity\": \"sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==\"\n },\n \"@webassemblyjs/helper-numbers\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz\",\n \"integrity\": \"sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==\",\n \"requires\": {\n \"@webassemblyjs/floating-point-hex-parser\": \"1.11.6\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"@webassemblyjs/helper-wasm-bytecode\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz\",\n \"integrity\": \"sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==\"\n },\n \"@webassemblyjs/helper-wasm-section\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz\",\n \"integrity\": \"sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\"\n }\n },\n \"@webassemblyjs/ieee754\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz\",\n \"integrity\": \"sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==\",\n \"requires\": {\n \"@xtuc/ieee754\": \"^1.2.0\"\n }\n },\n \"@webassemblyjs/leb128\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz\",\n \"integrity\": \"sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==\",\n \"requires\": {\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"@webassemblyjs/utf8\": {\n \"version\": \"1.11.6\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz\",\n \"integrity\": \"sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==\"\n },\n \"@webassemblyjs/wasm-edit\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz\",\n \"integrity\": \"sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-section\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-opt\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\",\n \"@webassemblyjs/wast-printer\": \"1.12.1\"\n }\n },\n \"@webassemblyjs/wasm-gen\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz\",\n \"integrity\": \"sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"@webassemblyjs/wasm-opt\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz\",\n \"integrity\": \"sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-buffer\": \"1.12.1\",\n \"@webassemblyjs/wasm-gen\": \"1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"1.12.1\"\n }\n },\n \"@webassemblyjs/wasm-parser\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz\",\n \"integrity\": \"sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@webassemblyjs/helper-api-error\": \"1.11.6\",\n \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.6\",\n \"@webassemblyjs/ieee754\": \"1.11.6\",\n \"@webassemblyjs/leb128\": \"1.11.6\",\n \"@webassemblyjs/utf8\": \"1.11.6\"\n }\n },\n \"@webassemblyjs/wast-printer\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz\",\n \"integrity\": \"sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==\",\n \"requires\": {\n \"@webassemblyjs/ast\": \"1.12.1\",\n \"@xtuc/long\": \"4.2.2\"\n }\n },\n \"@xtuc/ieee754\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz\",\n \"integrity\": \"sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==\"\n },\n \"@xtuc/long\": {\n \"version\": \"4.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz\",\n \"integrity\": \"sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==\"\n },\n \"3d-force-graph\": {\n \"version\": \"1.73.3\",\n \"resolved\": \"https://registry.npmjs.org/3d-force-graph/-/3d-force-graph-1.73.3.tgz\",\n \"integrity\": \"sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==\",\n \"requires\": {\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"three\": \">=0.118 <1\",\n \"three-forcegraph\": \"1\",\n \"three-render-objects\": \"^1.29\"\n }\n },\n \"abab\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/abab/-/abab-2.0.6.tgz\",\n \"integrity\": \"sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==\"\n },\n \"accepts\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz\",\n \"integrity\": \"sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==\",\n \"requires\": {\n \"mime-types\": \"~2.1.34\",\n \"negotiator\": \"0.6.3\"\n }\n },\n \"accessor-fn\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.1.tgz\",\n \"integrity\": \"sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==\"\n },\n \"acorn\": {\n \"version\": \"8.12.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz\",\n \"integrity\": \"sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==\"\n },\n \"acorn-globals\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz\",\n \"integrity\": \"sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==\",\n \"requires\": {\n \"acorn\": \"^7.1.1\",\n \"acorn-walk\": \"^7.1.1\"\n },\n \"dependencies\": {\n \"acorn\": {\n \"version\": \"7.4.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz\",\n \"integrity\": \"sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\"\n }\n }\n },\n \"acorn-import-attributes\": {\n \"version\": \"1.9.5\",\n \"resolved\": \"https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz\",\n \"integrity\": \"sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==\",\n \"requires\": {}\n },\n \"acorn-jsx\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n \"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n \"requires\": {}\n },\n \"acorn-walk\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz\",\n \"integrity\": \"sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\"\n },\n \"address\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/address/-/address-1.2.2.tgz\",\n \"integrity\": \"sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==\"\n },\n \"adjust-sourcemap-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==\",\n \"requires\": {\n \"loader-utils\": \"^2.0.0\",\n \"regex-parser\": \"^2.2.11\"\n }\n },\n \"agent-base\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz\",\n \"integrity\": \"sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==\",\n \"requires\": {\n \"debug\": \"4\"\n }\n },\n \"ajv\": {\n \"version\": \"6.12.6\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz\",\n \"integrity\": \"sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.1\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"json-schema-traverse\": \"^0.4.1\",\n \"uri-js\": \"^4.2.2\"\n }\n },\n \"ajv-formats\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz\",\n \"integrity\": \"sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==\",\n \"requires\": {\n \"ajv\": \"^8.0.0\"\n },\n \"dependencies\": {\n \"ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n }\n },\n \"json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\"\n }\n }\n },\n \"ajv-keywords\": {\n \"version\": \"3.5.2\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz\",\n \"integrity\": \"sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==\",\n \"requires\": {}\n },\n \"ansi-escapes\": {\n \"version\": \"4.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\",\n \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==\",\n \"requires\": {\n \"type-fest\": \"^0.21.3\"\n }\n },\n \"ansi-html\": {\n \"version\": \"0.0.9\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz\",\n \"integrity\": \"sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==\"\n },\n \"ansi-html-community\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz\",\n \"integrity\": \"sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==\"\n },\n \"ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\"\n },\n \"ansi-styles\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n \"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n \"requires\": {\n \"color-convert\": \"^1.9.0\"\n }\n },\n \"any-promise\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz\",\n \"integrity\": \"sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==\"\n },\n \"anymatch\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz\",\n \"integrity\": \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\",\n \"requires\": {\n \"normalize-path\": \"^3.0.0\",\n \"picomatch\": \"^2.0.4\"\n }\n },\n \"arg\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/arg/-/arg-5.0.2.tgz\",\n \"integrity\": \"sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\"\n },\n \"argparse\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n \"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n \"requires\": {\n \"sprintf-js\": \"~1.0.2\"\n }\n },\n \"aria-query\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz\",\n \"integrity\": \"sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==\",\n \"requires\": {\n \"deep-equal\": \"^2.0.5\"\n }\n },\n \"array-buffer-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.5\",\n \"is-array-buffer\": \"^3.0.4\"\n }\n },\n \"array-flatten\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n \"integrity\": \"sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==\"\n },\n \"array-includes\": {\n \"version\": \"3.1.8\",\n \"resolved\": \"https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz\",\n \"integrity\": \"sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"is-string\": \"^1.0.7\"\n }\n },\n \"array-union\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz\",\n \"integrity\": \"sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==\",\n \"dev\": true,\n \"requires\": {\n \"array-uniq\": \"^1.0.1\"\n }\n },\n \"array-uniq\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz\",\n \"integrity\": \"sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==\",\n \"dev\": true\n },\n \"array.prototype.findlast\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz\",\n \"integrity\": \"sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n }\n },\n \"array.prototype.findlastindex\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz\",\n \"integrity\": \"sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n }\n },\n \"array.prototype.flat\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz\",\n \"integrity\": \"sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n }\n },\n \"array.prototype.flatmap\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz\",\n \"integrity\": \"sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"es-shim-unscopables\": \"^1.0.0\"\n }\n },\n \"array.prototype.reduce\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz\",\n \"integrity\": \"sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-array-method-boxes-properly\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"is-string\": \"^1.0.7\"\n }\n },\n \"array.prototype.tosorted\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz\",\n \"integrity\": \"sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-shim-unscopables\": \"^1.0.2\"\n }\n },\n \"arraybuffer.prototype.slice\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz\",\n \"integrity\": \"sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==\",\n \"requires\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.22.3\",\n \"es-errors\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.3\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-shared-array-buffer\": \"^1.0.2\"\n }\n },\n \"asap\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n \"integrity\": \"sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==\"\n },\n \"ast-types-flow\": {\n \"version\": \"0.0.8\",\n \"resolved\": \"https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz\",\n \"integrity\": \"sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==\"\n },\n \"async\": {\n \"version\": \"3.2.5\",\n \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.5.tgz\",\n \"integrity\": \"sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==\"\n },\n \"asynckit\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==\"\n },\n \"at-least-node\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\",\n \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==\"\n },\n \"attr-accept\": {\n \"version\": \"2.2.2\",\n \"resolved\": \"https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz\",\n \"integrity\": \"sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==\"\n },\n \"autoprefixer\": {\n \"version\": \"10.4.20\",\n \"resolved\": \"https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz\",\n \"integrity\": \"sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==\",\n \"requires\": {\n \"browserslist\": \"^4.23.3\",\n \"caniuse-lite\": \"^1.0.30001646\",\n \"fraction.js\": \"^4.3.7\",\n \"normalize-range\": \"^0.1.2\",\n \"picocolors\": \"^1.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"available-typed-arrays\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz\",\n \"integrity\": \"sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==\",\n \"requires\": {\n \"possible-typed-array-names\": \"^1.0.0\"\n }\n },\n \"axe-core\": {\n \"version\": \"4.10.0\",\n \"resolved\": \"https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz\",\n \"integrity\": \"sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==\"\n },\n \"axios\": {\n \"version\": \"1.7.7\",\n \"resolved\": \"https://registry.npmjs.org/axios/-/axios-1.7.7.tgz\",\n \"integrity\": \"sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==\",\n \"requires\": {\n \"follow-redirects\": \"^1.15.6\",\n \"form-data\": \"^4.0.0\",\n \"proxy-from-env\": \"^1.1.0\"\n },\n \"dependencies\": {\n \"form-data\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz\",\n \"integrity\": \"sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==\",\n \"requires\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n }\n }\n }\n },\n \"axobject-query\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz\",\n \"integrity\": \"sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==\"\n },\n \"babel-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==\",\n \"requires\": {\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__core\": \"^7.1.14\",\n \"babel-plugin-istanbul\": \"^6.1.1\",\n \"babel-preset-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"babel-loader\": {\n \"version\": \"8.4.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz\",\n \"integrity\": \"sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==\",\n \"requires\": {\n \"find-cache-dir\": \"^3.3.1\",\n \"loader-utils\": \"^2.0.4\",\n \"make-dir\": \"^3.1.0\",\n \"schema-utils\": \"^2.6.5\"\n },\n \"dependencies\": {\n \"schema-utils\": {\n \"version\": \"2.7.1\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz\",\n \"integrity\": \"sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.5\",\n \"ajv\": \"^6.12.4\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"babel-plugin-istanbul\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz\",\n \"integrity\": \"sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==\",\n \"requires\": {\n \"@babel/helper-plugin-utils\": \"^7.0.0\",\n \"@istanbuljs/load-nyc-config\": \"^1.0.0\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-instrument\": \"^5.0.4\",\n \"test-exclude\": \"^6.0.0\"\n }\n },\n \"babel-plugin-jest-hoist\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz\",\n \"integrity\": \"sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==\",\n \"requires\": {\n \"@babel/template\": \"^7.3.3\",\n \"@babel/types\": \"^7.3.3\",\n \"@types/babel__core\": \"^7.0.0\",\n \"@types/babel__traverse\": \"^7.0.6\"\n }\n },\n \"babel-plugin-macros\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz\",\n \"integrity\": \"sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.12.5\",\n \"cosmiconfig\": \"^7.0.0\",\n \"resolve\": \"^1.19.0\"\n }\n },\n \"babel-plugin-named-asset-import\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz\",\n \"integrity\": \"sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==\",\n \"requires\": {}\n },\n \"babel-plugin-polyfill-corejs2\": {\n \"version\": \"0.4.11\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz\",\n \"integrity\": \"sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==\",\n \"requires\": {\n \"@babel/compat-data\": \"^7.22.6\",\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"semver\": \"^6.3.1\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"babel-plugin-polyfill-corejs3\": {\n \"version\": \"0.10.6\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz\",\n \"integrity\": \"sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==\",\n \"requires\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\",\n \"core-js-compat\": \"^3.38.0\"\n }\n },\n \"babel-plugin-polyfill-regenerator\": {\n \"version\": \"0.6.2\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz\",\n \"integrity\": \"sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==\",\n \"requires\": {\n \"@babel/helper-define-polyfill-provider\": \"^0.6.2\"\n }\n },\n \"babel-plugin-transform-react-remove-prop-types\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz\",\n \"integrity\": \"sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==\"\n },\n \"babel-preset-current-node-syntax\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz\",\n \"integrity\": \"sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==\",\n \"requires\": {\n \"@babel/plugin-syntax-async-generators\": \"^7.8.4\",\n \"@babel/plugin-syntax-bigint\": \"^7.8.3\",\n \"@babel/plugin-syntax-class-properties\": \"^7.12.13\",\n \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\",\n \"@babel/plugin-syntax-import-attributes\": \"^7.24.7\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/plugin-syntax-json-strings\": \"^7.8.3\",\n \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\",\n \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\",\n \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\",\n \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\",\n \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\",\n \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\",\n \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\"\n }\n },\n \"babel-preset-jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==\",\n \"requires\": {\n \"babel-plugin-jest-hoist\": \"^27.5.1\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\"\n }\n },\n \"babel-preset-react-app\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz\",\n \"integrity\": \"sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==\",\n \"requires\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.16.0\",\n \"@babel/plugin-proposal-decorators\": \"^7.16.4\",\n \"@babel/plugin-proposal-nullish-coalescing-operator\": \"^7.16.0\",\n \"@babel/plugin-proposal-numeric-separator\": \"^7.16.0\",\n \"@babel/plugin-proposal-optional-chaining\": \"^7.16.0\",\n \"@babel/plugin-proposal-private-methods\": \"^7.16.0\",\n \"@babel/plugin-transform-flow-strip-types\": \"^7.16.0\",\n \"@babel/plugin-transform-react-display-name\": \"^7.16.0\",\n \"@babel/plugin-transform-runtime\": \"^7.16.4\",\n \"@babel/preset-env\": \"^7.16.4\",\n \"@babel/preset-react\": \"^7.16.0\",\n \"@babel/preset-typescript\": \"^7.16.0\",\n \"@babel/runtime\": \"^7.16.3\",\n \"babel-plugin-macros\": \"^3.1.0\",\n \"babel-plugin-transform-react-remove-prop-types\": \"^0.4.24\"\n }\n },\n \"balanced-match\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\"\n },\n \"batch\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/batch/-/batch-0.6.1.tgz\",\n \"integrity\": \"sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==\"\n },\n \"bezier-js\": {\n \"version\": \"6.1.4\",\n \"resolved\": \"https://registry.npmjs.org/bezier-js/-/bezier-js-6.1.4.tgz\",\n \"integrity\": \"sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==\"\n },\n \"bfj\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz\",\n \"integrity\": \"sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==\",\n \"requires\": {\n \"bluebird\": \"^3.7.2\",\n \"check-types\": \"^11.2.3\",\n \"hoopy\": \"^0.1.4\",\n \"jsonpath\": \"^1.1.1\",\n \"tryer\": \"^1.0.1\"\n }\n },\n \"big.js\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz\",\n \"integrity\": \"sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==\"\n },\n \"binary-extensions\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz\",\n \"integrity\": \"sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==\"\n },\n \"bluebird\": {\n \"version\": \"3.7.2\",\n \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\"\n },\n \"body-parser\": {\n \"version\": \"1.20.3\",\n \"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz\",\n \"integrity\": \"sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==\",\n \"requires\": {\n \"bytes\": \"3.1.2\",\n \"content-type\": \"~1.0.5\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"on-finished\": \"2.4.1\",\n \"qs\": \"6.13.0\",\n \"raw-body\": \"2.5.2\",\n \"type-is\": \"~1.6.18\",\n \"unpipe\": \"1.0.0\"\n },\n \"dependencies\": {\n \"bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\"\n },\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"bonjour-service\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz\",\n \"integrity\": \"sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"multicast-dns\": \"^7.2.5\"\n }\n },\n \"boolbase\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n \"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\"\n },\n \"brace-expansion\": {\n \"version\": \"1.1.11\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n \"requires\": {\n \"balanced-match\": \"^1.0.0\",\n \"concat-map\": \"0.0.1\"\n }\n },\n \"braces\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.3.tgz\",\n \"integrity\": \"sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==\",\n \"requires\": {\n \"fill-range\": \"^7.1.1\"\n }\n },\n \"browser-process-hrtime\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz\",\n \"integrity\": \"sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==\"\n },\n \"browserslist\": {\n \"version\": \"4.23.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz\",\n \"integrity\": \"sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==\",\n \"requires\": {\n \"caniuse-lite\": \"^1.0.30001646\",\n \"electron-to-chromium\": \"^1.5.4\",\n \"node-releases\": \"^2.0.18\",\n \"update-browserslist-db\": \"^1.1.0\"\n }\n },\n \"bser\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/bser/-/bser-2.1.1.tgz\",\n \"integrity\": \"sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==\",\n \"requires\": {\n \"node-int64\": \"^0.4.0\"\n }\n },\n \"buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\"\n },\n \"builtin-modules\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n \"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\"\n },\n \"bytes\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n \"integrity\": \"sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==\"\n },\n \"call-bind\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz\",\n \"integrity\": \"sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==\",\n \"requires\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"set-function-length\": \"^1.2.1\"\n }\n },\n \"callsites\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n \"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\"\n },\n \"camel-case\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz\",\n \"integrity\": \"sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==\",\n \"requires\": {\n \"pascal-case\": \"^3.1.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"camelcase\": {\n \"version\": \"6.3.0\",\n \"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz\",\n \"integrity\": \"sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==\"\n },\n \"camelcase-css\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz\",\n \"integrity\": \"sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\"\n },\n \"caniuse-api\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz\",\n \"integrity\": \"sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==\",\n \"requires\": {\n \"browserslist\": \"^4.0.0\",\n \"caniuse-lite\": \"^1.0.0\",\n \"lodash.memoize\": \"^4.1.2\",\n \"lodash.uniq\": \"^4.5.0\"\n }\n },\n \"caniuse-lite\": {\n \"version\": \"1.0.30001663\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz\",\n \"integrity\": \"sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==\"\n },\n \"canvas-color-tracker\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/canvas-color-tracker/-/canvas-color-tracker-1.2.2.tgz\",\n \"integrity\": \"sha512-r+u/Ft2ka4Rj274Ts4L9bhYZLuMvbuJ/yL4seP0s+Pi+i9CM0caD+Sd//yseS5EVBJ2SKSmq36h2mNYUCdmTfA==\",\n \"requires\": {\n \"tinycolor2\": \"^1.6.0\"\n }\n },\n \"case-sensitive-paths-webpack-plugin\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz\",\n \"integrity\": \"sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==\"\n },\n \"chalk\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n \"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n \"requires\": {\n \"ansi-styles\": \"^3.2.1\",\n \"escape-string-regexp\": \"^1.0.5\",\n \"supports-color\": \"^5.3.0\"\n }\n },\n \"char-regex\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz\",\n \"integrity\": \"sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==\"\n },\n \"check-types\": {\n \"version\": \"11.2.3\",\n \"resolved\": \"https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz\",\n \"integrity\": \"sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==\"\n },\n \"chokidar\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz\",\n \"integrity\": \"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==\",\n \"requires\": {\n \"anymatch\": \"~3.1.2\",\n \"braces\": \"~3.0.2\",\n \"fsevents\": \"~2.3.2\",\n \"glob-parent\": \"~5.1.2\",\n \"is-binary-path\": \"~2.1.0\",\n \"is-glob\": \"~4.0.1\",\n \"normalize-path\": \"~3.0.0\",\n \"readdirp\": \"~3.6.0\"\n },\n \"dependencies\": {\n \"glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"requires\": {\n \"is-glob\": \"^4.0.1\"\n }\n }\n }\n },\n \"chrome-trace-event\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz\",\n \"integrity\": \"sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==\"\n },\n \"ci-info\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\",\n \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==\"\n },\n \"cjs-module-lexer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz\",\n \"integrity\": \"sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==\"\n },\n \"clean-css\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz\",\n \"integrity\": \"sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==\",\n \"requires\": {\n \"source-map\": \"~0.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"cliui\": {\n \"version\": \"7.0.4\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz\",\n \"integrity\": \"sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==\",\n \"requires\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.0\",\n \"wrap-ansi\": \"^7.0.0\"\n }\n },\n \"clsx\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz\",\n \"integrity\": \"sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==\"\n },\n \"co\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/co/-/co-4.6.0.tgz\",\n \"integrity\": \"sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==\"\n },\n \"coa\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/coa/-/coa-2.0.2.tgz\",\n \"integrity\": \"sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==\",\n \"requires\": {\n \"@types/q\": \"^1.5.1\",\n \"chalk\": \"^2.4.1\",\n \"q\": \"^1.1.2\"\n }\n },\n \"collect-v8-coverage\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz\",\n \"integrity\": \"sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==\"\n },\n \"color-convert\": {\n \"version\": \"1.9.3\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n \"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n \"requires\": {\n \"color-name\": \"1.1.3\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n \"integrity\": \"sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==\"\n },\n \"colord\": {\n \"version\": \"2.9.3\",\n \"resolved\": \"https://registry.npmjs.org/colord/-/colord-2.9.3.tgz\",\n \"integrity\": \"sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==\"\n },\n \"colorette\": {\n \"version\": \"2.0.20\",\n \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\",\n \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==\"\n },\n \"combined-stream\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n \"requires\": {\n \"delayed-stream\": \"~1.0.0\"\n }\n },\n \"commander\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-8.3.0.tgz\",\n \"integrity\": \"sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==\"\n },\n \"common-tags\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\",\n \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==\"\n },\n \"commondir\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n \"integrity\": \"sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==\"\n },\n \"compressible\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n \"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n \"requires\": {\n \"mime-db\": \">= 1.43.0 < 2\"\n }\n },\n \"compression\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n \"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n \"requires\": {\n \"accepts\": \"~1.3.5\",\n \"bytes\": \"3.0.0\",\n \"compressible\": \"~2.0.16\",\n \"debug\": \"2.6.9\",\n \"on-headers\": \"~1.0.2\",\n \"safe-buffer\": \"5.1.2\",\n \"vary\": \"~1.1.2\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n },\n \"safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n }\n }\n },\n \"concat-map\": {\n \"version\": \"0.0.1\",\n \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\"\n },\n \"confusing-browser-globals\": {\n \"version\": \"1.0.11\",\n \"resolved\": \"https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz\",\n \"integrity\": \"sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==\"\n },\n \"connect-history-api-fallback\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz\",\n \"integrity\": \"sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==\"\n },\n \"content-disposition\": {\n \"version\": \"0.5.4\",\n \"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz\",\n \"integrity\": \"sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==\",\n \"requires\": {\n \"safe-buffer\": \"5.2.1\"\n }\n },\n \"content-type\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz\",\n \"integrity\": \"sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==\"\n },\n \"convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\"\n },\n \"cookie\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz\",\n \"integrity\": \"sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==\"\n },\n \"cookie-signature\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n \"integrity\": \"sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==\"\n },\n \"core-js\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz\",\n \"integrity\": \"sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==\"\n },\n \"core-js-compat\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz\",\n \"integrity\": \"sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==\",\n \"requires\": {\n \"browserslist\": \"^4.23.3\"\n }\n },\n \"core-js-pure\": {\n \"version\": \"3.38.1\",\n \"resolved\": \"https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz\",\n \"integrity\": \"sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==\"\n },\n \"core-util-is\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz\",\n \"integrity\": \"sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==\"\n },\n \"cosmiconfig\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz\",\n \"integrity\": \"sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==\",\n \"requires\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.2.1\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.10.0\"\n }\n },\n \"cross-spawn\": {\n \"version\": \"7.0.3\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n \"requires\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n }\n },\n \"crypto-random-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz\",\n \"integrity\": \"sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==\"\n },\n \"css-blank-pseudo\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz\",\n \"integrity\": \"sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"css-declaration-sorter\": {\n \"version\": \"6.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz\",\n \"integrity\": \"sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==\",\n \"requires\": {}\n },\n \"css-has-pseudo\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz\",\n \"integrity\": \"sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"css-loader\": {\n \"version\": \"6.11.0\",\n \"resolved\": \"https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz\",\n \"integrity\": \"sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==\",\n \"requires\": {\n \"icss-utils\": \"^5.1.0\",\n \"postcss\": \"^8.4.33\",\n \"postcss-modules-extract-imports\": \"^3.1.0\",\n \"postcss-modules-local-by-default\": \"^4.0.5\",\n \"postcss-modules-scope\": \"^3.2.0\",\n \"postcss-modules-values\": \"^4.0.0\",\n \"postcss-value-parser\": \"^4.2.0\",\n \"semver\": \"^7.5.4\"\n }\n },\n \"css-minimizer-webpack-plugin\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz\",\n \"integrity\": \"sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==\",\n \"requires\": {\n \"cssnano\": \"^5.0.6\",\n \"jest-worker\": \"^27.0.2\",\n \"postcss\": \"^8.3.5\",\n \"schema-utils\": \"^4.0.0\",\n \"serialize-javascript\": \"^6.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"css-prefers-color-scheme\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz\",\n \"integrity\": \"sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==\",\n \"requires\": {}\n },\n \"css-select\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz\",\n \"integrity\": \"sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==\",\n \"requires\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^6.0.1\",\n \"domhandler\": \"^4.3.1\",\n \"domutils\": \"^2.8.0\",\n \"nth-check\": \"^2.0.1\"\n }\n },\n \"css-select-base-adapter\": {\n \"version\": \"0.1.1\",\n \"resolved\": \"https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz\",\n \"integrity\": \"sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==\"\n },\n \"css-tree\": {\n \"version\": \"1.0.0-alpha.37\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz\",\n \"integrity\": \"sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==\",\n \"requires\": {\n \"mdn-data\": \"2.0.4\",\n \"source-map\": \"^0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"css-what\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz\",\n \"integrity\": \"sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==\"\n },\n \"css.escape\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz\",\n \"integrity\": \"sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==\"\n },\n \"cssdb\": {\n \"version\": \"7.11.2\",\n \"resolved\": \"https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz\",\n \"integrity\": \"sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==\"\n },\n \"cssesc\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n \"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\"\n },\n \"cssnano\": {\n \"version\": \"5.1.15\",\n \"resolved\": \"https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz\",\n \"integrity\": \"sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==\",\n \"requires\": {\n \"cssnano-preset-default\": \"^5.2.14\",\n \"lilconfig\": \"^2.0.3\",\n \"yaml\": \"^1.10.2\"\n }\n },\n \"cssnano-preset-default\": {\n \"version\": \"5.2.14\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz\",\n \"integrity\": \"sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==\",\n \"requires\": {\n \"css-declaration-sorter\": \"^6.3.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-calc\": \"^8.2.3\",\n \"postcss-colormin\": \"^5.3.1\",\n \"postcss-convert-values\": \"^5.1.3\",\n \"postcss-discard-comments\": \"^5.1.2\",\n \"postcss-discard-duplicates\": \"^5.1.0\",\n \"postcss-discard-empty\": \"^5.1.1\",\n \"postcss-discard-overridden\": \"^5.1.0\",\n \"postcss-merge-longhand\": \"^5.1.7\",\n \"postcss-merge-rules\": \"^5.1.4\",\n \"postcss-minify-font-values\": \"^5.1.0\",\n \"postcss-minify-gradients\": \"^5.1.1\",\n \"postcss-minify-params\": \"^5.1.4\",\n \"postcss-minify-selectors\": \"^5.2.1\",\n \"postcss-normalize-charset\": \"^5.1.0\",\n \"postcss-normalize-display-values\": \"^5.1.0\",\n \"postcss-normalize-positions\": \"^5.1.1\",\n \"postcss-normalize-repeat-style\": \"^5.1.1\",\n \"postcss-normalize-string\": \"^5.1.0\",\n \"postcss-normalize-timing-functions\": \"^5.1.0\",\n \"postcss-normalize-unicode\": \"^5.1.1\",\n \"postcss-normalize-url\": \"^5.1.0\",\n \"postcss-normalize-whitespace\": \"^5.1.1\",\n \"postcss-ordered-values\": \"^5.1.3\",\n \"postcss-reduce-initial\": \"^5.1.2\",\n \"postcss-reduce-transforms\": \"^5.1.0\",\n \"postcss-svgo\": \"^5.1.0\",\n \"postcss-unique-selectors\": \"^5.1.1\"\n }\n },\n \"cssnano-utils\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz\",\n \"integrity\": \"sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==\",\n \"requires\": {}\n },\n \"csso\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/csso/-/csso-4.2.0.tgz\",\n \"integrity\": \"sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==\",\n \"requires\": {\n \"css-tree\": \"^1.1.2\"\n },\n \"dependencies\": {\n \"css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"requires\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n }\n },\n \"mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"cssom\": {\n \"version\": \"0.4.4\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz\",\n \"integrity\": \"sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==\"\n },\n \"cssstyle\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz\",\n \"integrity\": \"sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==\",\n \"requires\": {\n \"cssom\": \"~0.3.6\"\n },\n \"dependencies\": {\n \"cssom\": {\n \"version\": \"0.3.8\",\n \"resolved\": \"https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz\",\n \"integrity\": \"sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==\"\n }\n }\n },\n \"csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\"\n },\n \"d3-array\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz\",\n \"integrity\": \"sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==\",\n \"requires\": {\n \"internmap\": \"1 - 2\"\n }\n },\n \"d3-binarytree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz\",\n \"integrity\": \"sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==\"\n },\n \"d3-color\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz\",\n \"integrity\": \"sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==\"\n },\n \"d3-dispatch\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz\",\n \"integrity\": \"sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==\"\n },\n \"d3-drag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz\",\n \"integrity\": \"sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==\",\n \"requires\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-selection\": \"3\"\n }\n },\n \"d3-ease\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz\",\n \"integrity\": \"sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==\"\n },\n \"d3-force-3d\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.5.tgz\",\n \"integrity\": \"sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==\",\n \"requires\": {\n \"d3-binarytree\": \"1\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-octree\": \"1\",\n \"d3-quadtree\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n }\n },\n \"d3-format\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz\",\n \"integrity\": \"sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==\"\n },\n \"d3-interpolate\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz\",\n \"integrity\": \"sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==\",\n \"requires\": {\n \"d3-color\": \"1 - 3\"\n }\n },\n \"d3-octree\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-octree/-/d3-octree-1.0.2.tgz\",\n \"integrity\": \"sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA==\"\n },\n \"d3-quadtree\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz\",\n \"integrity\": \"sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==\"\n },\n \"d3-scale\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz\",\n \"integrity\": \"sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==\",\n \"requires\": {\n \"d3-array\": \"2.10.0 - 3\",\n \"d3-format\": \"1 - 3\",\n \"d3-interpolate\": \"1.2.0 - 3\",\n \"d3-time\": \"2.1.1 - 3\",\n \"d3-time-format\": \"2 - 4\"\n }\n },\n \"d3-scale-chromatic\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz\",\n \"integrity\": \"sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==\",\n \"requires\": {\n \"d3-color\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\"\n }\n },\n \"d3-selection\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz\",\n \"integrity\": \"sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==\"\n },\n \"d3-time\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz\",\n \"integrity\": \"sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==\",\n \"requires\": {\n \"d3-array\": \"2 - 3\"\n }\n },\n \"d3-time-format\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz\",\n \"integrity\": \"sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==\",\n \"requires\": {\n \"d3-time\": \"1 - 3\"\n }\n },\n \"d3-timer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz\",\n \"integrity\": \"sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==\"\n },\n \"d3-transition\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz\",\n \"integrity\": \"sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==\",\n \"requires\": {\n \"d3-color\": \"1 - 3\",\n \"d3-dispatch\": \"1 - 3\",\n \"d3-ease\": \"1 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-timer\": \"1 - 3\"\n }\n },\n \"d3-zoom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz\",\n \"integrity\": \"sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==\",\n \"requires\": {\n \"d3-dispatch\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-interpolate\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-transition\": \"2 - 3\"\n }\n },\n \"damerau-levenshtein\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz\",\n \"integrity\": \"sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==\"\n },\n \"data-joint\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/data-joint/-/data-joint-1.3.1.tgz\",\n \"integrity\": \"sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==\",\n \"requires\": {\n \"index-array-by\": \"^1.4.0\"\n }\n },\n \"data-urls\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz\",\n \"integrity\": \"sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==\",\n \"requires\": {\n \"abab\": \"^2.0.3\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.0.0\"\n }\n },\n \"data-view-buffer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz\",\n \"integrity\": \"sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n }\n },\n \"data-view-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n }\n },\n \"data-view-byte-offset\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz\",\n \"integrity\": \"sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n }\n },\n \"debug\": {\n \"version\": \"4.3.6\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.6.tgz\",\n \"integrity\": \"sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==\",\n \"requires\": {\n \"ms\": \"2.1.2\"\n }\n },\n \"decimal.js\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz\",\n \"integrity\": \"sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==\"\n },\n \"dedent\": {\n \"version\": \"0.7.0\",\n \"resolved\": \"https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz\",\n \"integrity\": \"sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==\"\n },\n \"deep-equal\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz\",\n \"integrity\": \"sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==\",\n \"requires\": {\n \"array-buffer-byte-length\": \"^1.0.0\",\n \"call-bind\": \"^1.0.5\",\n \"es-get-iterator\": \"^1.1.3\",\n \"get-intrinsic\": \"^1.2.2\",\n \"is-arguments\": \"^1.1.1\",\n \"is-array-buffer\": \"^3.0.2\",\n \"is-date-object\": \"^1.0.5\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"object-is\": \"^1.1.5\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.4\",\n \"regexp.prototype.flags\": \"^1.5.1\",\n \"side-channel\": \"^1.0.4\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.1\",\n \"which-typed-array\": \"^1.1.13\"\n }\n },\n \"deep-is\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz\",\n \"integrity\": \"sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\"\n },\n \"deepmerge\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz\",\n \"integrity\": \"sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==\"\n },\n \"default-gateway\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz\",\n \"integrity\": \"sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==\",\n \"requires\": {\n \"execa\": \"^5.0.0\"\n }\n },\n \"define-data-property\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz\",\n \"integrity\": \"sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==\",\n \"requires\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"gopd\": \"^1.0.1\"\n }\n },\n \"define-lazy-prop\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz\",\n \"integrity\": \"sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==\"\n },\n \"define-properties\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz\",\n \"integrity\": \"sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==\",\n \"requires\": {\n \"define-data-property\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.0\",\n \"object-keys\": \"^1.1.1\"\n }\n },\n \"delayed-stream\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==\"\n },\n \"depd\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-2.0.0.tgz\",\n \"integrity\": \"sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==\"\n },\n \"dequal\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz\",\n \"integrity\": \"sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==\",\n \"peer\": true\n },\n \"destroy\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz\",\n \"integrity\": \"sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==\"\n },\n \"detect-newline\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz\",\n \"integrity\": \"sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==\"\n },\n \"detect-node\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz\",\n \"integrity\": \"sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==\"\n },\n \"detect-port-alt\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz\",\n \"integrity\": \"sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==\",\n \"requires\": {\n \"address\": \"^1.0.1\",\n \"debug\": \"^2.6.0\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"didyoumean\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz\",\n \"integrity\": \"sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\"\n },\n \"diff-sequences\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz\",\n \"integrity\": \"sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==\"\n },\n \"dir-glob\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz\",\n \"integrity\": \"sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==\",\n \"requires\": {\n \"path-type\": \"^4.0.0\"\n }\n },\n \"dlv\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz\",\n \"integrity\": \"sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==\"\n },\n \"dns-packet\": {\n \"version\": \"5.6.1\",\n \"resolved\": \"https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz\",\n \"integrity\": \"sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==\",\n \"requires\": {\n \"@leichtgewicht/ip-codec\": \"^2.0.1\"\n }\n },\n \"doctrine\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n \"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n \"requires\": {\n \"esutils\": \"^2.0.2\"\n }\n },\n \"dom-accessibility-api\": {\n \"version\": \"0.5.16\",\n \"resolved\": \"https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz\",\n \"integrity\": \"sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==\"\n },\n \"dom-converter\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz\",\n \"integrity\": \"sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==\",\n \"requires\": {\n \"utila\": \"~0.4\"\n }\n },\n \"dom-helpers\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz\",\n \"integrity\": \"sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.8.7\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"dom-serializer\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz\",\n \"integrity\": \"sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==\",\n \"requires\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.2.0\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"domelementtype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz\",\n \"integrity\": \"sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==\"\n },\n \"domexception\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz\",\n \"integrity\": \"sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==\",\n \"requires\": {\n \"webidl-conversions\": \"^5.0.0\"\n },\n \"dependencies\": {\n \"webidl-conversions\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz\",\n \"integrity\": \"sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==\"\n }\n }\n },\n \"domhandler\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz\",\n \"integrity\": \"sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==\",\n \"requires\": {\n \"domelementtype\": \"^2.2.0\"\n }\n },\n \"domutils\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz\",\n \"integrity\": \"sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==\",\n \"requires\": {\n \"dom-serializer\": \"^1.0.1\",\n \"domelementtype\": \"^2.2.0\",\n \"domhandler\": \"^4.2.0\"\n }\n },\n \"dot-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz\",\n \"integrity\": \"sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\",\n \"requires\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"dotenv\": {\n \"version\": \"10.0.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz\",\n \"integrity\": \"sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==\"\n },\n \"dotenv-expand\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz\",\n \"integrity\": \"sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==\"\n },\n \"duplexer\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz\",\n \"integrity\": \"sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==\"\n },\n \"eastasianwidth\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz\",\n \"integrity\": \"sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==\"\n },\n \"ee-first\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n \"integrity\": \"sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==\"\n },\n \"ejs\": {\n \"version\": \"3.1.10\",\n \"resolved\": \"https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz\",\n \"integrity\": \"sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==\",\n \"requires\": {\n \"jake\": \"^10.8.5\"\n }\n },\n \"electron-to-chromium\": {\n \"version\": \"1.5.28\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz\",\n \"integrity\": \"sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==\"\n },\n \"email-addresses\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz\",\n \"integrity\": \"sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==\",\n \"dev\": true\n },\n \"emittery\": {\n \"version\": \"0.8.1\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz\",\n \"integrity\": \"sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==\"\n },\n \"emoji-regex\": {\n \"version\": \"9.2.2\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz\",\n \"integrity\": \"sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==\"\n },\n \"emojis-list\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz\",\n \"integrity\": \"sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==\"\n },\n \"encodeurl\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz\",\n \"integrity\": \"sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==\"\n },\n \"enhanced-resolve\": {\n \"version\": \"5.17.1\",\n \"resolved\": \"https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz\",\n \"integrity\": \"sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==\",\n \"requires\": {\n \"graceful-fs\": \"^4.2.4\",\n \"tapable\": \"^2.2.0\"\n }\n },\n \"entities\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/entities/-/entities-2.2.0.tgz\",\n \"integrity\": \"sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==\"\n },\n \"error-ex\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n \"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n \"requires\": {\n \"is-arrayish\": \"^0.2.1\"\n }\n },\n \"error-stack-parser\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz\",\n \"integrity\": \"sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==\",\n \"requires\": {\n \"stackframe\": \"^1.3.4\"\n }\n },\n \"es-abstract\": {\n \"version\": \"1.23.3\",\n \"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz\",\n \"integrity\": \"sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==\",\n \"requires\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"arraybuffer.prototype.slice\": \"^1.0.3\",\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"data-view-buffer\": \"^1.0.1\",\n \"data-view-byte-length\": \"^1.0.1\",\n \"data-view-byte-offset\": \"^1.0.0\",\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"es-to-primitive\": \"^1.2.1\",\n \"function.prototype.name\": \"^1.1.6\",\n \"get-intrinsic\": \"^1.2.4\",\n \"get-symbol-description\": \"^1.0.2\",\n \"globalthis\": \"^1.0.3\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.2\",\n \"internal-slot\": \"^1.0.7\",\n \"is-array-buffer\": \"^3.0.4\",\n \"is-callable\": \"^1.2.7\",\n \"is-data-view\": \"^1.0.1\",\n \"is-negative-zero\": \"^2.0.3\",\n \"is-regex\": \"^1.1.4\",\n \"is-shared-array-buffer\": \"^1.0.3\",\n \"is-string\": \"^1.0.7\",\n \"is-typed-array\": \"^1.1.13\",\n \"is-weakref\": \"^1.0.2\",\n \"object-inspect\": \"^1.13.1\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.5\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"safe-array-concat\": \"^1.1.2\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.trim\": \"^1.2.9\",\n \"string.prototype.trimend\": \"^1.0.8\",\n \"string.prototype.trimstart\": \"^1.0.8\",\n \"typed-array-buffer\": \"^1.0.2\",\n \"typed-array-byte-length\": \"^1.0.1\",\n \"typed-array-byte-offset\": \"^1.0.2\",\n \"typed-array-length\": \"^1.0.6\",\n \"unbox-primitive\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n }\n },\n \"es-array-method-boxes-properly\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz\",\n \"integrity\": \"sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==\"\n },\n \"es-define-property\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz\",\n \"integrity\": \"sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==\",\n \"requires\": {\n \"get-intrinsic\": \"^1.2.4\"\n }\n },\n \"es-errors\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz\",\n \"integrity\": \"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==\"\n },\n \"es-get-iterator\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz\",\n \"integrity\": \"sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.1.3\",\n \"has-symbols\": \"^1.0.3\",\n \"is-arguments\": \"^1.1.1\",\n \"is-map\": \"^2.0.2\",\n \"is-set\": \"^2.0.2\",\n \"is-string\": \"^1.0.7\",\n \"isarray\": \"^2.0.5\",\n \"stop-iteration-iterator\": \"^1.0.0\"\n }\n },\n \"es-iterator-helpers\": {\n \"version\": \"1.0.19\",\n \"resolved\": \"https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz\",\n \"integrity\": \"sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.3\",\n \"es-errors\": \"^1.3.0\",\n \"es-set-tostringtag\": \"^2.0.3\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.0.3\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"iterator.prototype\": \"^1.1.2\",\n \"safe-array-concat\": \"^1.1.2\"\n }\n },\n \"es-module-lexer\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz\",\n \"integrity\": \"sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==\"\n },\n \"es-object-atoms\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz\",\n \"integrity\": \"sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==\",\n \"requires\": {\n \"es-errors\": \"^1.3.0\"\n }\n },\n \"es-set-tostringtag\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz\",\n \"integrity\": \"sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==\",\n \"requires\": {\n \"get-intrinsic\": \"^1.2.4\",\n \"has-tostringtag\": \"^1.0.2\",\n \"hasown\": \"^2.0.1\"\n }\n },\n \"es-shim-unscopables\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz\",\n \"integrity\": \"sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==\",\n \"requires\": {\n \"hasown\": \"^2.0.0\"\n }\n },\n \"es-to-primitive\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n \"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n \"requires\": {\n \"is-callable\": \"^1.1.4\",\n \"is-date-object\": \"^1.0.1\",\n \"is-symbol\": \"^1.0.2\"\n }\n },\n \"escalade\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz\",\n \"integrity\": \"sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==\"\n },\n \"escape-html\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n \"integrity\": \"sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\"\n },\n \"escodegen\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz\",\n \"integrity\": \"sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==\",\n \"requires\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^5.2.0\",\n \"esutils\": \"^2.0.2\",\n \"source-map\": \"~0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"optional\": true\n }\n }\n },\n \"eslint\": {\n \"version\": \"8.57.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz\",\n \"integrity\": \"sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==\",\n \"requires\": {\n \"@eslint-community/eslint-utils\": \"^4.2.0\",\n \"@eslint-community/regexpp\": \"^4.6.1\",\n \"@eslint/eslintrc\": \"^2.1.4\",\n \"@eslint/js\": \"8.57.1\",\n \"@humanwhocodes/config-array\": \"^0.13.0\",\n \"@humanwhocodes/module-importer\": \"^1.0.1\",\n \"@nodelib/fs.walk\": \"^1.2.8\",\n \"@ungap/structured-clone\": \"^1.2.0\",\n \"ajv\": \"^6.12.4\",\n \"chalk\": \"^4.0.0\",\n \"cross-spawn\": \"^7.0.2\",\n \"debug\": \"^4.3.2\",\n \"doctrine\": \"^3.0.0\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"eslint-scope\": \"^7.2.2\",\n \"eslint-visitor-keys\": \"^3.4.3\",\n \"espree\": \"^9.6.1\",\n \"esquery\": \"^1.4.2\",\n \"esutils\": \"^2.0.2\",\n \"fast-deep-equal\": \"^3.1.3\",\n \"file-entry-cache\": \"^6.0.1\",\n \"find-up\": \"^5.0.0\",\n \"glob-parent\": \"^6.0.2\",\n \"globals\": \"^13.19.0\",\n \"graphemer\": \"^1.4.0\",\n \"ignore\": \"^5.2.0\",\n \"imurmurhash\": \"^0.1.4\",\n \"is-glob\": \"^4.0.0\",\n \"is-path-inside\": \"^3.0.3\",\n \"js-yaml\": \"^4.1.0\",\n \"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n \"levn\": \"^0.4.1\",\n \"lodash.merge\": \"^4.6.2\",\n \"minimatch\": \"^3.1.2\",\n \"natural-compare\": \"^1.4.0\",\n \"optionator\": \"^0.9.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\"\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"\n },\n \"find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"requires\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n }\n },\n \"globals\": {\n \"version\": \"13.24.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.24.0.tgz\",\n \"integrity\": \"sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==\",\n \"requires\": {\n \"type-fest\": \"^0.20.2\"\n }\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"js-yaml\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n \"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n \"requires\": {\n \"argparse\": \"^2.0.1\"\n }\n },\n \"locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"requires\": {\n \"p-locate\": \"^5.0.0\"\n }\n },\n \"p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"requires\": {\n \"yocto-queue\": \"^0.1.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"requires\": {\n \"p-limit\": \"^3.0.2\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n },\n \"type-fest\": {\n \"version\": \"0.20.2\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n \"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\"\n }\n }\n },\n \"eslint-config-react-app\": {\n \"version\": \"7.0.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz\",\n \"integrity\": \"sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==\",\n \"requires\": {\n \"@babel/core\": \"^7.16.0\",\n \"@babel/eslint-parser\": \"^7.16.3\",\n \"@rushstack/eslint-patch\": \"^1.1.0\",\n \"@typescript-eslint/eslint-plugin\": \"^5.5.0\",\n \"@typescript-eslint/parser\": \"^5.5.0\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"confusing-browser-globals\": \"^1.0.11\",\n \"eslint-plugin-flowtype\": \"^8.0.3\",\n \"eslint-plugin-import\": \"^2.25.3\",\n \"eslint-plugin-jest\": \"^25.3.0\",\n \"eslint-plugin-jsx-a11y\": \"^6.5.1\",\n \"eslint-plugin-react\": \"^7.27.1\",\n \"eslint-plugin-react-hooks\": \"^4.3.0\",\n \"eslint-plugin-testing-library\": \"^5.0.1\"\n }\n },\n \"eslint-import-resolver-node\": {\n \"version\": \"0.3.9\",\n \"resolved\": \"https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz\",\n \"integrity\": \"sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==\",\n \"requires\": {\n \"debug\": \"^3.2.7\",\n \"is-core-module\": \"^2.13.0\",\n \"resolve\": \"^1.22.4\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"requires\": {\n \"ms\": \"^2.1.1\"\n }\n }\n }\n },\n \"eslint-module-utils\": {\n \"version\": \"2.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz\",\n \"integrity\": \"sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==\",\n \"requires\": {\n \"debug\": \"^3.2.7\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"requires\": {\n \"ms\": \"^2.1.1\"\n }\n }\n }\n },\n \"eslint-plugin-flowtype\": {\n \"version\": \"8.0.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz\",\n \"integrity\": \"sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==\",\n \"requires\": {\n \"lodash\": \"^4.17.21\",\n \"string-natural-compare\": \"^3.0.1\"\n }\n },\n \"eslint-plugin-import\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz\",\n \"integrity\": \"sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==\",\n \"requires\": {\n \"@rtsao/scc\": \"^1.1.0\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlastindex\": \"^1.2.5\",\n \"array.prototype.flat\": \"^1.3.2\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"debug\": \"^3.2.7\",\n \"doctrine\": \"^2.1.0\",\n \"eslint-import-resolver-node\": \"^0.3.9\",\n \"eslint-module-utils\": \"^2.9.0\",\n \"hasown\": \"^2.0.2\",\n \"is-core-module\": \"^2.15.1\",\n \"is-glob\": \"^4.0.3\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.groupby\": \"^1.0.3\",\n \"object.values\": \"^1.2.0\",\n \"semver\": \"^6.3.1\",\n \"tsconfig-paths\": \"^3.15.0\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"requires\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"requires\": {\n \"esutils\": \"^2.0.2\"\n }\n },\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"eslint-plugin-jest\": {\n \"version\": \"25.7.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz\",\n \"integrity\": \"sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==\",\n \"requires\": {\n \"@typescript-eslint/experimental-utils\": \"^5.0.0\"\n }\n },\n \"eslint-plugin-jsx-a11y\": {\n \"version\": \"6.10.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz\",\n \"integrity\": \"sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==\",\n \"requires\": {\n \"aria-query\": \"~5.1.3\",\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"ast-types-flow\": \"^0.0.8\",\n \"axe-core\": \"^4.10.0\",\n \"axobject-query\": \"^4.1.0\",\n \"damerau-levenshtein\": \"^1.0.8\",\n \"emoji-regex\": \"^9.2.2\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^3.3.5\",\n \"language-tags\": \"^1.0.9\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"safe-regex-test\": \"^1.0.3\",\n \"string.prototype.includes\": \"^2.0.0\"\n }\n },\n \"eslint-plugin-react\": {\n \"version\": \"7.36.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz\",\n \"integrity\": \"sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==\",\n \"requires\": {\n \"array-includes\": \"^3.1.8\",\n \"array.prototype.findlast\": \"^1.2.5\",\n \"array.prototype.flatmap\": \"^1.3.2\",\n \"array.prototype.tosorted\": \"^1.1.4\",\n \"doctrine\": \"^2.1.0\",\n \"es-iterator-helpers\": \"^1.0.19\",\n \"estraverse\": \"^5.3.0\",\n \"hasown\": \"^2.0.2\",\n \"jsx-ast-utils\": \"^2.4.1 || ^3.0.0\",\n \"minimatch\": \"^3.1.2\",\n \"object.entries\": \"^1.1.8\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.values\": \"^1.2.0\",\n \"prop-types\": \"^15.8.1\",\n \"resolve\": \"^2.0.0-next.5\",\n \"semver\": \"^6.3.1\",\n \"string.prototype.matchall\": \"^4.0.11\",\n \"string.prototype.repeat\": \"^1.0.0\"\n },\n \"dependencies\": {\n \"doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"requires\": {\n \"esutils\": \"^2.0.2\"\n }\n },\n \"resolve\": {\n \"version\": \"2.0.0-next.5\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz\",\n \"integrity\": \"sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==\",\n \"requires\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n }\n },\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"eslint-plugin-react-hooks\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz\",\n \"integrity\": \"sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==\",\n \"requires\": {}\n },\n \"eslint-plugin-testing-library\": {\n \"version\": \"5.11.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz\",\n \"integrity\": \"sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==\",\n \"requires\": {\n \"@typescript-eslint/utils\": \"^5.58.0\"\n }\n },\n \"eslint-scope\": {\n \"version\": \"7.2.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz\",\n \"integrity\": \"sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^5.2.0\"\n }\n },\n \"eslint-visitor-keys\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",\n \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==\"\n },\n \"eslint-webpack-plugin\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz\",\n \"integrity\": \"sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==\",\n \"requires\": {\n \"@types/eslint\": \"^7.29.0 || ^8.4.1\",\n \"jest-worker\": \"^28.0.2\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"schema-utils\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"jest-worker\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz\",\n \"integrity\": \"sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n }\n },\n \"supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"espree\": {\n \"version\": \"9.6.1\",\n \"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.6.1.tgz\",\n \"integrity\": \"sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==\",\n \"requires\": {\n \"acorn\": \"^8.9.0\",\n \"acorn-jsx\": \"^5.3.2\",\n \"eslint-visitor-keys\": \"^3.4.1\"\n }\n },\n \"esprima\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n \"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\"\n },\n \"esquery\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz\",\n \"integrity\": \"sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==\",\n \"requires\": {\n \"estraverse\": \"^5.1.0\"\n }\n },\n \"esrecurse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n \"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n \"requires\": {\n \"estraverse\": \"^5.2.0\"\n }\n },\n \"estraverse\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\"\n },\n \"estree-walker\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz\",\n \"integrity\": \"sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==\"\n },\n \"esutils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n \"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\"\n },\n \"etag\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n \"integrity\": \"sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==\"\n },\n \"eventemitter3\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz\",\n \"integrity\": \"sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\"\n },\n \"events\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/events/-/events-3.3.0.tgz\",\n \"integrity\": \"sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==\"\n },\n \"execa\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-5.1.1.tgz\",\n \"integrity\": \"sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==\",\n \"requires\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^6.0.0\",\n \"human-signals\": \"^2.1.0\",\n \"is-stream\": \"^2.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^4.0.1\",\n \"onetime\": \"^5.1.2\",\n \"signal-exit\": \"^3.0.3\",\n \"strip-final-newline\": \"^2.0.0\"\n }\n },\n \"exit\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/exit/-/exit-0.1.2.tgz\",\n \"integrity\": \"sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==\"\n },\n \"expect\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/expect/-/expect-27.5.1.tgz\",\n \"integrity\": \"sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\"\n }\n },\n \"express\": {\n \"version\": \"4.21.0\",\n \"resolved\": \"https://registry.npmjs.org/express/-/express-4.21.0.tgz\",\n \"integrity\": \"sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==\",\n \"requires\": {\n \"accepts\": \"~1.3.8\",\n \"array-flatten\": \"1.1.1\",\n \"body-parser\": \"1.20.3\",\n \"content-disposition\": \"0.5.4\",\n \"content-type\": \"~1.0.4\",\n \"cookie\": \"0.6.0\",\n \"cookie-signature\": \"1.0.6\",\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"finalhandler\": \"1.3.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"merge-descriptors\": \"1.0.3\",\n \"methods\": \"~1.1.2\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"path-to-regexp\": \"0.1.10\",\n \"proxy-addr\": \"~2.0.7\",\n \"qs\": \"6.13.0\",\n \"range-parser\": \"~1.2.1\",\n \"safe-buffer\": \"5.2.1\",\n \"send\": \"0.19.0\",\n \"serve-static\": \"1.16.2\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"type-is\": \"~1.6.18\",\n \"utils-merge\": \"1.0.1\",\n \"vary\": \"~1.1.2\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"fast-deep-equal\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n \"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\"\n },\n \"fast-glob\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz\",\n \"integrity\": \"sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==\",\n \"requires\": {\n \"@nodelib/fs.stat\": \"^2.0.2\",\n \"@nodelib/fs.walk\": \"^1.2.3\",\n \"glob-parent\": \"^5.1.2\",\n \"merge2\": \"^1.3.0\",\n \"micromatch\": \"^4.0.4\"\n },\n \"dependencies\": {\n \"glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"requires\": {\n \"is-glob\": \"^4.0.1\"\n }\n }\n }\n },\n \"fast-json-stable-stringify\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n \"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\"\n },\n \"fast-levenshtein\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n \"integrity\": \"sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\"\n },\n \"fast-uri\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz\",\n \"integrity\": \"sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==\"\n },\n \"fastq\": {\n \"version\": \"1.17.1\",\n \"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz\",\n \"integrity\": \"sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==\",\n \"requires\": {\n \"reusify\": \"^1.0.4\"\n }\n },\n \"faye-websocket\": {\n \"version\": \"0.11.4\",\n \"resolved\": \"https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz\",\n \"integrity\": \"sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==\",\n \"requires\": {\n \"websocket-driver\": \">=0.5.1\"\n }\n },\n \"fb-watchman\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz\",\n \"integrity\": \"sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==\",\n \"requires\": {\n \"bser\": \"2.1.1\"\n }\n },\n \"fflate\": {\n \"version\": \"0.8.2\",\n \"resolved\": \"https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz\",\n \"integrity\": \"sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==\",\n \"dev\": true\n },\n \"file-entry-cache\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n \"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n \"requires\": {\n \"flat-cache\": \"^3.0.4\"\n }\n },\n \"file-loader\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz\",\n \"integrity\": \"sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==\",\n \"requires\": {\n \"loader-utils\": \"^2.0.0\",\n \"schema-utils\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"file-selector\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz\",\n \"integrity\": \"sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==\",\n \"requires\": {\n \"tslib\": \"^2.4.0\"\n }\n },\n \"filelist\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz\",\n \"integrity\": \"sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==\",\n \"requires\": {\n \"minimatch\": \"^5.0.1\"\n },\n \"dependencies\": {\n \"brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"requires\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"minimatch\": {\n \"version\": \"5.1.6\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz\",\n \"integrity\": \"sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==\",\n \"requires\": {\n \"brace-expansion\": \"^2.0.1\"\n }\n }\n }\n },\n \"filename-reserved-regex\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz\",\n \"integrity\": \"sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==\",\n \"dev\": true\n },\n \"filenamify\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz\",\n \"integrity\": \"sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==\",\n \"dev\": true,\n \"requires\": {\n \"filename-reserved-regex\": \"^2.0.0\",\n \"strip-outer\": \"^1.0.1\",\n \"trim-repeated\": \"^1.0.0\"\n }\n },\n \"filesize\": {\n \"version\": \"8.0.7\",\n \"resolved\": \"https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz\",\n \"integrity\": \"sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==\"\n },\n \"fill-range\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz\",\n \"integrity\": \"sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==\",\n \"requires\": {\n \"to-regex-range\": \"^5.0.1\"\n }\n },\n \"finalhandler\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz\",\n \"integrity\": \"sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==\",\n \"requires\": {\n \"debug\": \"2.6.9\",\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"on-finished\": \"2.4.1\",\n \"parseurl\": \"~1.3.3\",\n \"statuses\": \"2.0.1\",\n \"unpipe\": \"~1.0.0\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"find-cache-dir\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz\",\n \"integrity\": \"sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==\",\n \"requires\": {\n \"commondir\": \"^1.0.1\",\n \"make-dir\": \"^3.0.2\",\n \"pkg-dir\": \"^4.1.0\"\n }\n },\n \"find-root\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz\",\n \"integrity\": \"sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==\"\n },\n \"find-up\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n \"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n \"requires\": {\n \"locate-path\": \"^5.0.0\",\n \"path-exists\": \"^4.0.0\"\n }\n },\n \"flat-cache\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz\",\n \"integrity\": \"sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==\",\n \"requires\": {\n \"flatted\": \"^3.2.9\",\n \"keyv\": \"^4.5.3\",\n \"rimraf\": \"^3.0.2\"\n }\n },\n \"flatted\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz\",\n \"integrity\": \"sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==\"\n },\n \"follow-redirects\": {\n \"version\": \"1.15.6\",\n \"resolved\": \"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz\",\n \"integrity\": \"sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==\"\n },\n \"for-each\": {\n \"version\": \"0.3.3\",\n \"resolved\": \"https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz\",\n \"integrity\": \"sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==\",\n \"requires\": {\n \"is-callable\": \"^1.1.3\"\n }\n },\n \"force-graph\": {\n \"version\": \"1.43.5\",\n \"resolved\": \"https://registry.npmjs.org/force-graph/-/force-graph-1.43.5.tgz\",\n \"integrity\": \"sha512-HveLELh9yhZXO/QOfaFS38vlwJZ/3sKu+jarfXzRmbmihSOH/BbRWnUvmg8wLFiYy6h4HlH4lkRfZRccHYmXgA==\",\n \"requires\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"bezier-js\": \"3 - 6\",\n \"canvas-color-tracker\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-drag\": \"2 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"d3-selection\": \"2 - 3\",\n \"d3-zoom\": \"2 - 3\",\n \"index-array-by\": \"1\",\n \"kapsule\": \"^1.14\",\n \"lodash-es\": \"4\"\n }\n },\n \"foreground-child\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz\",\n \"integrity\": \"sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==\",\n \"requires\": {\n \"cross-spawn\": \"^7.0.0\",\n \"signal-exit\": \"^4.0.1\"\n },\n \"dependencies\": {\n \"signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\"\n }\n }\n },\n \"fork-ts-checker-webpack-plugin\": {\n \"version\": \"6.5.3\",\n \"resolved\": \"https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz\",\n \"integrity\": \"sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.8.3\",\n \"@types/json-schema\": \"^7.0.5\",\n \"chalk\": \"^4.1.0\",\n \"chokidar\": \"^3.4.2\",\n \"cosmiconfig\": \"^6.0.0\",\n \"deepmerge\": \"^4.2.2\",\n \"fs-extra\": \"^9.0.0\",\n \"glob\": \"^7.1.6\",\n \"memfs\": \"^3.1.2\",\n \"minimatch\": \"^3.0.4\",\n \"schema-utils\": \"2.7.0\",\n \"semver\": \"^7.3.2\",\n \"tapable\": \"^1.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"cosmiconfig\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz\",\n \"integrity\": \"sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==\",\n \"requires\": {\n \"@types/parse-json\": \"^4.0.0\",\n \"import-fresh\": \"^3.1.0\",\n \"parse-json\": \"^5.0.0\",\n \"path-type\": \"^4.0.0\",\n \"yaml\": \"^1.7.2\"\n }\n },\n \"fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"requires\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"schema-utils\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz\",\n \"integrity\": \"sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.4\",\n \"ajv\": \"^6.12.2\",\n \"ajv-keywords\": \"^3.4.1\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n },\n \"tapable\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz\",\n \"integrity\": \"sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==\"\n }\n }\n },\n \"form-data\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz\",\n \"integrity\": \"sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==\",\n \"requires\": {\n \"asynckit\": \"^0.4.0\",\n \"combined-stream\": \"^1.0.8\",\n \"mime-types\": \"^2.1.12\"\n }\n },\n \"forwarded\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz\",\n \"integrity\": \"sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==\"\n },\n \"fraction.js\": {\n \"version\": \"4.3.7\",\n \"resolved\": \"https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz\",\n \"integrity\": \"sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==\"\n },\n \"fresh\": {\n \"version\": \"0.5.2\",\n \"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n \"integrity\": \"sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==\"\n },\n \"fromentries\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz\",\n \"integrity\": \"sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==\"\n },\n \"fs-extra\": {\n \"version\": \"10.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz\",\n \"integrity\": \"sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==\",\n \"requires\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"fs-monkey\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz\",\n \"integrity\": \"sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==\"\n },\n \"fs.realpath\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\"\n },\n \"fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"optional\": true\n },\n \"function-bind\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz\",\n \"integrity\": \"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==\"\n },\n \"function.prototype.name\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz\",\n \"integrity\": \"sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"define-properties\": \"^1.2.0\",\n \"es-abstract\": \"^1.22.1\",\n \"functions-have-names\": \"^1.2.3\"\n }\n },\n \"functions-have-names\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz\",\n \"integrity\": \"sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==\"\n },\n \"fuse.js\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz\",\n \"integrity\": \"sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==\"\n },\n \"gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\"\n },\n \"get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\"\n },\n \"get-intrinsic\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz\",\n \"integrity\": \"sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==\",\n \"requires\": {\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"has-proto\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"hasown\": \"^2.0.0\"\n }\n },\n \"get-own-enumerable-property-symbols\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz\",\n \"integrity\": \"sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==\"\n },\n \"get-package-type\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz\",\n \"integrity\": \"sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==\"\n },\n \"get-stream\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz\",\n \"integrity\": \"sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==\"\n },\n \"get-symbol-description\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz\",\n \"integrity\": \"sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.5\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\"\n }\n },\n \"gh-pages\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz\",\n \"integrity\": \"sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==\",\n \"dev\": true,\n \"requires\": {\n \"async\": \"^3.2.4\",\n \"commander\": \"^11.0.0\",\n \"email-addresses\": \"^5.0.0\",\n \"filenamify\": \"^4.3.0\",\n \"find-cache-dir\": \"^3.3.1\",\n \"fs-extra\": \"^11.1.1\",\n \"globby\": \"^6.1.0\"\n },\n \"dependencies\": {\n \"commander\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-11.1.0.tgz\",\n \"integrity\": \"sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==\",\n \"dev\": true\n },\n \"fs-extra\": {\n \"version\": \"11.2.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz\",\n \"integrity\": \"sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==\",\n \"dev\": true,\n \"requires\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"globby\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-6.1.0.tgz\",\n \"integrity\": \"sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==\",\n \"dev\": true,\n \"requires\": {\n \"array-union\": \"^1.0.1\",\n \"glob\": \"^7.0.3\",\n \"object-assign\": \"^4.0.1\",\n \"pify\": \"^2.0.0\",\n \"pinkie-promise\": \"^2.0.0\"\n }\n }\n }\n },\n \"glob\": {\n \"version\": \"7.2.3\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",\n \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==\",\n \"requires\": {\n \"fs.realpath\": \"^1.0.0\",\n \"inflight\": \"^1.0.4\",\n \"inherits\": \"2\",\n \"minimatch\": \"^3.1.1\",\n \"once\": \"^1.3.0\",\n \"path-is-absolute\": \"^1.0.0\"\n }\n },\n \"glob-parent\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n \"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n \"requires\": {\n \"is-glob\": \"^4.0.3\"\n }\n },\n \"glob-to-regexp\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz\",\n \"integrity\": \"sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==\"\n },\n \"global-modules\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz\",\n \"integrity\": \"sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==\",\n \"requires\": {\n \"global-prefix\": \"^3.0.0\"\n }\n },\n \"global-prefix\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz\",\n \"integrity\": \"sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==\",\n \"requires\": {\n \"ini\": \"^1.3.5\",\n \"kind-of\": \"^6.0.2\",\n \"which\": \"^1.3.1\"\n },\n \"dependencies\": {\n \"which\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n \"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n \"requires\": {\n \"isexe\": \"^2.0.0\"\n }\n }\n }\n },\n \"globals\": {\n \"version\": \"11.12.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n \"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\"\n },\n \"globalthis\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz\",\n \"integrity\": \"sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==\",\n \"requires\": {\n \"define-properties\": \"^1.2.1\",\n \"gopd\": \"^1.0.1\"\n }\n },\n \"globby\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/globby/-/globby-11.1.0.tgz\",\n \"integrity\": \"sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==\",\n \"requires\": {\n \"array-union\": \"^2.1.0\",\n \"dir-glob\": \"^3.0.1\",\n \"fast-glob\": \"^3.2.9\",\n \"ignore\": \"^5.2.0\",\n \"merge2\": \"^1.4.1\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"array-union\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz\",\n \"integrity\": \"sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==\"\n }\n }\n },\n \"gopd\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz\",\n \"integrity\": \"sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==\",\n \"requires\": {\n \"get-intrinsic\": \"^1.1.3\"\n }\n },\n \"graceful-fs\": {\n \"version\": \"4.2.11\",\n \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",\n \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==\"\n },\n \"graphemer\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz\",\n \"integrity\": \"sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==\"\n },\n \"gzip-size\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz\",\n \"integrity\": \"sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==\",\n \"requires\": {\n \"duplexer\": \"^0.1.2\"\n }\n },\n \"handle-thing\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz\",\n \"integrity\": \"sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==\"\n },\n \"harmony-reflect\": {\n \"version\": \"1.6.2\",\n \"resolved\": \"https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz\",\n \"integrity\": \"sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==\"\n },\n \"has-bigints\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz\",\n \"integrity\": \"sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==\"\n },\n \"has-flag\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n \"integrity\": \"sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==\"\n },\n \"has-property-descriptors\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz\",\n \"integrity\": \"sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==\",\n \"requires\": {\n \"es-define-property\": \"^1.0.0\"\n }\n },\n \"has-proto\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz\",\n \"integrity\": \"sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==\"\n },\n \"has-symbols\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\",\n \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==\"\n },\n \"has-tostringtag\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz\",\n \"integrity\": \"sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==\",\n \"requires\": {\n \"has-symbols\": \"^1.0.3\"\n }\n },\n \"hasown\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz\",\n \"integrity\": \"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==\",\n \"requires\": {\n \"function-bind\": \"^1.1.2\"\n }\n },\n \"he\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n \"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\"\n },\n \"highlight-words\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/highlight-words/-/highlight-words-1.2.2.tgz\",\n \"integrity\": \"sha512-Mf4xfPXYm8Ay1wTibCrHpNWeR2nUMynMVFkXCi4mbl+TEgmNOe+I4hV7W3OCZcSvzGL6kupaqpfHOemliMTGxQ==\"\n },\n \"hoist-non-react-statics\": {\n \"version\": \"3.3.2\",\n \"resolved\": \"https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz\",\n \"integrity\": \"sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==\",\n \"requires\": {\n \"react-is\": \"^16.7.0\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n }\n }\n },\n \"hoopy\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz\",\n \"integrity\": \"sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==\"\n },\n \"hpack.js\": {\n \"version\": \"2.1.6\",\n \"resolved\": \"https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz\",\n \"integrity\": \"sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==\",\n \"requires\": {\n \"inherits\": \"^2.0.1\",\n \"obuf\": \"^1.0.0\",\n \"readable-stream\": \"^2.0.1\",\n \"wbuf\": \"^1.1.0\"\n },\n \"dependencies\": {\n \"isarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n \"integrity\": \"sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==\"\n },\n \"readable-stream\": {\n \"version\": \"2.3.8\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz\",\n \"integrity\": \"sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==\",\n \"requires\": {\n \"core-util-is\": \"~1.0.0\",\n \"inherits\": \"~2.0.3\",\n \"isarray\": \"~1.0.0\",\n \"process-nextick-args\": \"~2.0.0\",\n \"safe-buffer\": \"~5.1.1\",\n \"string_decoder\": \"~1.1.1\",\n \"util-deprecate\": \"~1.0.1\"\n }\n },\n \"safe-buffer\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n \"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n },\n \"string_decoder\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n \"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n \"requires\": {\n \"safe-buffer\": \"~5.1.0\"\n }\n }\n }\n },\n \"html-encoding-sniffer\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz\",\n \"integrity\": \"sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==\",\n \"requires\": {\n \"whatwg-encoding\": \"^1.0.5\"\n }\n },\n \"html-entities\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz\",\n \"integrity\": \"sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==\"\n },\n \"html-escaper\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n \"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\"\n },\n \"html-minifier-terser\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz\",\n \"integrity\": \"sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==\",\n \"requires\": {\n \"camel-case\": \"^4.1.2\",\n \"clean-css\": \"^5.2.2\",\n \"commander\": \"^8.3.0\",\n \"he\": \"^1.2.0\",\n \"param-case\": \"^3.0.4\",\n \"relateurl\": \"^0.2.7\",\n \"terser\": \"^5.10.0\"\n }\n },\n \"html-parse-stringify\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz\",\n \"integrity\": \"sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==\",\n \"requires\": {\n \"void-elements\": \"3.1.0\"\n }\n },\n \"html-webpack-plugin\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz\",\n \"integrity\": \"sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==\",\n \"requires\": {\n \"@types/html-minifier-terser\": \"^6.0.0\",\n \"html-minifier-terser\": \"^6.0.2\",\n \"lodash\": \"^4.17.21\",\n \"pretty-error\": \"^4.0.0\",\n \"tapable\": \"^2.0.0\"\n }\n },\n \"htmlparser2\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz\",\n \"integrity\": \"sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==\",\n \"requires\": {\n \"domelementtype\": \"^2.0.1\",\n \"domhandler\": \"^4.0.0\",\n \"domutils\": \"^2.5.2\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"http-deceiver\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz\",\n \"integrity\": \"sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==\"\n },\n \"http-errors\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz\",\n \"integrity\": \"sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==\",\n \"requires\": {\n \"depd\": \"2.0.0\",\n \"inherits\": \"2.0.4\",\n \"setprototypeof\": \"1.2.0\",\n \"statuses\": \"2.0.1\",\n \"toidentifier\": \"1.0.1\"\n }\n },\n \"http-parser-js\": {\n \"version\": \"0.5.8\",\n \"resolved\": \"https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz\",\n \"integrity\": \"sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==\"\n },\n \"http-proxy\": {\n \"version\": \"1.18.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz\",\n \"integrity\": \"sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==\",\n \"requires\": {\n \"eventemitter3\": \"^4.0.0\",\n \"follow-redirects\": \"^1.0.0\",\n \"requires-port\": \"^1.0.0\"\n }\n },\n \"http-proxy-agent\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz\",\n \"integrity\": \"sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==\",\n \"requires\": {\n \"@tootallnate/once\": \"1\",\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n }\n },\n \"http-proxy-middleware\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz\",\n \"integrity\": \"sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==\",\n \"requires\": {\n \"@types/http-proxy\": \"^1.17.8\",\n \"http-proxy\": \"^1.18.1\",\n \"is-glob\": \"^4.0.1\",\n \"is-plain-obj\": \"^3.0.0\",\n \"micromatch\": \"^4.0.2\"\n }\n },\n \"https-proxy-agent\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz\",\n \"integrity\": \"sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==\",\n \"requires\": {\n \"agent-base\": \"6\",\n \"debug\": \"4\"\n }\n },\n \"human-signals\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz\",\n \"integrity\": \"sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==\"\n },\n \"hyparquet\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/hyparquet/-/hyparquet-1.1.0.tgz\",\n \"integrity\": \"sha512-WrLZblRqQ1qO7oLQfJrED+4HrVm9QRASauY+fhd4Ufeuo0ULjQYH95o9oHmoJ7P+S3CBI2B6Z9lzVuhnaXw8Ew==\"\n },\n \"i18next\": {\n \"version\": \"22.5.1\",\n \"resolved\": \"https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz\",\n \"integrity\": \"sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.20.6\"\n }\n },\n \"iconv-lite\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz\",\n \"integrity\": \"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3.0.0\"\n }\n },\n \"icss-utils\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz\",\n \"integrity\": \"sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==\",\n \"requires\": {}\n },\n \"idb\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/idb/-/idb-7.1.1.tgz\",\n \"integrity\": \"sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==\"\n },\n \"identity-obj-proxy\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz\",\n \"integrity\": \"sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==\",\n \"requires\": {\n \"harmony-reflect\": \"^1.4.6\"\n }\n },\n \"ignore\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz\",\n \"integrity\": \"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==\"\n },\n \"immer\": {\n \"version\": \"9.0.21\",\n \"resolved\": \"https://registry.npmjs.org/immer/-/immer-9.0.21.tgz\",\n \"integrity\": \"sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==\"\n },\n \"import-fresh\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n \"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n \"requires\": {\n \"parent-module\": \"^1.0.0\",\n \"resolve-from\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"resolve-from\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n \"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\"\n }\n }\n },\n \"import-local\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz\",\n \"integrity\": \"sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==\",\n \"requires\": {\n \"pkg-dir\": \"^4.2.0\",\n \"resolve-cwd\": \"^3.0.0\"\n }\n },\n \"imurmurhash\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n \"integrity\": \"sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\"\n },\n \"indent-string\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\"\n },\n \"index-array-by\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz\",\n \"integrity\": \"sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==\"\n },\n \"inflight\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\",\n \"requires\": {\n \"once\": \"^1.3.0\",\n \"wrappy\": \"1\"\n }\n },\n \"inherits\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\n \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\"\n },\n \"ini\": {\n \"version\": \"1.3.8\",\n \"resolved\": \"https://registry.npmjs.org/ini/-/ini-1.3.8.tgz\",\n \"integrity\": \"sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==\"\n },\n \"internal-slot\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz\",\n \"integrity\": \"sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==\",\n \"requires\": {\n \"es-errors\": \"^1.3.0\",\n \"hasown\": \"^2.0.0\",\n \"side-channel\": \"^1.0.4\"\n }\n },\n \"internmap\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz\",\n \"integrity\": \"sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==\"\n },\n \"ipaddr.js\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz\",\n \"integrity\": \"sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==\"\n },\n \"is-arguments\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz\",\n \"integrity\": \"sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-array-buffer\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz\",\n \"integrity\": \"sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.2.1\"\n }\n },\n \"is-arrayish\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n \"integrity\": \"sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==\"\n },\n \"is-async-function\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz\",\n \"integrity\": \"sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-bigint\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz\",\n \"integrity\": \"sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==\",\n \"requires\": {\n \"has-bigints\": \"^1.0.1\"\n }\n },\n \"is-binary-path\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz\",\n \"integrity\": \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\",\n \"requires\": {\n \"binary-extensions\": \"^2.0.0\"\n }\n },\n \"is-boolean-object\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz\",\n \"integrity\": \"sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-callable\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz\",\n \"integrity\": \"sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==\"\n },\n \"is-core-module\": {\n \"version\": \"2.15.1\",\n \"resolved\": \"https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz\",\n \"integrity\": \"sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==\",\n \"requires\": {\n \"hasown\": \"^2.0.2\"\n }\n },\n \"is-data-view\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz\",\n \"integrity\": \"sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==\",\n \"requires\": {\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"is-date-object\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz\",\n \"integrity\": \"sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-docker\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz\",\n \"integrity\": \"sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==\"\n },\n \"is-extglob\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n \"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\"\n },\n \"is-finalizationregistry\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz\",\n \"integrity\": \"sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\"\n }\n },\n \"is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\"\n },\n \"is-generator-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==\"\n },\n \"is-generator-function\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz\",\n \"integrity\": \"sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-glob\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n \"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n \"requires\": {\n \"is-extglob\": \"^2.1.1\"\n }\n },\n \"is-map\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz\",\n \"integrity\": \"sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==\"\n },\n \"is-module\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz\",\n \"integrity\": \"sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==\"\n },\n \"is-negative-zero\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz\",\n \"integrity\": \"sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==\"\n },\n \"is-number\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\"\n },\n \"is-number-object\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz\",\n \"integrity\": \"sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-obj\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz\",\n \"integrity\": \"sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==\"\n },\n \"is-path-inside\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\"\n },\n \"is-plain-obj\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz\",\n \"integrity\": \"sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==\"\n },\n \"is-potential-custom-element-name\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz\",\n \"integrity\": \"sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==\"\n },\n \"is-regex\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz\",\n \"integrity\": \"sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-regexp\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz\",\n \"integrity\": \"sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==\"\n },\n \"is-root\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz\",\n \"integrity\": \"sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==\"\n },\n \"is-set\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz\",\n \"integrity\": \"sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==\"\n },\n \"is-shared-array-buffer\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz\",\n \"integrity\": \"sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\"\n }\n },\n \"is-stream\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\",\n \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==\"\n },\n \"is-string\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz\",\n \"integrity\": \"sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==\",\n \"requires\": {\n \"has-tostringtag\": \"^1.0.0\"\n }\n },\n \"is-symbol\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz\",\n \"integrity\": \"sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==\",\n \"requires\": {\n \"has-symbols\": \"^1.0.2\"\n }\n },\n \"is-typed-array\": {\n \"version\": \"1.1.13\",\n \"resolved\": \"https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz\",\n \"integrity\": \"sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==\",\n \"requires\": {\n \"which-typed-array\": \"^1.1.14\"\n }\n },\n \"is-typedarray\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==\"\n },\n \"is-weakmap\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz\",\n \"integrity\": \"sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==\"\n },\n \"is-weakref\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz\",\n \"integrity\": \"sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\"\n }\n },\n \"is-weakset\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz\",\n \"integrity\": \"sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\"\n }\n },\n \"is-wsl\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz\",\n \"integrity\": \"sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==\",\n \"requires\": {\n \"is-docker\": \"^2.0.0\"\n }\n },\n \"isarray\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz\",\n \"integrity\": \"sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==\"\n },\n \"isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\"\n },\n \"istanbul-lib-coverage\": {\n \"version\": \"3.2.2\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz\",\n \"integrity\": \"sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==\"\n },\n \"istanbul-lib-instrument\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz\",\n \"integrity\": \"sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==\",\n \"requires\": {\n \"@babel/core\": \"^7.12.3\",\n \"@babel/parser\": \"^7.14.7\",\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"istanbul-lib-coverage\": \"^3.2.0\",\n \"semver\": \"^6.3.0\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"istanbul-lib-report\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz\",\n \"integrity\": \"sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==\",\n \"requires\": {\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"make-dir\": \"^4.0.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"make-dir\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz\",\n \"integrity\": \"sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==\",\n \"requires\": {\n \"semver\": \"^7.5.3\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"istanbul-lib-source-maps\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz\",\n \"integrity\": \"sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==\",\n \"requires\": {\n \"debug\": \"^4.1.1\",\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"source-map\": \"^0.6.1\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"istanbul-reports\": {\n \"version\": \"3.1.7\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz\",\n \"integrity\": \"sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==\",\n \"requires\": {\n \"html-escaper\": \"^2.0.0\",\n \"istanbul-lib-report\": \"^3.0.0\"\n }\n },\n \"iterator.prototype\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz\",\n \"integrity\": \"sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==\",\n \"requires\": {\n \"define-properties\": \"^1.2.1\",\n \"get-intrinsic\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"reflect.getprototypeof\": \"^1.0.4\",\n \"set-function-name\": \"^2.0.1\"\n }\n },\n \"jackspeak\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz\",\n \"integrity\": \"sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==\",\n \"requires\": {\n \"@isaacs/cliui\": \"^8.0.2\",\n \"@pkgjs/parseargs\": \"^0.11.0\"\n }\n },\n \"jake\": {\n \"version\": \"10.9.2\",\n \"resolved\": \"https://registry.npmjs.org/jake/-/jake-10.9.2.tgz\",\n \"integrity\": \"sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==\",\n \"requires\": {\n \"async\": \"^3.2.3\",\n \"chalk\": \"^4.0.2\",\n \"filelist\": \"^1.0.4\",\n \"minimatch\": \"^3.1.2\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jerrypick\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jerrypick/-/jerrypick-1.1.1.tgz\",\n \"integrity\": \"sha512-XTtedPYEyVp4t6hJrXuRKr/jHj8SC4z+4K0b396PMkov6muL+i8IIamJIvZWe3jUspgIJak0P+BaWKawMYNBLg==\"\n },\n \"jest\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest/-/jest-27.5.1.tgz\",\n \"integrity\": \"sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==\",\n \"requires\": {\n \"@jest/core\": \"^27.5.1\",\n \"import-local\": \"^3.0.2\",\n \"jest-cli\": \"^27.5.1\"\n }\n },\n \"jest-changed-files\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz\",\n \"integrity\": \"sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"execa\": \"^5.0.0\",\n \"throat\": \"^6.0.1\"\n }\n },\n \"jest-circus\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz\",\n \"integrity\": \"sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"dedent\": \"^0.7.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\",\n \"throat\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-cli\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz\",\n \"integrity\": \"sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==\",\n \"requires\": {\n \"@jest/core\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"exit\": \"^0.1.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"import-local\": \"^3.0.2\",\n \"jest-config\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"prompts\": \"^2.0.1\",\n \"yargs\": \"^16.2.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-config\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz\",\n \"integrity\": \"sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==\",\n \"requires\": {\n \"@babel/core\": \"^7.8.0\",\n \"@jest/test-sequencer\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"babel-jest\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"deepmerge\": \"^4.2.2\",\n \"glob\": \"^7.1.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-circus\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-jasmine2\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runner\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"parse-json\": \"^5.2.0\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-diff\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz\",\n \"integrity\": \"sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==\",\n \"requires\": {\n \"chalk\": \"^4.0.0\",\n \"diff-sequences\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-docblock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz\",\n \"integrity\": \"sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==\",\n \"requires\": {\n \"detect-newline\": \"^3.0.0\"\n }\n },\n \"jest-each\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz\",\n \"integrity\": \"sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-environment-jsdom\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz\",\n \"integrity\": \"sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jsdom\": \"^16.6.0\"\n }\n },\n \"jest-environment-node\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz\",\n \"integrity\": \"sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\"\n }\n },\n \"jest-get-type\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz\",\n \"integrity\": \"sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==\"\n },\n \"jest-haste-map\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz\",\n \"integrity\": \"sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/graceful-fs\": \"^4.1.2\",\n \"@types/node\": \"*\",\n \"anymatch\": \"^3.0.3\",\n \"fb-watchman\": \"^2.0.0\",\n \"fsevents\": \"^2.3.2\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-serializer\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"micromatch\": \"^4.0.4\",\n \"walker\": \"^1.0.7\"\n }\n },\n \"jest-jasmine2\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz\",\n \"integrity\": \"sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"co\": \"^4.6.0\",\n \"expect\": \"^27.5.1\",\n \"is-generator-fn\": \"^2.0.0\",\n \"jest-each\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\",\n \"throat\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-leak-detector\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz\",\n \"integrity\": \"sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==\",\n \"requires\": {\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n }\n },\n \"jest-matcher-utils\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz\",\n \"integrity\": \"sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==\",\n \"requires\": {\n \"chalk\": \"^4.0.0\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-message-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz\",\n \"integrity\": \"sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-mock\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz\",\n \"integrity\": \"sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\"\n }\n },\n \"jest-pnp-resolver\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz\",\n \"integrity\": \"sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==\",\n \"requires\": {}\n },\n \"jest-regex-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz\",\n \"integrity\": \"sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==\"\n },\n \"jest-resolve\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz\",\n \"integrity\": \"sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-pnp-resolver\": \"^1.2.2\",\n \"jest-util\": \"^27.5.1\",\n \"jest-validate\": \"^27.5.1\",\n \"resolve\": \"^1.20.0\",\n \"resolve.exports\": \"^1.1.0\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-resolve-dependencies\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz\",\n \"integrity\": \"sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\"\n }\n },\n \"jest-runner\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz\",\n \"integrity\": \"sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==\",\n \"requires\": {\n \"@jest/console\": \"^27.5.1\",\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.8.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-docblock\": \"^27.5.1\",\n \"jest-environment-jsdom\": \"^27.5.1\",\n \"jest-environment-node\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-leak-detector\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-runtime\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"jest-worker\": \"^27.5.1\",\n \"source-map-support\": \"^0.5.6\",\n \"throat\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-runtime\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz\",\n \"integrity\": \"sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==\",\n \"requires\": {\n \"@jest/environment\": \"^27.5.1\",\n \"@jest/fake-timers\": \"^27.5.1\",\n \"@jest/globals\": \"^27.5.1\",\n \"@jest/source-map\": \"^27.5.1\",\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"chalk\": \"^4.0.0\",\n \"cjs-module-lexer\": \"^1.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\",\n \"execa\": \"^5.0.0\",\n \"glob\": \"^7.1.3\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-mock\": \"^27.5.1\",\n \"jest-regex-util\": \"^27.5.1\",\n \"jest-resolve\": \"^27.5.1\",\n \"jest-snapshot\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"slash\": \"^3.0.0\",\n \"strip-bom\": \"^4.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-serializer\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz\",\n \"integrity\": \"sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"graceful-fs\": \"^4.2.9\"\n }\n },\n \"jest-snapshot\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz\",\n \"integrity\": \"sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==\",\n \"requires\": {\n \"@babel/core\": \"^7.7.2\",\n \"@babel/generator\": \"^7.7.2\",\n \"@babel/plugin-syntax-typescript\": \"^7.7.2\",\n \"@babel/traverse\": \"^7.7.2\",\n \"@babel/types\": \"^7.0.0\",\n \"@jest/transform\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/babel__traverse\": \"^7.0.4\",\n \"@types/prettier\": \"^2.1.5\",\n \"babel-preset-current-node-syntax\": \"^1.0.0\",\n \"chalk\": \"^4.0.0\",\n \"expect\": \"^27.5.1\",\n \"graceful-fs\": \"^4.2.9\",\n \"jest-diff\": \"^27.5.1\",\n \"jest-get-type\": \"^27.5.1\",\n \"jest-haste-map\": \"^27.5.1\",\n \"jest-matcher-utils\": \"^27.5.1\",\n \"jest-message-util\": \"^27.5.1\",\n \"jest-util\": \"^27.5.1\",\n \"natural-compare\": \"^1.4.0\",\n \"pretty-format\": \"^27.5.1\",\n \"semver\": \"^7.3.2\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-util\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz\",\n \"integrity\": \"sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-validate\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz\",\n \"integrity\": \"sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==\",\n \"requires\": {\n \"@jest/types\": \"^27.5.1\",\n \"camelcase\": \"^6.2.0\",\n \"chalk\": \"^4.0.0\",\n \"jest-get-type\": \"^27.5.1\",\n \"leven\": \"^3.1.0\",\n \"pretty-format\": \"^27.5.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-watch-typeahead\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz\",\n \"integrity\": \"sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==\",\n \"requires\": {\n \"ansi-escapes\": \"^4.3.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-regex-util\": \"^28.0.0\",\n \"jest-watcher\": \"^28.0.0\",\n \"slash\": \"^4.0.0\",\n \"string-length\": \"^5.0.1\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"dependencies\": {\n \"@jest/console\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz\",\n \"integrity\": \"sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==\",\n \"requires\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"jest-message-util\": \"^28.1.3\",\n \"jest-util\": \"^28.1.3\",\n \"slash\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\"\n }\n }\n },\n \"@jest/test-result\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz\",\n \"integrity\": \"sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==\",\n \"requires\": {\n \"@jest/console\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"collect-v8-coverage\": \"^1.0.0\"\n }\n },\n \"@jest/types\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz\",\n \"integrity\": \"sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==\",\n \"requires\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"@types/istanbul-lib-coverage\": \"^2.0.0\",\n \"@types/istanbul-reports\": \"^3.0.0\",\n \"@types/node\": \"*\",\n \"@types/yargs\": \"^17.0.8\",\n \"chalk\": \"^4.0.0\"\n }\n },\n \"@types/yargs\": {\n \"version\": \"17.0.33\",\n \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz\",\n \"integrity\": \"sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==\",\n \"requires\": {\n \"@types/yargs-parser\": \"*\"\n }\n },\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"emittery\": {\n \"version\": \"0.10.2\",\n \"resolved\": \"https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz\",\n \"integrity\": \"sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"jest-message-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz\",\n \"integrity\": \"sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.12.13\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/stack-utils\": \"^2.0.0\",\n \"chalk\": \"^4.0.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"micromatch\": \"^4.0.4\",\n \"pretty-format\": \"^28.1.3\",\n \"slash\": \"^3.0.0\",\n \"stack-utils\": \"^2.0.3\"\n },\n \"dependencies\": {\n \"slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\"\n }\n }\n },\n \"jest-regex-util\": {\n \"version\": \"28.0.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz\",\n \"integrity\": \"sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==\"\n },\n \"jest-util\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz\",\n \"integrity\": \"sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==\",\n \"requires\": {\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"chalk\": \"^4.0.0\",\n \"ci-info\": \"^3.2.0\",\n \"graceful-fs\": \"^4.2.9\",\n \"picomatch\": \"^2.2.3\"\n }\n },\n \"jest-watcher\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz\",\n \"integrity\": \"sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==\",\n \"requires\": {\n \"@jest/test-result\": \"^28.1.3\",\n \"@jest/types\": \"^28.1.3\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"emittery\": \"^0.10.2\",\n \"jest-util\": \"^28.1.3\",\n \"string-length\": \"^4.0.1\"\n },\n \"dependencies\": {\n \"string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"requires\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n }\n },\n \"strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\"\n }\n }\n }\n },\n \"pretty-format\": {\n \"version\": \"28.1.3\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz\",\n \"integrity\": \"sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==\",\n \"requires\": {\n \"@jest/schemas\": \"^28.1.3\",\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\"\n }\n }\n },\n \"react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\"\n },\n \"slash\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-4.0.0.tgz\",\n \"integrity\": \"sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==\"\n },\n \"string-length\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz\",\n \"integrity\": \"sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==\",\n \"requires\": {\n \"char-regex\": \"^2.0.0\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"dependencies\": {\n \"char-regex\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz\",\n \"integrity\": \"sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==\"\n }\n }\n },\n \"strip-ansi\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\",\n \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==\",\n \"requires\": {\n \"ansi-regex\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"ansi-regex\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz\",\n \"integrity\": \"sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==\"\n }\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-watcher\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz\",\n \"integrity\": \"sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==\",\n \"requires\": {\n \"@jest/test-result\": \"^27.5.1\",\n \"@jest/types\": \"^27.5.1\",\n \"@types/node\": \"*\",\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.0.0\",\n \"jest-util\": \"^27.5.1\",\n \"string-length\": \"^4.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jest-worker\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz\",\n \"integrity\": \"sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^8.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"jiti\": {\n \"version\": \"1.21.6\",\n \"resolved\": \"https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz\",\n \"integrity\": \"sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==\"\n },\n \"js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\"\n },\n \"js-yaml\": {\n \"version\": \"3.14.1\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz\",\n \"integrity\": \"sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==\",\n \"requires\": {\n \"argparse\": \"^1.0.7\",\n \"esprima\": \"^4.0.0\"\n }\n },\n \"jsdom\": {\n \"version\": \"16.7.0\",\n \"resolved\": \"https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz\",\n \"integrity\": \"sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==\",\n \"requires\": {\n \"abab\": \"^2.0.5\",\n \"acorn\": \"^8.2.4\",\n \"acorn-globals\": \"^6.0.0\",\n \"cssom\": \"^0.4.4\",\n \"cssstyle\": \"^2.3.0\",\n \"data-urls\": \"^2.0.0\",\n \"decimal.js\": \"^10.2.1\",\n \"domexception\": \"^2.0.1\",\n \"escodegen\": \"^2.0.0\",\n \"form-data\": \"^3.0.0\",\n \"html-encoding-sniffer\": \"^2.0.1\",\n \"http-proxy-agent\": \"^4.0.1\",\n \"https-proxy-agent\": \"^5.0.0\",\n \"is-potential-custom-element-name\": \"^1.0.1\",\n \"nwsapi\": \"^2.2.0\",\n \"parse5\": \"6.0.1\",\n \"saxes\": \"^5.0.1\",\n \"symbol-tree\": \"^3.2.4\",\n \"tough-cookie\": \"^4.0.0\",\n \"w3c-hr-time\": \"^1.0.2\",\n \"w3c-xmlserializer\": \"^2.0.0\",\n \"webidl-conversions\": \"^6.1.0\",\n \"whatwg-encoding\": \"^1.0.5\",\n \"whatwg-mimetype\": \"^2.3.0\",\n \"whatwg-url\": \"^8.5.0\",\n \"ws\": \"^7.4.6\",\n \"xml-name-validator\": \"^3.0.0\"\n }\n },\n \"jsesc\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n \"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\"\n },\n \"json-buffer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\",\n \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==\"\n },\n \"json-parse-even-better-errors\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n \"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\"\n },\n \"json-schema\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",\n \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==\"\n },\n \"json-schema-traverse\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n \"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\"\n },\n \"json-stable-stringify-without-jsonify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n \"integrity\": \"sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\"\n },\n \"json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\"\n },\n \"jsonfile\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\",\n \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==\",\n \"requires\": {\n \"graceful-fs\": \"^4.1.6\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"jsonpath\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz\",\n \"integrity\": \"sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==\",\n \"requires\": {\n \"esprima\": \"1.2.2\",\n \"static-eval\": \"2.0.2\",\n \"underscore\": \"1.12.1\"\n },\n \"dependencies\": {\n \"esprima\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz\",\n \"integrity\": \"sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==\"\n }\n }\n },\n \"jsonpointer\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz\",\n \"integrity\": \"sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==\"\n },\n \"jsx-ast-utils\": {\n \"version\": \"3.3.5\",\n \"resolved\": \"https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz\",\n \"integrity\": \"sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==\",\n \"requires\": {\n \"array-includes\": \"^3.1.6\",\n \"array.prototype.flat\": \"^1.3.1\",\n \"object.assign\": \"^4.1.4\",\n \"object.values\": \"^1.1.6\"\n }\n },\n \"kapsule\": {\n \"version\": \"1.14.5\",\n \"resolved\": \"https://registry.npmjs.org/kapsule/-/kapsule-1.14.5.tgz\",\n \"integrity\": \"sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==\",\n \"requires\": {\n \"lodash-es\": \"4\"\n }\n },\n \"keyv\": {\n \"version\": \"4.5.4\",\n \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\",\n \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==\",\n \"requires\": {\n \"json-buffer\": \"3.0.1\"\n }\n },\n \"kind-of\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz\",\n \"integrity\": \"sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==\"\n },\n \"kleur\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz\",\n \"integrity\": \"sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==\"\n },\n \"klona\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/klona/-/klona-2.0.6.tgz\",\n \"integrity\": \"sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==\"\n },\n \"language-subtag-registry\": {\n \"version\": \"0.3.23\",\n \"resolved\": \"https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz\",\n \"integrity\": \"sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==\"\n },\n \"language-tags\": {\n \"version\": \"1.0.9\",\n \"resolved\": \"https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz\",\n \"integrity\": \"sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==\",\n \"requires\": {\n \"language-subtag-registry\": \"^0.3.20\"\n }\n },\n \"launch-editor\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz\",\n \"integrity\": \"sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==\",\n \"requires\": {\n \"picocolors\": \"^1.0.0\",\n \"shell-quote\": \"^1.8.1\"\n }\n },\n \"leven\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/leven/-/leven-3.1.0.tgz\",\n \"integrity\": \"sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==\"\n },\n \"levn\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n \"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n \"requires\": {\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"~0.4.0\"\n }\n },\n \"lilconfig\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz\",\n \"integrity\": \"sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==\"\n },\n \"lines-and-columns\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n \"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\"\n },\n \"loader-runner\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz\",\n \"integrity\": \"sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==\"\n },\n \"loader-utils\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz\",\n \"integrity\": \"sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==\",\n \"requires\": {\n \"big.js\": \"^5.2.2\",\n \"emojis-list\": \"^3.0.0\",\n \"json5\": \"^2.1.2\"\n }\n },\n \"locate-path\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n \"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n \"requires\": {\n \"p-locate\": \"^4.1.0\"\n }\n },\n \"lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n },\n \"lodash-es\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz\",\n \"integrity\": \"sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==\"\n },\n \"lodash.debounce\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz\",\n \"integrity\": \"sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==\"\n },\n \"lodash.memoize\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n \"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\"\n },\n \"lodash.merge\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n \"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\"\n },\n \"lodash.sortby\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz\",\n \"integrity\": \"sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==\"\n },\n \"lodash.uniq\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz\",\n \"integrity\": \"sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==\"\n },\n \"loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"requires\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n }\n },\n \"lower-case\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz\",\n \"integrity\": \"sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\",\n \"requires\": {\n \"tslib\": \"^2.0.3\"\n }\n },\n \"lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"requires\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"lz-string\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz\",\n \"integrity\": \"sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==\"\n },\n \"magic-string\": {\n \"version\": \"0.25.9\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz\",\n \"integrity\": \"sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==\",\n \"requires\": {\n \"sourcemap-codec\": \"^1.4.8\"\n }\n },\n \"make-dir\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz\",\n \"integrity\": \"sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==\",\n \"requires\": {\n \"semver\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\"\n }\n }\n },\n \"makeerror\": {\n \"version\": \"1.0.12\",\n \"resolved\": \"https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz\",\n \"integrity\": \"sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==\",\n \"requires\": {\n \"tmpl\": \"1.0.5\"\n }\n },\n \"material-react-table\": {\n \"version\": \"2.13.1\",\n \"resolved\": \"https://registry.npmjs.org/material-react-table/-/material-react-table-2.13.1.tgz\",\n \"integrity\": \"sha512-3iWwCa24ogxwllP4+W11euR/GV6f5wQE5FEilJ72/H3hDYHgsN+XehANytaG0G7/qy/OWYE7oXkcsRUU35I/iA==\",\n \"requires\": {\n \"@tanstack/match-sorter-utils\": \"8.15.1\",\n \"@tanstack/react-table\": \"8.19.3\",\n \"@tanstack/react-virtual\": \"3.8.3\",\n \"highlight-words\": \"1.2.2\"\n }\n },\n \"mdn-data\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz\",\n \"integrity\": \"sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==\"\n },\n \"media-typer\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n \"integrity\": \"sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==\"\n },\n \"memfs\": {\n \"version\": \"3.5.3\",\n \"resolved\": \"https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz\",\n \"integrity\": \"sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==\",\n \"requires\": {\n \"fs-monkey\": \"^1.0.4\"\n }\n },\n \"merge-descriptors\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz\",\n \"integrity\": \"sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==\"\n },\n \"merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\"\n },\n \"merge2\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz\",\n \"integrity\": \"sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\"\n },\n \"meshoptimizer\": {\n \"version\": \"0.18.1\",\n \"resolved\": \"https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz\",\n \"integrity\": \"sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==\",\n \"dev\": true\n },\n \"methods\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n \"integrity\": \"sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==\"\n },\n \"micromatch\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz\",\n \"integrity\": \"sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==\",\n \"requires\": {\n \"braces\": \"^3.0.3\",\n \"picomatch\": \"^2.3.1\"\n }\n },\n \"mime\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n \"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\"\n },\n \"mime-db\": {\n \"version\": \"1.52.0\",\n \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\",\n \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==\"\n },\n \"mime-types\": {\n \"version\": \"2.1.35\",\n \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\",\n \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==\",\n \"requires\": {\n \"mime-db\": \"1.52.0\"\n }\n },\n \"mimic-fn\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\",\n \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==\"\n },\n \"min-indent\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n \"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\"\n },\n \"mini-css-extract-plugin\": {\n \"version\": \"2.9.1\",\n \"resolved\": \"https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz\",\n \"integrity\": \"sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==\",\n \"requires\": {\n \"schema-utils\": \"^4.0.0\",\n \"tapable\": \"^2.2.1\"\n }\n },\n \"minimalistic-assert\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz\",\n \"integrity\": \"sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==\"\n },\n \"minimatch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n \"requires\": {\n \"brace-expansion\": \"^1.1.7\"\n }\n },\n \"minimist\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",\n \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\"\n },\n \"minipass\": {\n \"version\": \"7.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz\",\n \"integrity\": \"sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==\"\n },\n \"mkdirp\": {\n \"version\": \"0.5.6\",\n \"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz\",\n \"integrity\": \"sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==\",\n \"requires\": {\n \"minimist\": \"^1.2.6\"\n }\n },\n \"ms\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\"\n },\n \"multicast-dns\": {\n \"version\": \"7.2.5\",\n \"resolved\": \"https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz\",\n \"integrity\": \"sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==\",\n \"requires\": {\n \"dns-packet\": \"^5.2.2\",\n \"thunky\": \"^1.0.2\"\n }\n },\n \"mz\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/mz/-/mz-2.7.0.tgz\",\n \"integrity\": \"sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==\",\n \"requires\": {\n \"any-promise\": \"^1.0.0\",\n \"object-assign\": \"^4.0.1\",\n \"thenify-all\": \"^1.0.0\"\n }\n },\n \"nanoid\": {\n \"version\": \"3.3.7\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz\",\n \"integrity\": \"sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==\"\n },\n \"natural-compare\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n \"integrity\": \"sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\"\n },\n \"natural-compare-lite\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz\",\n \"integrity\": \"sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==\"\n },\n \"negotiator\": {\n \"version\": \"0.6.3\",\n \"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz\",\n \"integrity\": \"sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==\"\n },\n \"neo-async\": {\n \"version\": \"2.6.2\",\n \"resolved\": \"https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz\",\n \"integrity\": \"sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==\"\n },\n \"ngraph.events\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz\",\n \"integrity\": \"sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==\"\n },\n \"ngraph.forcelayout\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz\",\n \"integrity\": \"sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==\",\n \"requires\": {\n \"ngraph.events\": \"^1.0.0\",\n \"ngraph.merge\": \"^1.0.0\",\n \"ngraph.random\": \"^1.0.0\"\n }\n },\n \"ngraph.graph\": {\n \"version\": \"20.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz\",\n \"integrity\": \"sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==\",\n \"requires\": {\n \"ngraph.events\": \"^1.2.1\"\n }\n },\n \"ngraph.merge\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.merge/-/ngraph.merge-1.0.0.tgz\",\n \"integrity\": \"sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg==\"\n },\n \"ngraph.random\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ngraph.random/-/ngraph.random-1.1.0.tgz\",\n \"integrity\": \"sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw==\"\n },\n \"no-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz\",\n \"integrity\": \"sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\",\n \"requires\": {\n \"lower-case\": \"^2.0.2\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"node-forge\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz\",\n \"integrity\": \"sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==\"\n },\n \"node-int64\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz\",\n \"integrity\": \"sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==\"\n },\n \"node-releases\": {\n \"version\": \"2.0.18\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz\",\n \"integrity\": \"sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==\"\n },\n \"normalize-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz\",\n \"integrity\": \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\"\n },\n \"normalize-range\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz\",\n \"integrity\": \"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\"\n },\n \"normalize-url\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz\",\n \"integrity\": \"sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==\"\n },\n \"npm-run-path\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\",\n \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==\",\n \"requires\": {\n \"path-key\": \"^3.0.0\"\n }\n },\n \"nth-check\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n \"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n \"requires\": {\n \"boolbase\": \"^1.0.0\"\n }\n },\n \"nwsapi\": {\n \"version\": \"2.2.12\",\n \"resolved\": \"https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz\",\n \"integrity\": \"sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==\"\n },\n \"object-assign\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz\",\n \"integrity\": \"sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==\"\n },\n \"object-hash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz\",\n \"integrity\": \"sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\"\n },\n \"object-inspect\": {\n \"version\": \"1.13.2\",\n \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz\",\n \"integrity\": \"sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==\"\n },\n \"object-is\": {\n \"version\": \"1.1.6\",\n \"resolved\": \"https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz\",\n \"integrity\": \"sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\"\n }\n },\n \"object-keys\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n \"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\"\n },\n \"object.assign\": {\n \"version\": \"4.1.5\",\n \"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz\",\n \"integrity\": \"sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.5\",\n \"define-properties\": \"^1.2.1\",\n \"has-symbols\": \"^1.0.3\",\n \"object-keys\": \"^1.1.1\"\n }\n },\n \"object.entries\": {\n \"version\": \"1.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz\",\n \"integrity\": \"sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"object.fromentries\": {\n \"version\": \"2.0.8\",\n \"resolved\": \"https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz\",\n \"integrity\": \"sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"object.getownpropertydescriptors\": {\n \"version\": \"2.1.8\",\n \"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz\",\n \"integrity\": \"sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==\",\n \"requires\": {\n \"array.prototype.reduce\": \"^1.0.6\",\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\",\n \"gopd\": \"^1.0.1\",\n \"safe-array-concat\": \"^1.1.2\"\n }\n },\n \"object.groupby\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz\",\n \"integrity\": \"sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\"\n }\n },\n \"object.values\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz\",\n \"integrity\": \"sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"obuf\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz\",\n \"integrity\": \"sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==\"\n },\n \"on-finished\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz\",\n \"integrity\": \"sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==\",\n \"requires\": {\n \"ee-first\": \"1.1.1\"\n }\n },\n \"on-headers\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n \"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\"\n },\n \"once\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\",\n \"requires\": {\n \"wrappy\": \"1\"\n }\n },\n \"onetime\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",\n \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==\",\n \"requires\": {\n \"mimic-fn\": \"^2.1.0\"\n }\n },\n \"open\": {\n \"version\": \"8.4.2\",\n \"resolved\": \"https://registry.npmjs.org/open/-/open-8.4.2.tgz\",\n \"integrity\": \"sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==\",\n \"requires\": {\n \"define-lazy-prop\": \"^2.0.0\",\n \"is-docker\": \"^2.1.1\",\n \"is-wsl\": \"^2.2.0\"\n }\n },\n \"optionator\": {\n \"version\": \"0.9.4\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz\",\n \"integrity\": \"sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==\",\n \"requires\": {\n \"deep-is\": \"^0.1.3\",\n \"fast-levenshtein\": \"^2.0.6\",\n \"levn\": \"^0.4.1\",\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"^0.4.0\",\n \"word-wrap\": \"^1.2.5\"\n }\n },\n \"p-limit\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n \"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n \"requires\": {\n \"p-try\": \"^2.0.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n \"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n \"requires\": {\n \"p-limit\": \"^2.2.0\"\n }\n },\n \"p-retry\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz\",\n \"integrity\": \"sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==\",\n \"requires\": {\n \"@types/retry\": \"0.12.0\",\n \"retry\": \"^0.13.1\"\n }\n },\n \"p-try\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n \"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\"\n },\n \"package-json-from-dist\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz\",\n \"integrity\": \"sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==\"\n },\n \"param-case\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz\",\n \"integrity\": \"sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==\",\n \"requires\": {\n \"dot-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"parent-module\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n \"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n \"requires\": {\n \"callsites\": \"^3.0.0\"\n }\n },\n \"parse-json\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n \"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.0.0\",\n \"error-ex\": \"^1.3.1\",\n \"json-parse-even-better-errors\": \"^2.3.0\",\n \"lines-and-columns\": \"^1.1.6\"\n }\n },\n \"parse5\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz\",\n \"integrity\": \"sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==\"\n },\n \"parseurl\": {\n \"version\": \"1.3.3\",\n \"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n \"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\"\n },\n \"pascal-case\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz\",\n \"integrity\": \"sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==\",\n \"requires\": {\n \"no-case\": \"^3.0.4\",\n \"tslib\": \"^2.0.3\"\n }\n },\n \"path-exists\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n \"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\"\n },\n \"path-is-absolute\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\"\n },\n \"path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\"\n },\n \"path-parse\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz\",\n \"integrity\": \"sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\"\n },\n \"path-scurry\": {\n \"version\": \"1.11.1\",\n \"resolved\": \"https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz\",\n \"integrity\": \"sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==\",\n \"requires\": {\n \"lru-cache\": \"^10.2.0\",\n \"minipass\": \"^5.0.0 || ^6.0.2 || ^7.0.0\"\n },\n \"dependencies\": {\n \"lru-cache\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz\",\n \"integrity\": \"sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==\"\n }\n }\n },\n \"path-to-regexp\": {\n \"version\": \"0.1.10\",\n \"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz\",\n \"integrity\": \"sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==\"\n },\n \"path-type\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz\",\n \"integrity\": \"sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==\"\n },\n \"performance-now\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==\"\n },\n \"picocolors\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz\",\n \"integrity\": \"sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==\"\n },\n \"picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\"\n },\n \"pify\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",\n \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\"\n },\n \"pinkie\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz\",\n \"integrity\": \"sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==\",\n \"dev\": true\n },\n \"pinkie-promise\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz\",\n \"integrity\": \"sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==\",\n \"dev\": true,\n \"requires\": {\n \"pinkie\": \"^2.0.0\"\n }\n },\n \"pirates\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz\",\n \"integrity\": \"sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==\"\n },\n \"pkg-dir\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz\",\n \"integrity\": \"sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==\",\n \"requires\": {\n \"find-up\": \"^4.0.0\"\n }\n },\n \"pkg-up\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz\",\n \"integrity\": \"sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==\",\n \"requires\": {\n \"find-up\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"find-up\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n \"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n \"requires\": {\n \"locate-path\": \"^3.0.0\"\n }\n },\n \"locate-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n \"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n \"requires\": {\n \"p-locate\": \"^3.0.0\",\n \"path-exists\": \"^3.0.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n \"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n \"requires\": {\n \"p-limit\": \"^2.0.0\"\n }\n },\n \"path-exists\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n \"integrity\": \"sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==\"\n }\n }\n },\n \"polished\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/polished/-/polished-4.3.1.tgz\",\n \"integrity\": \"sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.17.8\"\n }\n },\n \"possible-typed-array-names\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz\",\n \"integrity\": \"sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==\"\n },\n \"postcss\": {\n \"version\": \"8.4.47\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz\",\n \"integrity\": \"sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==\",\n \"requires\": {\n \"nanoid\": \"^3.3.7\",\n \"picocolors\": \"^1.1.0\",\n \"source-map-js\": \"^1.2.1\"\n }\n },\n \"postcss-attribute-case-insensitive\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz\",\n \"integrity\": \"sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-browser-comments\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz\",\n \"integrity\": \"sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==\",\n \"requires\": {}\n },\n \"postcss-calc\": {\n \"version\": \"8.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz\",\n \"integrity\": \"sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-clamp\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz\",\n \"integrity\": \"sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-color-functional-notation\": {\n \"version\": \"4.2.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz\",\n \"integrity\": \"sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-color-hex-alpha\": {\n \"version\": \"8.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz\",\n \"integrity\": \"sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-color-rebeccapurple\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz\",\n \"integrity\": \"sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-colormin\": {\n \"version\": \"5.3.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz\",\n \"integrity\": \"sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"colord\": \"^2.9.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-convert-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz\",\n \"integrity\": \"sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-custom-media\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz\",\n \"integrity\": \"sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-custom-properties\": {\n \"version\": \"12.1.11\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz\",\n \"integrity\": \"sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-custom-selectors\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz\",\n \"integrity\": \"sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n }\n },\n \"postcss-dir-pseudo-class\": {\n \"version\": \"6.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz\",\n \"integrity\": \"sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-discard-comments\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz\",\n \"integrity\": \"sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==\",\n \"requires\": {}\n },\n \"postcss-discard-duplicates\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz\",\n \"integrity\": \"sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==\",\n \"requires\": {}\n },\n \"postcss-discard-empty\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz\",\n \"integrity\": \"sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==\",\n \"requires\": {}\n },\n \"postcss-discard-overridden\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz\",\n \"integrity\": \"sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==\",\n \"requires\": {}\n },\n \"postcss-double-position-gradients\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz\",\n \"integrity\": \"sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-env-function\": {\n \"version\": \"4.0.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz\",\n \"integrity\": \"sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-flexbugs-fixes\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz\",\n \"integrity\": \"sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==\",\n \"requires\": {}\n },\n \"postcss-focus-visible\": {\n \"version\": \"6.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz\",\n \"integrity\": \"sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"postcss-focus-within\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz\",\n \"integrity\": \"sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.9\"\n }\n },\n \"postcss-font-variant\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz\",\n \"integrity\": \"sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==\",\n \"requires\": {}\n },\n \"postcss-gap-properties\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz\",\n \"integrity\": \"sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==\",\n \"requires\": {}\n },\n \"postcss-image-set-function\": {\n \"version\": \"4.0.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz\",\n \"integrity\": \"sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-import\": {\n \"version\": \"15.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz\",\n \"integrity\": \"sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.0.0\",\n \"read-cache\": \"^1.0.0\",\n \"resolve\": \"^1.1.7\"\n }\n },\n \"postcss-initial\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz\",\n \"integrity\": \"sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==\",\n \"requires\": {}\n },\n \"postcss-js\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz\",\n \"integrity\": \"sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\",\n \"requires\": {\n \"camelcase-css\": \"^2.0.1\"\n }\n },\n \"postcss-lab-function\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz\",\n \"integrity\": \"sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==\",\n \"requires\": {\n \"@csstools/postcss-progressive-custom-properties\": \"^1.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-load-config\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz\",\n \"integrity\": \"sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==\",\n \"requires\": {\n \"lilconfig\": \"^3.0.0\",\n \"yaml\": \"^2.3.4\"\n },\n \"dependencies\": {\n \"lilconfig\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz\",\n \"integrity\": \"sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==\"\n },\n \"yaml\": {\n \"version\": \"2.5.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz\",\n \"integrity\": \"sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==\"\n }\n }\n },\n \"postcss-loader\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz\",\n \"integrity\": \"sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==\",\n \"requires\": {\n \"cosmiconfig\": \"^7.0.0\",\n \"klona\": \"^2.0.5\",\n \"semver\": \"^7.3.5\"\n }\n },\n \"postcss-logical\": {\n \"version\": \"5.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz\",\n \"integrity\": \"sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==\",\n \"requires\": {}\n },\n \"postcss-media-minmax\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz\",\n \"integrity\": \"sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==\",\n \"requires\": {}\n },\n \"postcss-merge-longhand\": {\n \"version\": \"5.1.7\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz\",\n \"integrity\": \"sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"stylehacks\": \"^5.1.1\"\n }\n },\n \"postcss-merge-rules\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz\",\n \"integrity\": \"sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-selector-parser\": \"^6.0.5\"\n }\n },\n \"postcss-minify-font-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz\",\n \"integrity\": \"sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-minify-gradients\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz\",\n \"integrity\": \"sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==\",\n \"requires\": {\n \"colord\": \"^2.9.1\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-minify-params\": {\n \"version\": \"5.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz\",\n \"integrity\": \"sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-minify-selectors\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz\",\n \"integrity\": \"sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n }\n },\n \"postcss-modules-extract-imports\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz\",\n \"integrity\": \"sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==\",\n \"requires\": {}\n },\n \"postcss-modules-local-by-default\": {\n \"version\": \"4.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz\",\n \"integrity\": \"sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==\",\n \"requires\": {\n \"icss-utils\": \"^5.0.0\",\n \"postcss-selector-parser\": \"^6.0.2\",\n \"postcss-value-parser\": \"^4.1.0\"\n }\n },\n \"postcss-modules-scope\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz\",\n \"integrity\": \"sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.4\"\n }\n },\n \"postcss-modules-values\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz\",\n \"integrity\": \"sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==\",\n \"requires\": {\n \"icss-utils\": \"^5.0.0\"\n }\n },\n \"postcss-nested\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz\",\n \"integrity\": \"sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.1.1\"\n }\n },\n \"postcss-nesting\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz\",\n \"integrity\": \"sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==\",\n \"requires\": {\n \"@csstools/selector-specificity\": \"^2.0.0\",\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-normalize\": {\n \"version\": \"10.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz\",\n \"integrity\": \"sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==\",\n \"requires\": {\n \"@csstools/normalize.css\": \"*\",\n \"postcss-browser-comments\": \"^4\",\n \"sanitize.css\": \"*\"\n }\n },\n \"postcss-normalize-charset\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz\",\n \"integrity\": \"sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==\",\n \"requires\": {}\n },\n \"postcss-normalize-display-values\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz\",\n \"integrity\": \"sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-positions\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz\",\n \"integrity\": \"sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-repeat-style\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz\",\n \"integrity\": \"sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-string\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz\",\n \"integrity\": \"sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-timing-functions\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz\",\n \"integrity\": \"sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-unicode\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz\",\n \"integrity\": \"sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-url\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz\",\n \"integrity\": \"sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==\",\n \"requires\": {\n \"normalize-url\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-normalize-whitespace\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz\",\n \"integrity\": \"sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-opacity-percentage\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz\",\n \"integrity\": \"sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==\",\n \"requires\": {}\n },\n \"postcss-ordered-values\": {\n \"version\": \"5.1.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz\",\n \"integrity\": \"sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==\",\n \"requires\": {\n \"cssnano-utils\": \"^3.1.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-overflow-shorthand\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz\",\n \"integrity\": \"sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-page-break\": {\n \"version\": \"3.0.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz\",\n \"integrity\": \"sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==\",\n \"requires\": {}\n },\n \"postcss-place\": {\n \"version\": \"7.0.5\",\n \"resolved\": \"https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz\",\n \"integrity\": \"sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-preset-env\": {\n \"version\": \"7.8.3\",\n \"resolved\": \"https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz\",\n \"integrity\": \"sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==\",\n \"requires\": {\n \"@csstools/postcss-cascade-layers\": \"^1.1.1\",\n \"@csstools/postcss-color-function\": \"^1.1.1\",\n \"@csstools/postcss-font-format-keywords\": \"^1.0.1\",\n \"@csstools/postcss-hwb-function\": \"^1.0.2\",\n \"@csstools/postcss-ic-unit\": \"^1.0.1\",\n \"@csstools/postcss-is-pseudo-class\": \"^2.0.7\",\n \"@csstools/postcss-nested-calc\": \"^1.0.0\",\n \"@csstools/postcss-normalize-display-values\": \"^1.0.1\",\n \"@csstools/postcss-oklab-function\": \"^1.1.1\",\n \"@csstools/postcss-progressive-custom-properties\": \"^1.3.0\",\n \"@csstools/postcss-stepped-value-functions\": \"^1.0.1\",\n \"@csstools/postcss-text-decoration-shorthand\": \"^1.0.0\",\n \"@csstools/postcss-trigonometric-functions\": \"^1.0.2\",\n \"@csstools/postcss-unset-value\": \"^1.0.2\",\n \"autoprefixer\": \"^10.4.13\",\n \"browserslist\": \"^4.21.4\",\n \"css-blank-pseudo\": \"^3.0.3\",\n \"css-has-pseudo\": \"^3.0.4\",\n \"css-prefers-color-scheme\": \"^6.0.3\",\n \"cssdb\": \"^7.1.0\",\n \"postcss-attribute-case-insensitive\": \"^5.0.2\",\n \"postcss-clamp\": \"^4.1.0\",\n \"postcss-color-functional-notation\": \"^4.2.4\",\n \"postcss-color-hex-alpha\": \"^8.0.4\",\n \"postcss-color-rebeccapurple\": \"^7.1.1\",\n \"postcss-custom-media\": \"^8.0.2\",\n \"postcss-custom-properties\": \"^12.1.10\",\n \"postcss-custom-selectors\": \"^6.0.3\",\n \"postcss-dir-pseudo-class\": \"^6.0.5\",\n \"postcss-double-position-gradients\": \"^3.1.2\",\n \"postcss-env-function\": \"^4.0.6\",\n \"postcss-focus-visible\": \"^6.0.4\",\n \"postcss-focus-within\": \"^5.0.4\",\n \"postcss-font-variant\": \"^5.0.0\",\n \"postcss-gap-properties\": \"^3.0.5\",\n \"postcss-image-set-function\": \"^4.0.7\",\n \"postcss-initial\": \"^4.0.1\",\n \"postcss-lab-function\": \"^4.2.1\",\n \"postcss-logical\": \"^5.0.4\",\n \"postcss-media-minmax\": \"^5.0.0\",\n \"postcss-nesting\": \"^10.2.0\",\n \"postcss-opacity-percentage\": \"^1.1.2\",\n \"postcss-overflow-shorthand\": \"^3.0.4\",\n \"postcss-page-break\": \"^3.0.4\",\n \"postcss-place\": \"^7.0.5\",\n \"postcss-pseudo-class-any-link\": \"^7.1.6\",\n \"postcss-replace-overflow-wrap\": \"^4.0.0\",\n \"postcss-selector-not\": \"^6.0.1\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-pseudo-class-any-link\": {\n \"version\": \"7.1.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz\",\n \"integrity\": \"sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-reduce-initial\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz\",\n \"integrity\": \"sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"caniuse-api\": \"^3.0.0\"\n }\n },\n \"postcss-reduce-transforms\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz\",\n \"integrity\": \"sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"postcss-replace-overflow-wrap\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz\",\n \"integrity\": \"sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==\",\n \"requires\": {}\n },\n \"postcss-selector-not\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz\",\n \"integrity\": \"sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-selector-parser\": {\n \"version\": \"6.1.2\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz\",\n \"integrity\": \"sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==\",\n \"requires\": {\n \"cssesc\": \"^3.0.0\",\n \"util-deprecate\": \"^1.0.2\"\n }\n },\n \"postcss-svgo\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz\",\n \"integrity\": \"sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==\",\n \"requires\": {\n \"postcss-value-parser\": \"^4.2.0\",\n \"svgo\": \"^2.7.0\"\n },\n \"dependencies\": {\n \"commander\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-7.2.0.tgz\",\n \"integrity\": \"sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==\"\n },\n \"css-tree\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz\",\n \"integrity\": \"sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==\",\n \"requires\": {\n \"mdn-data\": \"2.0.14\",\n \"source-map\": \"^0.6.1\"\n }\n },\n \"mdn-data\": {\n \"version\": \"2.0.14\",\n \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz\",\n \"integrity\": \"sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"svgo\": {\n \"version\": \"2.8.0\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz\",\n \"integrity\": \"sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==\",\n \"requires\": {\n \"@trysound/sax\": \"0.2.0\",\n \"commander\": \"^7.2.0\",\n \"css-select\": \"^4.1.3\",\n \"css-tree\": \"^1.1.3\",\n \"csso\": \"^4.2.0\",\n \"picocolors\": \"^1.0.0\",\n \"stable\": \"^0.1.8\"\n }\n }\n }\n },\n \"postcss-unique-selectors\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz\",\n \"integrity\": \"sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==\",\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.5\"\n }\n },\n \"postcss-value-parser\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz\",\n \"integrity\": \"sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\"\n },\n \"prelude-ls\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n \"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\"\n },\n \"pretty-bytes\": {\n \"version\": \"5.6.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\",\n \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==\"\n },\n \"pretty-error\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz\",\n \"integrity\": \"sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==\",\n \"requires\": {\n \"lodash\": \"^4.17.20\",\n \"renderkid\": \"^3.0.0\"\n }\n },\n \"pretty-format\": {\n \"version\": \"27.5.1\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz\",\n \"integrity\": \"sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^17.0.1\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\"\n }\n }\n },\n \"process-nextick-args\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n \"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\"\n },\n \"promise\": {\n \"version\": \"8.3.0\",\n \"resolved\": \"https://registry.npmjs.org/promise/-/promise-8.3.0.tgz\",\n \"integrity\": \"sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==\",\n \"requires\": {\n \"asap\": \"~2.0.6\"\n }\n },\n \"prompts\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz\",\n \"integrity\": \"sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==\",\n \"requires\": {\n \"kleur\": \"^3.0.3\",\n \"sisteransi\": \"^1.0.5\"\n }\n },\n \"prop-types\": {\n \"version\": \"15.8.1\",\n \"resolved\": \"https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz\",\n \"integrity\": \"sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==\",\n \"requires\": {\n \"loose-envify\": \"^1.4.0\",\n \"object-assign\": \"^4.1.1\",\n \"react-is\": \"^16.13.1\"\n },\n \"dependencies\": {\n \"react-is\": {\n \"version\": \"16.13.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz\",\n \"integrity\": \"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\"\n }\n }\n },\n \"proxy-addr\": {\n \"version\": \"2.0.7\",\n \"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz\",\n \"integrity\": \"sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==\",\n \"requires\": {\n \"forwarded\": \"0.2.0\",\n \"ipaddr.js\": \"1.9.1\"\n },\n \"dependencies\": {\n \"ipaddr.js\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n \"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\"\n }\n }\n },\n \"proxy-from-env\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz\",\n \"integrity\": \"sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==\"\n },\n \"psl\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\",\n \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==\"\n },\n \"punycode\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz\",\n \"integrity\": \"sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==\"\n },\n \"q\": {\n \"version\": \"1.5.1\",\n \"resolved\": \"https://registry.npmjs.org/q/-/q-1.5.1.tgz\",\n \"integrity\": \"sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==\"\n },\n \"qs\": {\n \"version\": \"6.13.0\",\n \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.13.0.tgz\",\n \"integrity\": \"sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==\",\n \"requires\": {\n \"side-channel\": \"^1.0.6\"\n }\n },\n \"querystringify\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\",\n \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==\"\n },\n \"queue-microtask\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n \"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\"\n },\n \"raf\": {\n \"version\": \"3.4.1\",\n \"resolved\": \"https://registry.npmjs.org/raf/-/raf-3.4.1.tgz\",\n \"integrity\": \"sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==\",\n \"requires\": {\n \"performance-now\": \"^2.1.0\"\n }\n },\n \"randombytes\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz\",\n \"integrity\": \"sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\",\n \"requires\": {\n \"safe-buffer\": \"^5.1.0\"\n }\n },\n \"range-parser\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n \"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\"\n },\n \"raw-body\": {\n \"version\": \"2.5.2\",\n \"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz\",\n \"integrity\": \"sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==\",\n \"requires\": {\n \"bytes\": \"3.1.2\",\n \"http-errors\": \"2.0.0\",\n \"iconv-lite\": \"0.4.24\",\n \"unpipe\": \"1.0.0\"\n },\n \"dependencies\": {\n \"bytes\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\",\n \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==\"\n },\n \"iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n }\n }\n }\n },\n \"react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"react-app-polyfill\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz\",\n \"integrity\": \"sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==\",\n \"requires\": {\n \"core-js\": \"^3.19.2\",\n \"object-assign\": \"^4.1.1\",\n \"promise\": \"^8.1.0\",\n \"raf\": \"^3.4.1\",\n \"regenerator-runtime\": \"^0.13.9\",\n \"whatwg-fetch\": \"^3.6.2\"\n },\n \"dependencies\": {\n \"regenerator-runtime\": {\n \"version\": \"0.13.11\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz\",\n \"integrity\": \"sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\"\n }\n }\n },\n \"react-app-rewired\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz\",\n \"integrity\": \"sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==\",\n \"requires\": {\n \"semver\": \"^5.6.0\"\n },\n \"dependencies\": {\n \"semver\": {\n \"version\": \"5.7.2\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.2.tgz\",\n \"integrity\": \"sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==\"\n }\n }\n },\n \"react-dev-utils\": {\n \"version\": \"12.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz\",\n \"integrity\": \"sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.16.0\",\n \"address\": \"^1.1.2\",\n \"browserslist\": \"^4.18.1\",\n \"chalk\": \"^4.1.2\",\n \"cross-spawn\": \"^7.0.3\",\n \"detect-port-alt\": \"^1.1.6\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"filesize\": \"^8.0.6\",\n \"find-up\": \"^5.0.0\",\n \"fork-ts-checker-webpack-plugin\": \"^6.5.0\",\n \"global-modules\": \"^2.0.0\",\n \"globby\": \"^11.0.4\",\n \"gzip-size\": \"^6.0.0\",\n \"immer\": \"^9.0.7\",\n \"is-root\": \"^2.1.0\",\n \"loader-utils\": \"^3.2.0\",\n \"open\": \"^8.4.0\",\n \"pkg-up\": \"^3.1.0\",\n \"prompts\": \"^2.4.2\",\n \"react-error-overlay\": \"^6.0.11\",\n \"recursive-readdir\": \"^2.2.2\",\n \"shell-quote\": \"^1.7.3\",\n \"strip-ansi\": \"^6.0.1\",\n \"text-table\": \"^0.2.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"requires\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n },\n \"escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"\n },\n \"find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"requires\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n }\n },\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"loader-utils\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz\",\n \"integrity\": \"sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==\"\n },\n \"locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"requires\": {\n \"p-locate\": \"^5.0.0\"\n }\n },\n \"p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"requires\": {\n \"yocto-queue\": \"^0.1.0\"\n }\n },\n \"p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"requires\": {\n \"p-limit\": \"^3.0.2\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n }\n },\n \"react-dropzone\": {\n \"version\": \"14.2.3\",\n \"resolved\": \"https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz\",\n \"integrity\": \"sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==\",\n \"requires\": {\n \"attr-accept\": \"^2.2.2\",\n \"file-selector\": \"^0.6.0\",\n \"prop-types\": \"^15.8.1\"\n }\n },\n \"react-error-overlay\": {\n \"version\": \"6.0.11\",\n \"resolved\": \"https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz\",\n \"integrity\": \"sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==\"\n },\n \"react-force-graph-2d\": {\n \"version\": \"1.25.5\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-2d/-/react-force-graph-2d-1.25.5.tgz\",\n \"integrity\": \"sha512-3u8WjZZorpwZSDs3n3QeOS9ZoxFPM+IR9SStYJVQ/qKECydMHarxnf7ynV/MKJbC6kUsc60soD0V+Uq/r2vz7Q==\",\n \"requires\": {\n \"force-graph\": \"1\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n }\n },\n \"react-force-graph-3d\": {\n \"version\": \"1.24.3\",\n \"resolved\": \"https://registry.npmjs.org/react-force-graph-3d/-/react-force-graph-3d-1.24.3.tgz\",\n \"integrity\": \"sha512-GGQijzwz0Ig9avTMmosVOr5h3XaSabiTNdXwpoEwVZBkdVd0gc6FvWK3WPv8MoY8pclD9Rre4Gfbh0zBFVVBsA==\",\n \"requires\": {\n \"3d-force-graph\": \"^1.73\",\n \"prop-types\": \"15\",\n \"react-kapsule\": \"2\"\n }\n },\n \"react-ga4\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz\",\n \"integrity\": \"sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==\"\n },\n \"react-i18next\": {\n \"version\": \"12.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz\",\n \"integrity\": \"sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.20.6\",\n \"html-parse-stringify\": \"^3.0.1\"\n }\n },\n \"react-is\": {\n \"version\": \"17.0.2\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz\",\n \"integrity\": \"sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==\"\n },\n \"react-kapsule\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/react-kapsule/-/react-kapsule-2.4.0.tgz\",\n \"integrity\": \"sha512-w4Yv9CgWdj8kWGQEPNWFGJJ08dYEZHZpiaFR/DgZjCMBNqv9wus2Gy1qvHVJmJbzvAZbq6jdvFC+NYzEqAlNhQ==\",\n \"requires\": {\n \"fromentries\": \"^1.3.2\",\n \"jerrypick\": \"^1.1.1\"\n }\n },\n \"react-refresh\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz\",\n \"integrity\": \"sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==\"\n },\n \"react-scripts\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz\",\n \"integrity\": \"sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==\",\n \"requires\": {\n \"@babel/core\": \"^7.16.0\",\n \"@pmmmwh/react-refresh-webpack-plugin\": \"^0.5.3\",\n \"@svgr/webpack\": \"^5.5.0\",\n \"babel-jest\": \"^27.4.2\",\n \"babel-loader\": \"^8.2.3\",\n \"babel-plugin-named-asset-import\": \"^0.3.8\",\n \"babel-preset-react-app\": \"^10.0.1\",\n \"bfj\": \"^7.0.2\",\n \"browserslist\": \"^4.18.1\",\n \"camelcase\": \"^6.2.1\",\n \"case-sensitive-paths-webpack-plugin\": \"^2.4.0\",\n \"css-loader\": \"^6.5.1\",\n \"css-minimizer-webpack-plugin\": \"^3.2.0\",\n \"dotenv\": \"^10.0.0\",\n \"dotenv-expand\": \"^5.1.0\",\n \"eslint\": \"^8.3.0\",\n \"eslint-config-react-app\": \"^7.0.1\",\n \"eslint-webpack-plugin\": \"^3.1.1\",\n \"file-loader\": \"^6.2.0\",\n \"fs-extra\": \"^10.0.0\",\n \"fsevents\": \"^2.3.2\",\n \"html-webpack-plugin\": \"^5.5.0\",\n \"identity-obj-proxy\": \"^3.0.0\",\n \"jest\": \"^27.4.3\",\n \"jest-resolve\": \"^27.4.2\",\n \"jest-watch-typeahead\": \"^1.0.0\",\n \"mini-css-extract-plugin\": \"^2.4.5\",\n \"postcss\": \"^8.4.4\",\n \"postcss-flexbugs-fixes\": \"^5.0.2\",\n \"postcss-loader\": \"^6.2.1\",\n \"postcss-normalize\": \"^10.0.1\",\n \"postcss-preset-env\": \"^7.0.1\",\n \"prompts\": \"^2.4.2\",\n \"react-app-polyfill\": \"^3.0.0\",\n \"react-dev-utils\": \"^12.0.1\",\n \"react-refresh\": \"^0.11.0\",\n \"resolve\": \"^1.20.0\",\n \"resolve-url-loader\": \"^4.0.0\",\n \"sass-loader\": \"^12.3.0\",\n \"semver\": \"^7.3.5\",\n \"source-map-loader\": \"^3.0.0\",\n \"style-loader\": \"^3.3.1\",\n \"tailwindcss\": \"^3.0.2\",\n \"terser-webpack-plugin\": \"^5.2.5\",\n \"webpack\": \"^5.64.4\",\n \"webpack-dev-server\": \"^4.6.0\",\n \"webpack-manifest-plugin\": \"^4.0.2\",\n \"workbox-webpack-plugin\": \"^6.4.1\"\n }\n },\n \"react-table\": {\n \"version\": \"7.8.0\",\n \"resolved\": \"https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz\",\n \"integrity\": \"sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==\",\n \"requires\": {}\n },\n \"react-transition-group\": {\n \"version\": \"4.4.5\",\n \"resolved\": \"https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz\",\n \"integrity\": \"sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.5.5\",\n \"dom-helpers\": \"^5.0.1\",\n \"loose-envify\": \"^1.4.0\",\n \"prop-types\": \"^15.6.2\"\n }\n },\n \"read-cache\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz\",\n \"integrity\": \"sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\",\n \"requires\": {\n \"pify\": \"^2.3.0\"\n }\n },\n \"readable-stream\": {\n \"version\": \"3.6.2\",\n \"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz\",\n \"integrity\": \"sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==\",\n \"requires\": {\n \"inherits\": \"^2.0.3\",\n \"string_decoder\": \"^1.1.1\",\n \"util-deprecate\": \"^1.0.1\"\n }\n },\n \"readdirp\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz\",\n \"integrity\": \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\",\n \"requires\": {\n \"picomatch\": \"^2.2.1\"\n }\n },\n \"recursive-readdir\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz\",\n \"integrity\": \"sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==\",\n \"requires\": {\n \"minimatch\": \"^3.0.5\"\n }\n },\n \"redent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/redent/-/redent-3.0.0.tgz\",\n \"integrity\": \"sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==\",\n \"requires\": {\n \"indent-string\": \"^4.0.0\",\n \"strip-indent\": \"^3.0.0\"\n }\n },\n \"reflect.getprototypeof\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz\",\n \"integrity\": \"sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.1\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"globalthis\": \"^1.0.3\",\n \"which-builtin-type\": \"^1.1.3\"\n }\n },\n \"regenerate\": {\n \"version\": \"1.4.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz\",\n \"integrity\": \"sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==\"\n },\n \"regenerate-unicode-properties\": {\n \"version\": \"10.2.0\",\n \"resolved\": \"https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz\",\n \"integrity\": \"sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==\",\n \"requires\": {\n \"regenerate\": \"^1.4.2\"\n }\n },\n \"regenerator-runtime\": {\n \"version\": \"0.14.1\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz\",\n \"integrity\": \"sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==\"\n },\n \"regenerator-transform\": {\n \"version\": \"0.15.2\",\n \"resolved\": \"https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz\",\n \"integrity\": \"sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==\",\n \"requires\": {\n \"@babel/runtime\": \"^7.8.4\"\n }\n },\n \"regex-parser\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz\",\n \"integrity\": \"sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==\"\n },\n \"regexp.prototype.flags\": {\n \"version\": \"1.5.2\",\n \"resolved\": \"https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz\",\n \"integrity\": \"sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"define-properties\": \"^1.2.1\",\n \"es-errors\": \"^1.3.0\",\n \"set-function-name\": \"^2.0.1\"\n }\n },\n \"regexpu-core\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz\",\n \"integrity\": \"sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==\",\n \"requires\": {\n \"@babel/regjsgen\": \"^0.8.0\",\n \"regenerate\": \"^1.4.2\",\n \"regenerate-unicode-properties\": \"^10.1.0\",\n \"regjsparser\": \"^0.9.1\",\n \"unicode-match-property-ecmascript\": \"^2.0.0\",\n \"unicode-match-property-value-ecmascript\": \"^2.1.0\"\n }\n },\n \"regjsparser\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz\",\n \"integrity\": \"sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==\",\n \"requires\": {\n \"jsesc\": \"~0.5.0\"\n },\n \"dependencies\": {\n \"jsesc\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz\",\n \"integrity\": \"sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==\"\n }\n }\n },\n \"relateurl\": {\n \"version\": \"0.2.7\",\n \"resolved\": \"https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz\",\n \"integrity\": \"sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==\"\n },\n \"remove-accents\": {\n \"version\": \"0.5.0\",\n \"resolved\": \"https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz\",\n \"integrity\": \"sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==\"\n },\n \"renderkid\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz\",\n \"integrity\": \"sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==\",\n \"requires\": {\n \"css-select\": \"^4.1.3\",\n \"dom-converter\": \"^0.2.0\",\n \"htmlparser2\": \"^6.1.0\",\n \"lodash\": \"^4.17.21\",\n \"strip-ansi\": \"^6.0.1\"\n }\n },\n \"require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\"\n },\n \"require-from-string\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz\",\n \"integrity\": \"sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==\"\n },\n \"requires-port\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\",\n \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==\"\n },\n \"resolve\": {\n \"version\": \"1.22.8\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz\",\n \"integrity\": \"sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==\",\n \"requires\": {\n \"is-core-module\": \"^2.13.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n }\n },\n \"resolve-cwd\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz\",\n \"integrity\": \"sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==\",\n \"requires\": {\n \"resolve-from\": \"^5.0.0\"\n }\n },\n \"resolve-from\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz\",\n \"integrity\": \"sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==\"\n },\n \"resolve-url-loader\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz\",\n \"integrity\": \"sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==\",\n \"requires\": {\n \"adjust-sourcemap-loader\": \"^4.0.0\",\n \"convert-source-map\": \"^1.7.0\",\n \"loader-utils\": \"^2.0.0\",\n \"postcss\": \"^7.0.35\",\n \"source-map\": \"0.6.1\"\n },\n \"dependencies\": {\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n },\n \"picocolors\": {\n \"version\": \"0.2.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz\",\n \"integrity\": \"sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==\"\n },\n \"postcss\": {\n \"version\": \"7.0.39\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz\",\n \"integrity\": \"sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==\",\n \"requires\": {\n \"picocolors\": \"^0.2.1\",\n \"source-map\": \"^0.6.1\"\n }\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"resolve.exports\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz\",\n \"integrity\": \"sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==\"\n },\n \"retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\"\n },\n \"reusify\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n \"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\"\n },\n \"rimraf\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n \"requires\": {\n \"glob\": \"^7.1.3\"\n }\n },\n \"rollup\": {\n \"version\": \"2.79.1\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz\",\n \"integrity\": \"sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==\",\n \"requires\": {\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"rollup-plugin-terser\": {\n \"version\": \"7.0.2\",\n \"resolved\": \"https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz\",\n \"integrity\": \"sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==\",\n \"requires\": {\n \"@babel/code-frame\": \"^7.10.4\",\n \"jest-worker\": \"^26.2.1\",\n \"serialize-javascript\": \"^4.0.0\",\n \"terser\": \"^5.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"jest-worker\": {\n \"version\": \"26.6.2\",\n \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz\",\n \"integrity\": \"sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==\",\n \"requires\": {\n \"@types/node\": \"*\",\n \"merge-stream\": \"^2.0.0\",\n \"supports-color\": \"^7.0.0\"\n }\n },\n \"serialize-javascript\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz\",\n \"integrity\": \"sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==\",\n \"requires\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"run-parallel\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n \"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n \"requires\": {\n \"queue-microtask\": \"^1.2.2\"\n }\n },\n \"safe-array-concat\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz\",\n \"integrity\": \"sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"get-intrinsic\": \"^1.2.4\",\n \"has-symbols\": \"^1.0.3\",\n \"isarray\": \"^2.0.5\"\n }\n },\n \"safe-buffer\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\",\n \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\"\n },\n \"safe-regex-test\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz\",\n \"integrity\": \"sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.6\",\n \"es-errors\": \"^1.3.0\",\n \"is-regex\": \"^1.1.4\"\n }\n },\n \"safer-buffer\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\"\n },\n \"sanitize.css\": {\n \"version\": \"13.0.0\",\n \"resolved\": \"https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz\",\n \"integrity\": \"sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==\"\n },\n \"sass-loader\": {\n \"version\": \"12.6.0\",\n \"resolved\": \"https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz\",\n \"integrity\": \"sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==\",\n \"requires\": {\n \"klona\": \"^2.0.4\",\n \"neo-async\": \"^2.6.2\"\n }\n },\n \"sax\": {\n \"version\": \"1.2.4\",\n \"resolved\": \"https://registry.npmjs.org/sax/-/sax-1.2.4.tgz\",\n \"integrity\": \"sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==\"\n },\n \"saxes\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz\",\n \"integrity\": \"sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==\",\n \"requires\": {\n \"xmlchars\": \"^2.2.0\"\n }\n },\n \"scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"schema-utils\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz\",\n \"integrity\": \"sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.9\",\n \"ajv\": \"^8.9.0\",\n \"ajv-formats\": \"^2.1.1\",\n \"ajv-keywords\": \"^5.1.0\"\n },\n \"dependencies\": {\n \"ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n }\n },\n \"ajv-keywords\": {\n \"version\": \"5.1.0\",\n \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz\",\n \"integrity\": \"sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\"\n }\n },\n \"json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\"\n }\n }\n },\n \"select-hose\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz\",\n \"integrity\": \"sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==\"\n },\n \"selfsigned\": {\n \"version\": \"2.4.1\",\n \"resolved\": \"https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz\",\n \"integrity\": \"sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==\",\n \"requires\": {\n \"@types/node-forge\": \"^1.3.0\",\n \"node-forge\": \"^1\"\n }\n },\n \"semver\": {\n \"version\": \"7.6.3\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.3.tgz\",\n \"integrity\": \"sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==\"\n },\n \"send\": {\n \"version\": \"0.19.0\",\n \"resolved\": \"https://registry.npmjs.org/send/-/send-0.19.0.tgz\",\n \"integrity\": \"sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==\",\n \"requires\": {\n \"debug\": \"2.6.9\",\n \"depd\": \"2.0.0\",\n \"destroy\": \"1.2.0\",\n \"encodeurl\": \"~1.0.2\",\n \"escape-html\": \"~1.0.3\",\n \"etag\": \"~1.8.1\",\n \"fresh\": \"0.5.2\",\n \"http-errors\": \"2.0.0\",\n \"mime\": \"1.6.0\",\n \"ms\": \"2.1.3\",\n \"on-finished\": \"2.4.1\",\n \"range-parser\": \"~1.2.1\",\n \"statuses\": \"2.0.1\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n },\n \"dependencies\": {\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n }\n }\n },\n \"encodeurl\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n \"integrity\": \"sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==\"\n },\n \"ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\"\n }\n }\n },\n \"serialize-javascript\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz\",\n \"integrity\": \"sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==\",\n \"requires\": {\n \"randombytes\": \"^2.1.0\"\n }\n },\n \"serve-index\": {\n \"version\": \"1.9.1\",\n \"resolved\": \"https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz\",\n \"integrity\": \"sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==\",\n \"requires\": {\n \"accepts\": \"~1.3.4\",\n \"batch\": \"0.6.1\",\n \"debug\": \"2.6.9\",\n \"escape-html\": \"~1.0.3\",\n \"http-errors\": \"~1.6.2\",\n \"mime-types\": \"~2.1.17\",\n \"parseurl\": \"~1.3.2\"\n },\n \"dependencies\": {\n \"debug\": {\n \"version\": \"2.6.9\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n \"requires\": {\n \"ms\": \"2.0.0\"\n }\n },\n \"depd\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n \"integrity\": \"sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\"\n },\n \"http-errors\": {\n \"version\": \"1.6.3\",\n \"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz\",\n \"integrity\": \"sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==\",\n \"requires\": {\n \"depd\": \"~1.1.2\",\n \"inherits\": \"2.0.3\",\n \"setprototypeof\": \"1.1.0\",\n \"statuses\": \">= 1.4.0 < 2\"\n }\n },\n \"inherits\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n \"integrity\": \"sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==\"\n },\n \"ms\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==\"\n },\n \"setprototypeof\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz\",\n \"integrity\": \"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==\"\n },\n \"statuses\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n \"integrity\": \"sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==\"\n }\n }\n },\n \"serve-static\": {\n \"version\": \"1.16.2\",\n \"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz\",\n \"integrity\": \"sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==\",\n \"requires\": {\n \"encodeurl\": \"~2.0.0\",\n \"escape-html\": \"~1.0.3\",\n \"parseurl\": \"~1.3.3\",\n \"send\": \"0.19.0\"\n }\n },\n \"set-function-length\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz\",\n \"integrity\": \"sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==\",\n \"requires\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\"\n }\n },\n \"set-function-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz\",\n \"integrity\": \"sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==\",\n \"requires\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"functions-have-names\": \"^1.2.3\",\n \"has-property-descriptors\": \"^1.0.2\"\n }\n },\n \"setprototypeof\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz\",\n \"integrity\": \"sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==\"\n },\n \"shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"requires\": {\n \"shebang-regex\": \"^3.0.0\"\n }\n },\n \"shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\"\n },\n \"shell-quote\": {\n \"version\": \"1.8.1\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz\",\n \"integrity\": \"sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==\"\n },\n \"side-channel\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz\",\n \"integrity\": \"sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"object-inspect\": \"^1.13.1\"\n }\n },\n \"signal-exit\": {\n \"version\": \"3.0.7\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\",\n \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==\"\n },\n \"sisteransi\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz\",\n \"integrity\": \"sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==\"\n },\n \"slash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/slash/-/slash-3.0.0.tgz\",\n \"integrity\": \"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\"\n },\n \"sockjs\": {\n \"version\": \"0.3.24\",\n \"resolved\": \"https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz\",\n \"integrity\": \"sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==\",\n \"requires\": {\n \"faye-websocket\": \"^0.11.3\",\n \"uuid\": \"^8.3.2\",\n \"websocket-driver\": \"^0.7.4\"\n }\n },\n \"source-list-map\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz\",\n \"integrity\": \"sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==\"\n },\n \"source-map\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz\",\n \"integrity\": \"sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==\"\n },\n \"source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\"\n },\n \"source-map-loader\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz\",\n \"integrity\": \"sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==\",\n \"requires\": {\n \"abab\": \"^2.0.5\",\n \"iconv-lite\": \"^0.6.3\",\n \"source-map-js\": \"^1.0.1\"\n }\n },\n \"source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"requires\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n }\n }\n },\n \"sourcemap-codec\": {\n \"version\": \"1.4.8\",\n \"resolved\": \"https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz\",\n \"integrity\": \"sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==\"\n },\n \"spdy\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz\",\n \"integrity\": \"sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==\",\n \"requires\": {\n \"debug\": \"^4.1.0\",\n \"handle-thing\": \"^2.0.0\",\n \"http-deceiver\": \"^1.2.7\",\n \"select-hose\": \"^2.0.0\",\n \"spdy-transport\": \"^3.0.0\"\n }\n },\n \"spdy-transport\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz\",\n \"integrity\": \"sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==\",\n \"requires\": {\n \"debug\": \"^4.1.0\",\n \"detect-node\": \"^2.0.4\",\n \"hpack.js\": \"^2.1.6\",\n \"obuf\": \"^1.1.2\",\n \"readable-stream\": \"^3.0.6\",\n \"wbuf\": \"^1.7.3\"\n }\n },\n \"sprintf-js\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n \"integrity\": \"sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==\"\n },\n \"stable\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/stable/-/stable-0.1.8.tgz\",\n \"integrity\": \"sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==\"\n },\n \"stack-utils\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz\",\n \"integrity\": \"sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==\",\n \"requires\": {\n \"escape-string-regexp\": \"^2.0.0\"\n },\n \"dependencies\": {\n \"escape-string-regexp\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n \"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\"\n }\n }\n },\n \"stackframe\": {\n \"version\": \"1.3.4\",\n \"resolved\": \"https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz\",\n \"integrity\": \"sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==\"\n },\n \"static-eval\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz\",\n \"integrity\": \"sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==\",\n \"requires\": {\n \"escodegen\": \"^1.8.1\"\n },\n \"dependencies\": {\n \"escodegen\": {\n \"version\": \"1.14.3\",\n \"resolved\": \"https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz\",\n \"integrity\": \"sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==\",\n \"requires\": {\n \"esprima\": \"^4.0.1\",\n \"estraverse\": \"^4.2.0\",\n \"esutils\": \"^2.0.2\",\n \"optionator\": \"^0.8.1\",\n \"source-map\": \"~0.6.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n },\n \"levn\": {\n \"version\": \"0.3.0\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.3.0.tgz\",\n \"integrity\": \"sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==\",\n \"requires\": {\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\"\n }\n },\n \"optionator\": {\n \"version\": \"0.8.3\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz\",\n \"integrity\": \"sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==\",\n \"requires\": {\n \"deep-is\": \"~0.1.3\",\n \"fast-levenshtein\": \"~2.0.6\",\n \"levn\": \"~0.3.0\",\n \"prelude-ls\": \"~1.1.2\",\n \"type-check\": \"~0.3.2\",\n \"word-wrap\": \"~1.2.3\"\n }\n },\n \"prelude-ls\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz\",\n \"integrity\": \"sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==\"\n },\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"optional\": true\n },\n \"type-check\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz\",\n \"integrity\": \"sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==\",\n \"requires\": {\n \"prelude-ls\": \"~1.1.2\"\n }\n }\n }\n },\n \"statuses\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz\",\n \"integrity\": \"sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==\"\n },\n \"stop-iteration-iterator\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz\",\n \"integrity\": \"sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==\",\n \"requires\": {\n \"internal-slot\": \"^1.0.4\"\n }\n },\n \"string_decoder\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz\",\n \"integrity\": \"sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==\",\n \"requires\": {\n \"safe-buffer\": \"~5.2.0\"\n }\n },\n \"string-length\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz\",\n \"integrity\": \"sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==\",\n \"requires\": {\n \"char-regex\": \"^1.0.2\",\n \"strip-ansi\": \"^6.0.0\"\n }\n },\n \"string-natural-compare\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz\",\n \"integrity\": \"sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==\"\n },\n \"string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"requires\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\"\n }\n }\n },\n \"string-width-cjs\": {\n \"version\": \"npm:string-width@4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"requires\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"dependencies\": {\n \"emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\"\n }\n }\n },\n \"string.prototype.includes\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz\",\n \"integrity\": \"sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==\",\n \"requires\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"string.prototype.matchall\": {\n \"version\": \"4.0.11\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz\",\n \"integrity\": \"sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-symbols\": \"^1.0.3\",\n \"internal-slot\": \"^1.0.7\",\n \"regexp.prototype.flags\": \"^1.5.2\",\n \"set-function-name\": \"^2.0.2\",\n \"side-channel\": \"^1.0.6\"\n }\n },\n \"string.prototype.repeat\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz\",\n \"integrity\": \"sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==\",\n \"requires\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.5\"\n }\n },\n \"string.prototype.trim\": {\n \"version\": \"1.2.9\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz\",\n \"integrity\": \"sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.0\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"string.prototype.trimend\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz\",\n \"integrity\": \"sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"string.prototype.trimstart\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz\",\n \"integrity\": \"sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n }\n },\n \"stringify-object\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz\",\n \"integrity\": \"sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==\",\n \"requires\": {\n \"get-own-enumerable-property-symbols\": \"^3.0.0\",\n \"is-obj\": \"^1.0.1\",\n \"is-regexp\": \"^1.0.0\"\n }\n },\n \"strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\"\n }\n },\n \"strip-ansi-cjs\": {\n \"version\": \"npm:strip-ansi@6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"requires\": {\n \"ansi-regex\": \"^5.0.1\"\n }\n },\n \"strip-bom\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz\",\n \"integrity\": \"sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==\"\n },\n \"strip-comments\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz\",\n \"integrity\": \"sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==\"\n },\n \"strip-final-newline\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\",\n \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==\"\n },\n \"strip-indent\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n \"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n \"requires\": {\n \"min-indent\": \"^1.0.0\"\n }\n },\n \"strip-json-comments\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n \"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\"\n },\n \"strip-outer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz\",\n \"integrity\": \"sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==\",\n \"dev\": true,\n \"requires\": {\n \"escape-string-regexp\": \"^1.0.2\"\n }\n },\n \"style-loader\": {\n \"version\": \"3.3.4\",\n \"resolved\": \"https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz\",\n \"integrity\": \"sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==\",\n \"requires\": {}\n },\n \"stylehacks\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz\",\n \"integrity\": \"sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==\",\n \"requires\": {\n \"browserslist\": \"^4.21.4\",\n \"postcss-selector-parser\": \"^6.0.4\"\n }\n },\n \"stylis\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz\",\n \"integrity\": \"sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==\"\n },\n \"sucrase\": {\n \"version\": \"3.35.0\",\n \"resolved\": \"https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz\",\n \"integrity\": \"sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==\",\n \"requires\": {\n \"@jridgewell/gen-mapping\": \"^0.3.2\",\n \"commander\": \"^4.0.0\",\n \"glob\": \"^10.3.10\",\n \"lines-and-columns\": \"^1.1.6\",\n \"mz\": \"^2.7.0\",\n \"pirates\": \"^4.0.1\",\n \"ts-interface-checker\": \"^0.1.9\"\n },\n \"dependencies\": {\n \"brace-expansion\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz\",\n \"integrity\": \"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==\",\n \"requires\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"commander\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-4.1.1.tgz\",\n \"integrity\": \"sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==\"\n },\n \"glob\": {\n \"version\": \"10.4.5\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-10.4.5.tgz\",\n \"integrity\": \"sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==\",\n \"requires\": {\n \"foreground-child\": \"^3.1.0\",\n \"jackspeak\": \"^3.1.2\",\n \"minimatch\": \"^9.0.4\",\n \"minipass\": \"^7.1.2\",\n \"package-json-from-dist\": \"^1.0.0\",\n \"path-scurry\": \"^1.11.1\"\n }\n },\n \"minimatch\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz\",\n \"integrity\": \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\",\n \"requires\": {\n \"brace-expansion\": \"^2.0.1\"\n }\n }\n }\n },\n \"supports-color\": {\n \"version\": \"5.5.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n \"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n \"requires\": {\n \"has-flag\": \"^3.0.0\"\n }\n },\n \"supports-hyperlinks\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz\",\n \"integrity\": \"sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\",\n \"supports-color\": \"^7.0.0\"\n },\n \"dependencies\": {\n \"has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"\n },\n \"supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"requires\": {\n \"has-flag\": \"^4.0.0\"\n }\n }\n }\n },\n \"supports-preserve-symlinks-flag\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz\",\n \"integrity\": \"sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\"\n },\n \"svg-parser\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz\",\n \"integrity\": \"sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==\"\n },\n \"svgo\": {\n \"version\": \"1.3.2\",\n \"resolved\": \"https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz\",\n \"integrity\": \"sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==\",\n \"requires\": {\n \"chalk\": \"^2.4.1\",\n \"coa\": \"^2.0.2\",\n \"css-select\": \"^2.0.0\",\n \"css-select-base-adapter\": \"^0.1.1\",\n \"css-tree\": \"1.0.0-alpha.37\",\n \"csso\": \"^4.0.2\",\n \"js-yaml\": \"^3.13.1\",\n \"mkdirp\": \"~0.5.1\",\n \"object.values\": \"^1.1.0\",\n \"sax\": \"~1.2.4\",\n \"stable\": \"^0.1.8\",\n \"unquote\": \"~1.1.1\",\n \"util.promisify\": \"~1.0.0\"\n },\n \"dependencies\": {\n \"css-select\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz\",\n \"integrity\": \"sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==\",\n \"requires\": {\n \"boolbase\": \"^1.0.0\",\n \"css-what\": \"^3.2.1\",\n \"domutils\": \"^1.7.0\",\n \"nth-check\": \"^1.0.2\"\n }\n },\n \"css-what\": {\n \"version\": \"3.4.2\",\n \"resolved\": \"https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz\",\n \"integrity\": \"sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==\"\n },\n \"dom-serializer\": {\n \"version\": \"0.2.2\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz\",\n \"integrity\": \"sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==\",\n \"requires\": {\n \"domelementtype\": \"^2.0.1\",\n \"entities\": \"^2.0.0\"\n }\n },\n \"domutils\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz\",\n \"integrity\": \"sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==\",\n \"requires\": {\n \"dom-serializer\": \"0\",\n \"domelementtype\": \"1\"\n },\n \"dependencies\": {\n \"domelementtype\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz\",\n \"integrity\": \"sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==\"\n }\n }\n },\n \"nth-check\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz\",\n \"integrity\": \"sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==\",\n \"requires\": {\n \"boolbase\": \"~1.0.0\"\n }\n }\n }\n },\n \"symbol-tree\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz\",\n \"integrity\": \"sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==\"\n },\n \"tailwindcss\": {\n \"version\": \"3.4.13\",\n \"resolved\": \"https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz\",\n \"integrity\": \"sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==\",\n \"requires\": {\n \"@alloc/quick-lru\": \"^5.2.0\",\n \"arg\": \"^5.0.2\",\n \"chokidar\": \"^3.5.3\",\n \"didyoumean\": \"^1.2.2\",\n \"dlv\": \"^1.1.3\",\n \"fast-glob\": \"^3.3.0\",\n \"glob-parent\": \"^6.0.2\",\n \"is-glob\": \"^4.0.3\",\n \"jiti\": \"^1.21.0\",\n \"lilconfig\": \"^2.1.0\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"object-hash\": \"^3.0.0\",\n \"picocolors\": \"^1.0.0\",\n \"postcss\": \"^8.4.23\",\n \"postcss-import\": \"^15.1.0\",\n \"postcss-js\": \"^4.0.1\",\n \"postcss-load-config\": \"^4.0.1\",\n \"postcss-nested\": \"^6.0.1\",\n \"postcss-selector-parser\": \"^6.0.11\",\n \"resolve\": \"^1.22.2\",\n \"sucrase\": \"^3.32.0\"\n }\n },\n \"tapable\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz\",\n \"integrity\": \"sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==\"\n },\n \"temp-dir\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz\",\n \"integrity\": \"sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==\"\n },\n \"tempy\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz\",\n \"integrity\": \"sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==\",\n \"requires\": {\n \"is-stream\": \"^2.0.0\",\n \"temp-dir\": \"^2.0.0\",\n \"type-fest\": \"^0.16.0\",\n \"unique-string\": \"^2.0.0\"\n },\n \"dependencies\": {\n \"type-fest\": {\n \"version\": \"0.16.0\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz\",\n \"integrity\": \"sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==\"\n }\n }\n },\n \"terminal-link\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz\",\n \"integrity\": \"sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==\",\n \"requires\": {\n \"ansi-escapes\": \"^4.2.1\",\n \"supports-hyperlinks\": \"^2.0.0\"\n }\n },\n \"terser\": {\n \"version\": \"5.33.0\",\n \"resolved\": \"https://registry.npmjs.org/terser/-/terser-5.33.0.tgz\",\n \"integrity\": \"sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==\",\n \"requires\": {\n \"@jridgewell/source-map\": \"^0.3.3\",\n \"acorn\": \"^8.8.2\",\n \"commander\": \"^2.20.0\",\n \"source-map-support\": \"~0.5.20\"\n },\n \"dependencies\": {\n \"commander\": {\n \"version\": \"2.20.3\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-2.20.3.tgz\",\n \"integrity\": \"sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\"\n }\n }\n },\n \"terser-webpack-plugin\": {\n \"version\": \"5.3.10\",\n \"resolved\": \"https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz\",\n \"integrity\": \"sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==\",\n \"requires\": {\n \"@jridgewell/trace-mapping\": \"^0.3.20\",\n \"jest-worker\": \"^27.4.5\",\n \"schema-utils\": \"^3.1.1\",\n \"serialize-javascript\": \"^6.0.1\",\n \"terser\": \"^5.26.0\"\n },\n \"dependencies\": {\n \"schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"test-exclude\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz\",\n \"integrity\": \"sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==\",\n \"requires\": {\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"glob\": \"^7.1.4\",\n \"minimatch\": \"^3.0.4\"\n }\n },\n \"text-table\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n \"integrity\": \"sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==\"\n },\n \"thenify\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz\",\n \"integrity\": \"sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==\",\n \"requires\": {\n \"any-promise\": \"^1.0.0\"\n }\n },\n \"thenify-all\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz\",\n \"integrity\": \"sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==\",\n \"requires\": {\n \"thenify\": \">= 3.1.0 < 4\"\n }\n },\n \"three\": {\n \"version\": \"0.167.1\",\n \"resolved\": \"https://registry.npmjs.org/three/-/three-0.167.1.tgz\",\n \"integrity\": \"sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==\"\n },\n \"three-forcegraph\": {\n \"version\": \"1.41.14\",\n \"resolved\": \"https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.14.tgz\",\n \"integrity\": \"sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==\",\n \"requires\": {\n \"accessor-fn\": \"1\",\n \"d3-array\": \"1 - 3\",\n \"d3-force-3d\": \"2 - 3\",\n \"d3-scale\": \"1 - 4\",\n \"d3-scale-chromatic\": \"1 - 3\",\n \"data-joint\": \"1\",\n \"kapsule\": \"1\",\n \"ngraph.forcelayout\": \"3\",\n \"ngraph.graph\": \"20\",\n \"tinycolor2\": \"1\"\n }\n },\n \"three-render-objects\": {\n \"version\": \"1.29.4\",\n \"resolved\": \"https://registry.npmjs.org/three-render-objects/-/three-render-objects-1.29.4.tgz\",\n \"integrity\": \"sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==\",\n \"requires\": {\n \"@tweenjs/tween.js\": \"18 - 23\",\n \"accessor-fn\": \"1\",\n \"kapsule\": \"1\",\n \"polished\": \"4\"\n }\n },\n \"three-spritetext\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/three-spritetext/-/three-spritetext-1.8.2.tgz\",\n \"integrity\": \"sha512-OYjyAhWnQ6+7CPKjnpq3JQM+Lpr6cSOppCtbOOzF1IbCauGkoDFvbAnxYd0LVxEsIO2RALXXScg2eX+R6CAfyA==\",\n \"requires\": {}\n },\n \"throat\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/throat/-/throat-6.0.2.tgz\",\n \"integrity\": \"sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==\"\n },\n \"thunky\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz\",\n \"integrity\": \"sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==\"\n },\n \"tinycolor2\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz\",\n \"integrity\": \"sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==\"\n },\n \"tmpl\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz\",\n \"integrity\": \"sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==\"\n },\n \"to-fast-properties\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n \"integrity\": \"sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==\"\n },\n \"to-regex-range\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n \"requires\": {\n \"is-number\": \"^7.0.0\"\n }\n },\n \"toidentifier\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz\",\n \"integrity\": \"sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==\"\n },\n \"tough-cookie\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz\",\n \"integrity\": \"sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==\",\n \"requires\": {\n \"psl\": \"^1.1.33\",\n \"punycode\": \"^2.1.1\",\n \"universalify\": \"^0.2.0\",\n \"url-parse\": \"^1.5.3\"\n },\n \"dependencies\": {\n \"universalify\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\",\n \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==\"\n }\n }\n },\n \"tr46\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz\",\n \"integrity\": \"sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==\",\n \"requires\": {\n \"punycode\": \"^2.1.1\"\n }\n },\n \"trim-repeated\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz\",\n \"integrity\": \"sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==\",\n \"dev\": true,\n \"requires\": {\n \"escape-string-regexp\": \"^1.0.2\"\n }\n },\n \"tryer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz\",\n \"integrity\": \"sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==\"\n },\n \"ts-interface-checker\": {\n \"version\": \"0.1.13\",\n \"resolved\": \"https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz\",\n \"integrity\": \"sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==\"\n },\n \"tsconfig-paths\": {\n \"version\": \"3.15.0\",\n \"resolved\": \"https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz\",\n \"integrity\": \"sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==\",\n \"requires\": {\n \"@types/json5\": \"^0.0.29\",\n \"json5\": \"^1.0.2\",\n \"minimist\": \"^1.2.6\",\n \"strip-bom\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"json5\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-1.0.2.tgz\",\n \"integrity\": \"sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\",\n \"requires\": {\n \"minimist\": \"^1.2.0\"\n }\n },\n \"strip-bom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n \"integrity\": \"sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\"\n }\n }\n },\n \"tslib\": {\n \"version\": \"2.6.3\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz\",\n \"integrity\": \"sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==\"\n },\n \"tsutils\": {\n \"version\": \"3.21.0\",\n \"resolved\": \"https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz\",\n \"integrity\": \"sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==\",\n \"requires\": {\n \"tslib\": \"^1.8.1\"\n },\n \"dependencies\": {\n \"tslib\": {\n \"version\": \"1.14.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz\",\n \"integrity\": \"sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==\"\n }\n }\n },\n \"type-check\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n \"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n \"requires\": {\n \"prelude-ls\": \"^1.2.1\"\n }\n },\n \"type-detect\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz\",\n \"integrity\": \"sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==\"\n },\n \"type-fest\": {\n \"version\": \"0.21.3\",\n \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\",\n \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==\"\n },\n \"type-is\": {\n \"version\": \"1.6.18\",\n \"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n \"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n \"requires\": {\n \"media-typer\": \"0.3.0\",\n \"mime-types\": \"~2.1.24\"\n }\n },\n \"typed-array-buffer\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz\",\n \"integrity\": \"sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"es-errors\": \"^1.3.0\",\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"typed-array-byte-length\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz\",\n \"integrity\": \"sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"typed-array-byte-offset\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz\",\n \"integrity\": \"sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==\",\n \"requires\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\"\n }\n },\n \"typed-array-length\": {\n \"version\": \"1.0.6\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz\",\n \"integrity\": \"sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==\",\n \"requires\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-proto\": \"^1.0.3\",\n \"is-typed-array\": \"^1.1.13\",\n \"possible-typed-array-names\": \"^1.0.0\"\n }\n },\n \"typedarray-to-buffer\": {\n \"version\": \"3.1.5\",\n \"resolved\": \"https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz\",\n \"integrity\": \"sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==\",\n \"requires\": {\n \"is-typedarray\": \"^1.0.0\"\n }\n },\n \"typescript\": {\n \"version\": \"4.9.5\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz\",\n \"integrity\": \"sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==\"\n },\n \"unbox-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==\",\n \"requires\": {\n \"call-bind\": \"^1.0.2\",\n \"has-bigints\": \"^1.0.2\",\n \"has-symbols\": \"^1.0.3\",\n \"which-boxed-primitive\": \"^1.0.2\"\n }\n },\n \"underscore\": {\n \"version\": \"1.12.1\",\n \"resolved\": \"https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz\",\n \"integrity\": \"sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==\"\n },\n \"unicode-canonical-property-names-ecmascript\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz\",\n \"integrity\": \"sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==\"\n },\n \"unicode-match-property-ecmascript\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz\",\n \"integrity\": \"sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==\",\n \"requires\": {\n \"unicode-canonical-property-names-ecmascript\": \"^2.0.0\",\n \"unicode-property-aliases-ecmascript\": \"^2.0.0\"\n }\n },\n \"unicode-match-property-value-ecmascript\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz\",\n \"integrity\": \"sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==\"\n },\n \"unicode-property-aliases-ecmascript\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz\",\n \"integrity\": \"sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==\"\n },\n \"unique-string\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz\",\n \"integrity\": \"sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==\",\n \"requires\": {\n \"crypto-random-string\": \"^2.0.0\"\n }\n },\n \"universalify\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz\",\n \"integrity\": \"sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==\"\n },\n \"unpipe\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n \"integrity\": \"sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==\"\n },\n \"unquote\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz\",\n \"integrity\": \"sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==\"\n },\n \"upath\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/upath/-/upath-1.2.0.tgz\",\n \"integrity\": \"sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==\"\n },\n \"update-browserslist-db\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz\",\n \"integrity\": \"sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==\",\n \"requires\": {\n \"escalade\": \"^3.1.2\",\n \"picocolors\": \"^1.0.1\"\n }\n },\n \"uri-js\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz\",\n \"integrity\": \"sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\",\n \"requires\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"url-parse\": {\n \"version\": \"1.5.10\",\n \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\",\n \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==\",\n \"requires\": {\n \"querystringify\": \"^2.1.1\",\n \"requires-port\": \"^1.0.0\"\n }\n },\n \"util-deprecate\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n \"integrity\": \"sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\"\n },\n \"util.promisify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz\",\n \"integrity\": \"sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==\",\n \"requires\": {\n \"define-properties\": \"^1.1.3\",\n \"es-abstract\": \"^1.17.2\",\n \"has-symbols\": \"^1.0.1\",\n \"object.getownpropertydescriptors\": \"^2.1.0\"\n }\n },\n \"utila\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/utila/-/utila-0.4.0.tgz\",\n \"integrity\": \"sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==\"\n },\n \"utils-merge\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n \"integrity\": \"sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==\"\n },\n \"uuid\": {\n \"version\": \"8.3.2\",\n \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\",\n \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\"\n },\n \"v8-to-istanbul\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz\",\n \"integrity\": \"sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==\",\n \"requires\": {\n \"@types/istanbul-lib-coverage\": \"^2.0.1\",\n \"convert-source-map\": \"^1.6.0\",\n \"source-map\": \"^0.7.3\"\n },\n \"dependencies\": {\n \"convert-source-map\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz\",\n \"integrity\": \"sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==\"\n }\n }\n },\n \"vary\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n \"integrity\": \"sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==\"\n },\n \"void-elements\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz\",\n \"integrity\": \"sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==\"\n },\n \"w3c-hr-time\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz\",\n \"integrity\": \"sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==\",\n \"requires\": {\n \"browser-process-hrtime\": \"^1.0.0\"\n }\n },\n \"w3c-xmlserializer\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz\",\n \"integrity\": \"sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==\",\n \"requires\": {\n \"xml-name-validator\": \"^3.0.0\"\n }\n },\n \"walker\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/walker/-/walker-1.0.8.tgz\",\n \"integrity\": \"sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==\",\n \"requires\": {\n \"makeerror\": \"1.0.12\"\n }\n },\n \"watchpack\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz\",\n \"integrity\": \"sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==\",\n \"requires\": {\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.1.2\"\n }\n },\n \"wbuf\": {\n \"version\": \"1.7.3\",\n \"resolved\": \"https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz\",\n \"integrity\": \"sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==\",\n \"requires\": {\n \"minimalistic-assert\": \"^1.0.0\"\n }\n },\n \"web-vitals\": {\n \"version\": \"2.1.4\",\n \"resolved\": \"https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz\",\n \"integrity\": \"sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==\"\n },\n \"webidl-conversions\": {\n \"version\": \"6.1.0\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz\",\n \"integrity\": \"sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==\"\n },\n \"webpack\": {\n \"version\": \"5.94.0\",\n \"resolved\": \"https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz\",\n \"integrity\": \"sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==\",\n \"requires\": {\n \"@types/estree\": \"^1.0.5\",\n \"@webassemblyjs/ast\": \"^1.12.1\",\n \"@webassemblyjs/wasm-edit\": \"^1.12.1\",\n \"@webassemblyjs/wasm-parser\": \"^1.12.1\",\n \"acorn\": \"^8.7.1\",\n \"acorn-import-attributes\": \"^1.9.5\",\n \"browserslist\": \"^4.21.10\",\n \"chrome-trace-event\": \"^1.0.2\",\n \"enhanced-resolve\": \"^5.17.1\",\n \"es-module-lexer\": \"^1.2.1\",\n \"eslint-scope\": \"5.1.1\",\n \"events\": \"^3.2.0\",\n \"glob-to-regexp\": \"^0.4.1\",\n \"graceful-fs\": \"^4.2.11\",\n \"json-parse-even-better-errors\": \"^2.3.1\",\n \"loader-runner\": \"^4.2.0\",\n \"mime-types\": \"^2.1.27\",\n \"neo-async\": \"^2.6.2\",\n \"schema-utils\": \"^3.2.0\",\n \"tapable\": \"^2.1.1\",\n \"terser-webpack-plugin\": \"^5.3.10\",\n \"watchpack\": \"^2.4.1\",\n \"webpack-sources\": \"^3.2.3\"\n },\n \"dependencies\": {\n \"eslint-scope\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz\",\n \"integrity\": \"sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\",\n \"requires\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^4.1.1\"\n }\n },\n \"estraverse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz\",\n \"integrity\": \"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\"\n },\n \"schema-utils\": {\n \"version\": \"3.3.0\",\n \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz\",\n \"integrity\": \"sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==\",\n \"requires\": {\n \"@types/json-schema\": \"^7.0.8\",\n \"ajv\": \"^6.12.5\",\n \"ajv-keywords\": \"^3.5.2\"\n }\n }\n }\n },\n \"webpack-dev-middleware\": {\n \"version\": \"5.3.4\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz\",\n \"integrity\": \"sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==\",\n \"requires\": {\n \"colorette\": \"^2.0.10\",\n \"memfs\": \"^3.4.3\",\n \"mime-types\": \"^2.1.31\",\n \"range-parser\": \"^1.2.1\",\n \"schema-utils\": \"^4.0.0\"\n }\n },\n \"webpack-dev-server\": {\n \"version\": \"4.15.2\",\n \"resolved\": \"https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz\",\n \"integrity\": \"sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==\",\n \"requires\": {\n \"@types/bonjour\": \"^3.5.9\",\n \"@types/connect-history-api-fallback\": \"^1.3.5\",\n \"@types/express\": \"^4.17.13\",\n \"@types/serve-index\": \"^1.9.1\",\n \"@types/serve-static\": \"^1.13.10\",\n \"@types/sockjs\": \"^0.3.33\",\n \"@types/ws\": \"^8.5.5\",\n \"ansi-html-community\": \"^0.0.8\",\n \"bonjour-service\": \"^1.0.11\",\n \"chokidar\": \"^3.5.3\",\n \"colorette\": \"^2.0.10\",\n \"compression\": \"^1.7.4\",\n \"connect-history-api-fallback\": \"^2.0.0\",\n \"default-gateway\": \"^6.0.3\",\n \"express\": \"^4.17.3\",\n \"graceful-fs\": \"^4.2.6\",\n \"html-entities\": \"^2.3.2\",\n \"http-proxy-middleware\": \"^2.0.3\",\n \"ipaddr.js\": \"^2.0.1\",\n \"launch-editor\": \"^2.6.0\",\n \"open\": \"^8.0.9\",\n \"p-retry\": \"^4.5.0\",\n \"rimraf\": \"^3.0.2\",\n \"schema-utils\": \"^4.0.0\",\n \"selfsigned\": \"^2.1.1\",\n \"serve-index\": \"^1.9.1\",\n \"sockjs\": \"^0.3.24\",\n \"spdy\": \"^4.0.2\",\n \"webpack-dev-middleware\": \"^5.3.4\",\n \"ws\": \"^8.13.0\"\n },\n \"dependencies\": {\n \"ws\": {\n \"version\": \"8.18.0\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.18.0.tgz\",\n \"integrity\": \"sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==\",\n \"requires\": {}\n }\n }\n },\n \"webpack-manifest-plugin\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz\",\n \"integrity\": \"sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==\",\n \"requires\": {\n \"tapable\": \"^2.0.0\",\n \"webpack-sources\": \"^2.2.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"webpack-sources\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz\",\n \"integrity\": \"sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==\",\n \"requires\": {\n \"source-list-map\": \"^2.0.1\",\n \"source-map\": \"^0.6.1\"\n }\n }\n }\n },\n \"webpack-sources\": {\n \"version\": \"3.2.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz\",\n \"integrity\": \"sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==\"\n },\n \"websocket-driver\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz\",\n \"integrity\": \"sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==\",\n \"requires\": {\n \"http-parser-js\": \">=0.5.1\",\n \"safe-buffer\": \">=5.1.0\",\n \"websocket-extensions\": \">=0.1.1\"\n }\n },\n \"websocket-extensions\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz\",\n \"integrity\": \"sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==\"\n },\n \"whatwg-encoding\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz\",\n \"integrity\": \"sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==\",\n \"requires\": {\n \"iconv-lite\": \"0.4.24\"\n },\n \"dependencies\": {\n \"iconv-lite\": {\n \"version\": \"0.4.24\",\n \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n \"requires\": {\n \"safer-buffer\": \">= 2.1.2 < 3\"\n }\n }\n }\n },\n \"whatwg-fetch\": {\n \"version\": \"3.6.20\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz\",\n \"integrity\": \"sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==\"\n },\n \"whatwg-mimetype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz\",\n \"integrity\": \"sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==\"\n },\n \"whatwg-url\": {\n \"version\": \"8.7.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz\",\n \"integrity\": \"sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==\",\n \"requires\": {\n \"lodash\": \"^4.7.0\",\n \"tr46\": \"^2.1.0\",\n \"webidl-conversions\": \"^6.1.0\"\n }\n },\n \"which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"requires\": {\n \"isexe\": \"^2.0.0\"\n }\n },\n \"which-boxed-primitive\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz\",\n \"integrity\": \"sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==\",\n \"requires\": {\n \"is-bigint\": \"^1.0.1\",\n \"is-boolean-object\": \"^1.1.0\",\n \"is-number-object\": \"^1.0.4\",\n \"is-string\": \"^1.0.5\",\n \"is-symbol\": \"^1.0.3\"\n }\n },\n \"which-builtin-type\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz\",\n \"integrity\": \"sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==\",\n \"requires\": {\n \"function.prototype.name\": \"^1.1.6\",\n \"has-tostringtag\": \"^1.0.2\",\n \"is-async-function\": \"^2.0.0\",\n \"is-date-object\": \"^1.0.5\",\n \"is-finalizationregistry\": \"^1.0.2\",\n \"is-generator-function\": \"^1.0.10\",\n \"is-regex\": \"^1.1.4\",\n \"is-weakref\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"which-boxed-primitive\": \"^1.0.2\",\n \"which-collection\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.15\"\n }\n },\n \"which-collection\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz\",\n \"integrity\": \"sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==\",\n \"requires\": {\n \"is-map\": \"^2.0.3\",\n \"is-set\": \"^2.0.3\",\n \"is-weakmap\": \"^2.0.2\",\n \"is-weakset\": \"^2.0.3\"\n }\n },\n \"which-typed-array\": {\n \"version\": \"1.1.15\",\n \"resolved\": \"https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz\",\n \"integrity\": \"sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==\",\n \"requires\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"has-tostringtag\": \"^1.0.2\"\n }\n },\n \"word-wrap\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz\",\n \"integrity\": \"sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==\"\n },\n \"workbox-background-sync\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz\",\n \"integrity\": \"sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==\",\n \"requires\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-broadcast-update\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz\",\n \"integrity\": \"sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-build\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz\",\n \"integrity\": \"sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==\",\n \"requires\": {\n \"@apideck/better-ajv-errors\": \"^0.3.1\",\n \"@babel/core\": \"^7.11.1\",\n \"@babel/preset-env\": \"^7.11.0\",\n \"@babel/runtime\": \"^7.11.2\",\n \"@rollup/plugin-babel\": \"^5.2.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"@rollup/plugin-replace\": \"^2.4.1\",\n \"@surma/rollup-plugin-off-main-thread\": \"^2.2.3\",\n \"ajv\": \"^8.6.0\",\n \"common-tags\": \"^1.8.0\",\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"fs-extra\": \"^9.0.1\",\n \"glob\": \"^7.1.6\",\n \"lodash\": \"^4.17.20\",\n \"pretty-bytes\": \"^5.3.0\",\n \"rollup\": \"^2.43.1\",\n \"rollup-plugin-terser\": \"^7.0.0\",\n \"source-map\": \"^0.8.0-beta.0\",\n \"stringify-object\": \"^3.3.0\",\n \"strip-comments\": \"^2.0.1\",\n \"tempy\": \"^0.6.0\",\n \"upath\": \"^1.2.0\",\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-broadcast-update\": \"6.6.0\",\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-google-analytics\": \"6.6.0\",\n \"workbox-navigation-preload\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-range-requests\": \"6.6.0\",\n \"workbox-recipes\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\",\n \"workbox-streams\": \"6.6.0\",\n \"workbox-sw\": \"6.6.0\",\n \"workbox-window\": \"6.6.0\"\n },\n \"dependencies\": {\n \"@apideck/better-ajv-errors\": {\n \"version\": \"0.3.6\",\n \"resolved\": \"https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz\",\n \"integrity\": \"sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==\",\n \"requires\": {\n \"json-schema\": \"^0.4.0\",\n \"jsonpointer\": \"^5.0.0\",\n \"leven\": \"^3.1.0\"\n }\n },\n \"ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"requires\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n }\n },\n \"fs-extra\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\",\n \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==\",\n \"requires\": {\n \"at-least-node\": \"^1.0.0\",\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n }\n },\n \"json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\"\n },\n \"source-map\": {\n \"version\": \"0.8.0-beta.0\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz\",\n \"integrity\": \"sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==\",\n \"requires\": {\n \"whatwg-url\": \"^7.0.0\"\n }\n },\n \"tr46\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz\",\n \"integrity\": \"sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==\",\n \"requires\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"webidl-conversions\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz\",\n \"integrity\": \"sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==\"\n },\n \"whatwg-url\": {\n \"version\": \"7.1.0\",\n \"resolved\": \"https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz\",\n \"integrity\": \"sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==\",\n \"requires\": {\n \"lodash.sortby\": \"^4.7.0\",\n \"tr46\": \"^1.0.1\",\n \"webidl-conversions\": \"^4.0.2\"\n }\n }\n }\n },\n \"workbox-cacheable-response\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz\",\n \"integrity\": \"sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-core\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz\",\n \"integrity\": \"sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==\"\n },\n \"workbox-expiration\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz\",\n \"integrity\": \"sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==\",\n \"requires\": {\n \"idb\": \"^7.0.1\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-google-analytics\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz\",\n \"integrity\": \"sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==\",\n \"requires\": {\n \"workbox-background-sync\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"workbox-navigation-preload\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz\",\n \"integrity\": \"sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-precaching\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz\",\n \"integrity\": \"sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"workbox-range-requests\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz\",\n \"integrity\": \"sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-recipes\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz\",\n \"integrity\": \"sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==\",\n \"requires\": {\n \"workbox-cacheable-response\": \"6.6.0\",\n \"workbox-core\": \"6.6.0\",\n \"workbox-expiration\": \"6.6.0\",\n \"workbox-precaching\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\",\n \"workbox-strategies\": \"6.6.0\"\n }\n },\n \"workbox-routing\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz\",\n \"integrity\": \"sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-strategies\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz\",\n \"integrity\": \"sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"workbox-streams\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz\",\n \"integrity\": \"sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==\",\n \"requires\": {\n \"workbox-core\": \"6.6.0\",\n \"workbox-routing\": \"6.6.0\"\n }\n },\n \"workbox-sw\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz\",\n \"integrity\": \"sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==\"\n },\n \"workbox-webpack-plugin\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz\",\n \"integrity\": \"sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==\",\n \"requires\": {\n \"fast-json-stable-stringify\": \"^2.1.0\",\n \"pretty-bytes\": \"^5.4.1\",\n \"upath\": \"^1.2.0\",\n \"webpack-sources\": \"^1.4.3\",\n \"workbox-build\": \"6.6.0\"\n },\n \"dependencies\": {\n \"source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\"\n },\n \"webpack-sources\": {\n \"version\": \"1.4.3\",\n \"resolved\": \"https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz\",\n \"integrity\": \"sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==\",\n \"requires\": {\n \"source-list-map\": \"^2.0.0\",\n \"source-map\": \"~0.6.1\"\n }\n }\n }\n },\n \"workbox-window\": {\n \"version\": \"6.6.0\",\n \"resolved\": \"https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz\",\n \"integrity\": \"sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==\",\n \"requires\": {\n \"@types/trusted-types\": \"^2.0.2\",\n \"workbox-core\": \"6.6.0\"\n }\n },\n \"wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"requires\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n }\n }\n },\n \"wrap-ansi-cjs\": {\n \"version\": \"npm:wrap-ansi@7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"requires\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"dependencies\": {\n \"ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"requires\": {\n \"color-convert\": \"^2.0.1\"\n }\n },\n \"color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"requires\": {\n \"color-name\": \"~1.1.4\"\n }\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"\n }\n }\n },\n \"wrappy\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\"\n },\n \"write-file-atomic\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz\",\n \"integrity\": \"sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==\",\n \"requires\": {\n \"imurmurhash\": \"^0.1.4\",\n \"is-typedarray\": \"^1.0.0\",\n \"signal-exit\": \"^3.0.2\",\n \"typedarray-to-buffer\": \"^3.1.5\"\n }\n },\n \"ws\": {\n \"version\": \"7.5.10\",\n \"resolved\": \"https://registry.npmjs.org/ws/-/ws-7.5.10.tgz\",\n \"integrity\": \"sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==\",\n \"requires\": {}\n },\n \"xml-name-validator\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz\",\n \"integrity\": \"sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==\"\n },\n \"xmlchars\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz\",\n \"integrity\": \"sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==\"\n },\n \"y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\"\n },\n \"yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\"\n },\n \"yaml\": {\n \"version\": \"1.10.2\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n \"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\"\n },\n \"yargs\": {\n \"version\": \"16.2.0\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz\",\n \"integrity\": \"sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==\",\n \"requires\": {\n \"cliui\": \"^7.0.2\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.0\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^20.2.2\"\n }\n },\n \"yargs-parser\": {\n \"version\": \"20.2.9\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz\",\n \"integrity\": \"sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==\"\n },\n \"yocto-queue\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n \"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\"\n }\n }\n}\n" - } - ] -} \ No newline at end of file diff --git a/.lh/package.json.json b/.lh/package.json.json deleted file mode 100644 index 202d90d..0000000 --- a/.lh/package.json.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "sourceFile": "package.json", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 2, - "patches": [ - { - "date": 1727231115264, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727231136304, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -30,10 +30,11 @@\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n- \"web-vitals\": \"^2.1.4\"\n+ \"web-vitals\": \"^2.1.4\",\n \"i18next\": \"^22.4.13\",\n+ \"react-i18next\": \"^12.2.0\",\n },\n \"scripts\": {\n \"predeploy\": \"npm run build\",\n \"deploy\": \"gh-pages -d build\",\n" - }, - { - "date": 1727236542214, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,17 +24,16 @@\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n- \"react-ga4\": \"^2.1.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n \"web-vitals\": \"^2.1.4\",\n \"i18next\": \"^22.4.13\",\n- \"react-i18next\": \"^12.2.0\",\n+ \"react-i18next\": \"^12.2.0\"\n },\n \"scripts\": {\n \"predeploy\": \"npm run build\",\n \"deploy\": \"gh-pages -d build\",\n" - } - ], - "date": 1727231115264, - "name": "Commit-0", - "content": "{\n \"name\": \"graphrag-visualizer\",\n \"version\": \"0.1.0\",\n \"homepage\": \"https://noworneverev.github.io/graphrag-visualizer/\",\n \"private\": true,\n \"dependencies\": {\n \"@emotion/react\": \"^11.13.0\",\n \"@emotion/styled\": \"^11.13.0\",\n \"@mui/icons-material\": \"^5.16.5\",\n \"@mui/material\": \"^5.16.5\",\n \"@testing-library/jest-dom\": \"^5.17.0\",\n \"@testing-library/react\": \"^13.4.0\",\n \"@testing-library/user-event\": \"^13.5.0\",\n \"@types/jest\": \"^27.5.2\",\n \"@types/node\": \"^16.18.104\",\n \"@types/react\": \"^18.3.3\",\n \"@types/react-dom\": \"^18.3.0\",\n \"axios\": \"^1.7.2\",\n \"fuse.js\": \"^7.0.0\",\n \"hyparquet\": \"^1.1.0\",\n \"material-react-table\": \"^2.13.1\",\n \"react\": \"^18.3.1\",\n \"react-app-rewired\": \"^2.2.1\",\n \"react-dom\": \"^18.3.1\",\n \"react-dropzone\": \"^14.2.3\",\n \"react-force-graph-2d\": \"^1.25.5\",\n \"react-force-graph-3d\": \"^1.24.3\",\n \"react-ga4\": \"^2.1.0\",\n \"react-scripts\": \"^5.0.1\",\n \"react-table\": \"^7.8.0\",\n \"three\": \"^0.167.1\",\n \"three-spritetext\": \"^1.8.2\",\n \"typescript\": \"^4.9.5\",\n \"web-vitals\": \"^2.1.4\"\n \"i18next\": \"^22.4.13\",\n },\n \"scripts\": {\n \"predeploy\": \"npm run build\",\n \"deploy\": \"gh-pages -d build\",\n \"start\": \"PORT=3004 react-app-rewired start\",\n \"build\": \"react-app-rewired build\",\n \"test\": \"react-app-rewired test\",\n \"eject\": \"react-scripts eject\"\n },\n \"eslintConfig\": {\n \"extends\": [\n \"react-app\",\n \"react-app/jest\"\n ]\n },\n \"browserslist\": {\n \"production\": [\n \">0.2%\",\n \"not dead\",\n \"not op_mini all\"\n ],\n \"development\": [\n \"last 1 chrome version\",\n \"last 1 firefox version\",\n \"last 1 safari version\"\n ]\n },\n \"devDependencies\": {\n \"@types/react-table\": \"^7.7.20\",\n \"@types/three\": \"^0.167.1\",\n \"gh-pages\": \"^6.1.1\"\n }\n}\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/components/APISearchDrawer.tsx.json b/.lh/src/app/components/APISearchDrawer.tsx.json deleted file mode 100644 index d217f03..0000000 --- a/.lh/src/app/components/APISearchDrawer.tsx.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "sourceFile": "src/app/components/APISearchDrawer.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 21, - "patches": [ - { - "date": 1727243774068, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727243789771, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -50,8 +50,9 @@\n globalSearchEnabled,\n hasCovariates,\n serverUp,\n }) => {\n+ const { t } = useTranslation();\n const [query, setQuery] = useState(\"\");\n const [loadingLocal, setLoadingLocal] = useState(false);\n const [loadingGlobal, setLoadingGlobal] = useState(false);\n const [expandedTables, setExpandedTables] = useState<{\n" - }, - { - "date": 1727243878776, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -50,9 +50,9 @@\n globalSearchEnabled,\n hasCovariates,\n serverUp,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('graphViewer');\n const [query, setQuery] = useState(\"\");\n const [loadingLocal, setLoadingLocal] = useState(false);\n const [loadingGlobal, setLoadingGlobal] = useState(false);\n const [expandedTables, setExpandedTables] = useState<{\n" - }, - { - "date": 1727243950927, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -117,14 +117,9 @@\n \n setQuery(e.target.value)}\n- // onKeyDown={async (e) => {\n- // if (e.key === \"Enter\" && !loadingLocal) {\n- // await handleSearch(\"local\"); // Default to global search on enter\n- // }\n- // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder={t('apiSearchDrawer.placeholder')}\n fullWidth\n margin=\"normal\"\n />\n \n@@ -140,9 +135,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingLocal ? : \"Local Search\"}\n+ {loadingLocal ? : t('apiSearchDrawer.localSearch')}\n \n \n- {loadingGlobal ? : \"Global Search\"}\n+ {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}\n \n \n \n {!serverUp && (\n \n- Server is not running. Please start the server to use the API.\n- Follow the instructions at{\" \"}\n+ {t('apiSearchDrawer.serverNotRunning')}{\" \"}\n \n- graphrag-api\n+ {t('apiSearchDrawer.graphragApi')}\n \n .\n \n )}\n {!localSearchEnabled && (\n \n- Please enable \"Include Text Unit\" and \"Include Communities\"\n- {hasCovariates && ', and \"Include Covariates\"'} to use Local\n- Search.\n+ {t('apiSearchDrawer.enableLocalSearch', { hasCovariates })}\n \n )}\n {!globalSearchEnabled && (\n \n- Please enable \"Include Communities\" to use Global Search.\n+ {t('apiSearchDrawer.enableGlobalSearch')}\n \n )}\n
\n \n {apiSearchResults && (\n <>\n {/* Search Results Card */}\n \n- \n+ \n \n \n {apiSearchResults.response}\n \n@@ -200,19 +192,19 @@\n \n \n {/* Metadata Card */}\n \n- \n+ \n \n \n- Completion Time:{\" \"}\n+ {t('apiSearchDrawer.completionTime')}{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n- LLM Calls: {apiSearchResults.llm_calls}\n+ {t('apiSearchDrawer.llmCalls')} {apiSearchResults.llm_calls}\n \n \n- Prompt Tokens:{\" \"}\n+ {t('apiSearchDrawer.promptTokens')}{\" \"}\n {apiSearchResults.prompt_tokens}\n \n \n \n@@ -274,9 +266,9 @@\n \n
\n ) : (\n \n- No data available\n+ {t('apiSearchDrawer.noDataAvailable')}\n \n )}\n \n \n" - }, - { - "date": 1727244019495, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -117,8 +117,13 @@\n \n setQuery(e.target.value)}\n+ // onKeyDown={async (e) => {\n+ // if (e.key === \"Enter\" && !loadingLocal) {\n+ // await handleSearch(\"local\"); // Default to global search on enter\n+ // }\n+ // }}\n placeholder={t('apiSearchDrawer.placeholder')}\n fullWidth\n margin=\"normal\"\n />\n" - }, - { - "date": 1727244031005, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -117,14 +117,14 @@\n \n setQuery(e.target.value)}\n- // onKeyDown={async (e) => {\n+ // onKeyDown={async (e) => {\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder')}\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -140,9 +140,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingLocal ? : t('apiSearchDrawer.localSearch')}\n+ {loadingLocal ? : \"Local Search\"}\n \n \n- {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}\n+ {loadingGlobal ? : \"Global Search\"}\n \n \n \n {!serverUp && (\n \n- {t('apiSearchDrawer.serverNotRunning')}{\" \"}\n+ Server is not running. Please start the server to use the API.\n+ Follow the instructions at{\" \"}\n \n- {t('apiSearchDrawer.graphragApi')}\n+ graphrag-api\n \n .\n \n )}\n {!localSearchEnabled && (\n \n- {t('apiSearchDrawer.enableLocalSearch', { hasCovariates })}\n+ Please enable \"Include Text Unit\" and \"Include Communities\"\n+ {hasCovariates && ', and \"Include Covariates\"'} to use Local\n+ Search.\n \n )}\n {!globalSearchEnabled && (\n \n- {t('apiSearchDrawer.enableGlobalSearch')}\n+ Please enable \"Include Communities\" to use Global Search.\n \n )}\n \n \n {apiSearchResults && (\n <>\n {/* Search Results Card */}\n \n- \n+ \n \n \n {apiSearchResults.response}\n \n@@ -197,19 +200,19 @@\n \n \n {/* Metadata Card */}\n \n- \n+ \n \n \n- {t('apiSearchDrawer.completionTime')}{\" \"}\n+ Completion Time:{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n- {t('apiSearchDrawer.llmCalls')} {apiSearchResults.llm_calls}\n+ LLM Calls: {apiSearchResults.llm_calls}\n \n \n- {t('apiSearchDrawer.promptTokens')}{\" \"}\n+ Prompt Tokens:{\" \"}\n {apiSearchResults.prompt_tokens}\n \n \n \n@@ -271,9 +274,9 @@\n \n \n ) : (\n \n- {t('apiSearchDrawer.noDataAvailable')}\n+ No data available\n \n )}\n \n \n" - }, - { - "date": 1727244275347, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder={t('apiSearchDrawer.placeholder')}\n fullWidth\n margin=\"normal\"\n />\n \n" - }, - { - "date": 1727244290666, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder')}\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n" - }, - { - "date": 1727244302076, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder=\"{t('apiSearchDrawer.placeholder')}\"\n fullWidth\n margin=\"normal\"\n />\n \n" - }, - { - "date": 1727244336712, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"{t('apiSearchDrawer.placeholder')}\"\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -140,9 +140,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingLocal ? : \"Local Search\"}\n+ {loadingLocal ? : t('apiSearchDrawer.localSearch')}\n \n \n \n" - }, - { - "date": 1727244377649, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=t('apiSearchDrawer.localSearch')\n+ placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -154,9 +154,9 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingGlobal ? : \"Global Search\"}\n+ {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}}\n \n
\n \n {!serverUp && (\n" - }, - { - "date": 1727244410179, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -154,16 +154,15 @@\n loadingLocal ||\n loadingGlobal\n }\n >\n- {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}}\n+ {loadingGlobal ? : t('apiSearchDrawer.globalSearch')}\n \n \n \n {!serverUp && (\n \n- Server is not running. Please start the server to use the API.\n- Follow the instructions at{\" \"}\n+ {t('apiSearchDrawer.serverNotRunning')}{\" \"}\n \n- graphrag-api\n+ {t('apiSearchDrawer.graphragApi')}\n \n .\n \n )}\n" - }, - { - "date": 1727244443935, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -173,11 +173,9 @@\n \n )}\n {!localSearchEnabled && (\n \n- Please enable \"Include Text Unit\" and \"Include Communities\"\n- {hasCovariates && ', and \"Include Covariates\"'} to use Local\n- Search.\n+ {t('apiSearchDrawer.enableLocalSearch', { hasCovariates })}\n \n )}\n {!globalSearchEnabled && (\n \n" - }, - { - "date": 1727244456075, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -178,9 +178,9 @@\n \n )}\n {!globalSearchEnabled && (\n \n- Please enable \"Include Communities\" to use Global Search.\n+ {t('apiSearchDrawer.enableGlobalSearch')}\n \n )}\n \n \n" - }, - { - "date": 1727244489401, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -200,9 +200,9 @@\n \n \n \n \n- Completion Time:{\" \"}\n+ {t('apiSearchDrawer.completionTime')}{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n LLM Calls: {apiSearchResults.llm_calls}\n" - }, - { - "date": 1727244514072, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -204,9 +204,9 @@\n {t('apiSearchDrawer.completionTime')}{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n- LLM Calls: {apiSearchResults.llm_calls}\n+ {t('apiSearchDrawer.llmCalls')}: {apiSearchResults.llm_calls}\n \n \n Prompt Tokens:{\" \"}\n {apiSearchResults.prompt_tokens}\n" - }, - { - "date": 1727249378176, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=\"Enter search query for API\"\n+ placeholder=「\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n \n@@ -200,9 +200,9 @@\n \n \n \n \n- {t('apiSearchDrawer.completionTime')}{\" \"}\n+ {t('apiSearchDrawer.completionTime')}:{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n {t('apiSearchDrawer.llmCalls')}: {apiSearchResults.llm_calls}\n" - }, - { - "date": 1727249649726, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder=「\"Enter search query for API\"\n+ placeholder={t('apiSearchDrawer.placeholder')\"Enter search query for API\"}\n fullWidth\n margin=\"normal\"\n />\n \n" - }, - { - "date": 1727249685526, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder')\"Enter search query for API\"}\n+ placeholder={t('apiSearchDrawer.placeholder') || }\n fullWidth\n margin=\"normal\"\n />\n \n" - }, - { - "date": 1727249711825, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -122,9 +122,9 @@\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n- placeholder={t('apiSearchDrawer.placeholder') || }\n+ placeholder={t('apiSearchDrawer.placeholder') || 'Enter search query for API'}\n fullWidth\n margin=\"normal\"\n />\n \n" - } - ], - "date": 1727243774068, - "name": "Commit-0", - "content": "import React, { useEffect, useState } from \"react\";\nimport {\n Box,\n Button,\n CircularProgress,\n Drawer,\n TextField,\n Typography,\n Card,\n CardContent,\n CardHeader,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n IconButton,\n Collapse,\n Link,\n Alert,\n} from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport ExpandLessIcon from \"@mui/icons-material/ExpandLess\";\nimport { SearchResult } from \"../models/search-result\";\nimport { useTranslation } from 'react-i18next';\n\ninterface APISearchDrawerProps {\n apiDrawerOpen: boolean;\n toggleDrawer: (open: boolean) => () => void;\n handleApiSearch: (\n query: string,\n searchType: \"local\" | \"global\"\n ) => Promise;\n apiSearchResults: SearchResult | null;\n localSearchEnabled: boolean;\n globalSearchEnabled: boolean;\n hasCovariates: boolean;\n serverUp: boolean;\n}\n\nconst APISearchDrawer: React.FC = ({\n apiDrawerOpen,\n toggleDrawer,\n handleApiSearch,\n apiSearchResults,\n localSearchEnabled,\n globalSearchEnabled,\n hasCovariates,\n serverUp,\n}) => {\n const [query, setQuery] = useState(\"\");\n const [loadingLocal, setLoadingLocal] = useState(false);\n const [loadingGlobal, setLoadingGlobal] = useState(false);\n const [expandedTables, setExpandedTables] = useState<{\n [key: string]: boolean;\n }>({});\n\n useEffect(() => {\n // Initialize the expandedTables state to false for all keys in context_data\n if (apiSearchResults && apiSearchResults.context_data) {\n const initialExpandedState: { [key: string]: boolean } = {};\n Object.keys(apiSearchResults.context_data).forEach((key) => {\n initialExpandedState[key] = true;\n });\n setExpandedTables(initialExpandedState);\n }\n }, [apiSearchResults]);\n\n const handleSearch = async (searchType: \"local\" | \"global\") => {\n if (searchType === \"local\") {\n setLoadingLocal(true);\n } else {\n setLoadingGlobal(true);\n }\n\n try {\n await handleApiSearch(query, searchType);\n } finally {\n if (searchType === \"local\") {\n setLoadingLocal(false);\n } else {\n setLoadingGlobal(false);\n }\n }\n };\n\n const toggleTable = (key: string) => {\n setExpandedTables((prevState) => ({\n ...prevState,\n [key]: !prevState[key],\n }));\n };\n\n return (\n \n \n {/* Close Button at the top-right corner */}\n \n \n \n\n {/* First Row: TextField */}\n \n setQuery(e.target.value)}\n // onKeyDown={async (e) => {\n // if (e.key === \"Enter\" && !loadingLocal) {\n // await handleSearch(\"local\"); // Default to global search on enter\n // }\n // }}\n placeholder=\"Enter search query for API\"\n fullWidth\n margin=\"normal\"\n />\n\n {/* Second Row: Buttons */}\n \n handleSearch(\"local\")}\n disabled={\n !serverUp ||\n !localSearchEnabled ||\n loadingLocal ||\n loadingGlobal\n }\n >\n {loadingLocal ? : \"Local Search\"}\n \n handleSearch(\"global\")}\n disabled={\n !serverUp ||\n !globalSearchEnabled ||\n loadingLocal ||\n loadingGlobal\n }\n >\n {loadingGlobal ? : \"Global Search\"}\n \n \n\n {!serverUp && (\n \n Server is not running. Please start the server to use the API.\n Follow the instructions at{\" \"}\n \n graphrag-api\n \n .\n \n )}\n {!localSearchEnabled && (\n \n Please enable \"Include Text Unit\" and \"Include Communities\"\n {hasCovariates && ', and \"Include Covariates\"'} to use Local\n Search.\n \n )}\n {!globalSearchEnabled && (\n \n Please enable \"Include Communities\" to use Global Search.\n \n )}\n \n\n {apiSearchResults && (\n <>\n {/* Search Results Card */}\n \n \n \n \n {apiSearchResults.response}\n \n \n \n\n {/* Metadata Card */}\n \n \n \n \n Completion Time:{\" \"}\n {apiSearchResults.completion_time} ms\n \n \n LLM Calls: {apiSearchResults.llm_calls}\n \n \n Prompt Tokens:{\" \"}\n {apiSearchResults.prompt_tokens}\n \n \n \n\n {/* Context Data Tables */}\n {apiSearchResults &&\n apiSearchResults.context_data &&\n Object.entries(apiSearchResults.context_data).map(\n ([key, data], index) => (\n \n toggleTable(key)}>\n {expandedTables[key] ? (\n \n ) : (\n \n )}\n \n }\n />\n \n \n {Array.isArray(data) && data.length > 0 ? (\n \n \n \n \n {Object.keys(data[0]).map(\n (columnName, idx) => (\n \n {columnName.charAt(0).toUpperCase() +\n columnName.slice(1)}\n \n )\n )}\n \n \n \n {data.map((row, rowIndex) => (\n \n {Object.values(row).map(\n (value, cellIndex) => (\n \n {typeof value === \"string\"\n ? value\n : JSON.stringify(value, null, 2)}\n \n )\n )}\n \n ))}\n \n
\n
\n ) : (\n \n No data available\n \n )}\n
\n \n
\n )\n )}\n \n )}\n \n \n );\n};\n\nexport default APISearchDrawer;\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/components/DataTableContainer.tsx.json b/.lh/src/app/components/DataTableContainer.tsx.json deleted file mode 100644 index 5eea9a9..0000000 --- a/.lh/src/app/components/DataTableContainer.tsx.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "sourceFile": "src/app/components/DataTableContainer.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 18, - "patches": [ - { - "date": 1727250027581, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727250039403, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -52,8 +52,9 @@\n communities,\n communityReports,\n covariates,\n }) => {\n+ const { t } = useTranslation();\n return (\n <>\n {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('dataview');\n return (\n <>\n setSelectedTable(\"entities\")}\n >\n- \n+ \n \n setSelectedTable(\"relationships\")}\n" - }, - { - "date": 1727250105867, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -75,9 +75,9 @@\n setSelectedTable(\"relationships\")}\n >\n- \n+ \n \n setSelectedTable(\"documents\")}\n" - }, - { - "date": 1727250121504, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -81,9 +81,9 @@\n setSelectedTable(\"documents\")}\n >\n- \n+ \n \n setSelectedTable(\"textunits\")}\n" - }, - { - "date": 1727250139614, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -87,9 +87,9 @@\n setSelectedTable(\"textunits\")}\n >\n- \n+ \n \n setSelectedTable(\"communities\")}\n" - }, - { - "date": 1727250158270, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,180 @@\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Drawer,\n+ List,\n+ ListItemButton,\n+ ListItemText,\n+} from \"@mui/material\";\n+import DataTable from \"./DataTable\";\n+import { Entity, entityColumns } from \"../models/entity\";\n+import { Relationship, relationshipColumns } from \"../models/relationship\";\n+import { Document, documentColumns } from \"../models/document\";\n+import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n+import { Community, communityColumns } from \"../models/community\";\n+import {\n+ CommunityReport,\n+ communityReportColumns,\n+} from \"../models/community-report\";\n+import { Covariate, covariateColumns } from \"../models/covariate\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DataTableContainerProps {\n+ selectedTable: string;\n+ setSelectedTable: (\n+ value: React.SetStateAction<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >\n+ ) => void;\n+ entities: Entity[];\n+ relationships: Relationship[];\n+ documents: Document[];\n+ textunits: TextUnit[];\n+ communities: Community[];\n+ communityReports: CommunityReport[];\n+ covariates: Covariate[];\n+}\n+\n+const DataTableContainer: React.FC = ({\n+ selectedTable,\n+ setSelectedTable,\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+}) => {\n+ const { t } = useTranslation('dataview');\n+ return (\n+ <>\n+ \n+ \n+ setSelectedTable(\"entities\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"relationships\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"documents\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"textunits\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"communities\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"communityReports\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"covariates\")}\n+ >\n+ \n+ \n+ \n+ \n+ \n+ {selectedTable === \"entities\" && (\n+ <>\n+ \n+ Entities (create_final_entities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"relationships\" && (\n+ <>\n+ \n+ Relationships (create_final_relationships.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"documents\" && (\n+ <>\n+ \n+ Documents (create_final_documents.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"textunits\" && (\n+ <>\n+ \n+ TextUnits (create_final_text_units.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communities\" && (\n+ <>\n+ \n+ Communities (create_final_communities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communityReports\" && (\n+ <>\n+ \n+ Community Reports (create_final_community_reports.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"covariates\" && (\n+ <>\n+ \n+ Covariates (create_final_covariates.parquet)\n+ \n+ \n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default DataTableContainer;\n" - }, - { - "date": 1727250181936, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -100,9 +100,9 @@\n setSelectedTable(\"communityReports\")}\n >\n- \n+ \n \n \n \n- ) => void;\n- entities: Entity[];\n- relationships: Relationship[];\n- documents: Document[];\n- textunits: TextUnit[];\n- communities: Community[];\n- communityReports: CommunityReport[];\n- covariates: Covariate[];\n-}\n-\n-const DataTableContainer: React.FC = ({\n- selectedTable,\n- setSelectedTable,\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n-}) => {\n- const { t } = useTranslation('dataview');\n- return (\n- <>\n- \n- \n- setSelectedTable(\"entities\")}\n- >\n- \n- \n- setSelectedTable(\"relationships\")}\n- >\n- \n- \n- setSelectedTable(\"documents\")}\n- >\n- \n- \n- setSelectedTable(\"textunits\")}\n- >\n- \n- \n- setSelectedTable(\"communities\")}\n- >\n- \n- \n-\n- setSelectedTable(\"communityReports\")}\n- >\n- \n- \n-\n- setSelectedTable(\"covariates\")}\n- >\n- \n- \n- \n- \n- \n- {selectedTable === \"entities\" && (\n- <>\n- \n- Entities (create_final_entities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"relationships\" && (\n- <>\n- \n- Relationships (create_final_relationships.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"documents\" && (\n- <>\n- \n- Documents (create_final_documents.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"textunits\" && (\n- <>\n- \n- TextUnits (create_final_text_units.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communities\" && (\n- <>\n- \n- Communities (create_final_communities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communityReports\" && (\n- <>\n- \n- Community Reports (create_final_community_reports.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"covariates\" && (\n- <>\n- \n- Covariates (create_final_covariates.parquet)\n- \n- \n- \n- )}\n- \n- \n- );\n-};\n-\n-export default DataTableContainer;\n" - }, - { - "date": 1727250193876, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n setSelectedTable(\"covariates\")}\n >\n- \n+ \n \n \n \n \n" - }, - { - "date": 1727250209563, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -115,9 +115,9 @@\n \n {selectedTable === \"entities\" && (\n <>\n \n- Entities (create_final_entities.parquet)\n+ {t('dataViewer.entitiesTitle')}\n \n \n \n )}\n" - }, - { - "date": 1727250216299, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,180 @@\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Drawer,\n+ List,\n+ ListItemButton,\n+ ListItemText,\n+} from \"@mui/material\";\n+import DataTable from \"./DataTable\";\n+import { Entity, entityColumns } from \"../models/entity\";\n+import { Relationship, relationshipColumns } from \"../models/relationship\";\n+import { Document, documentColumns } from \"../models/document\";\n+import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n+import { Community, communityColumns } from \"../models/community\";\n+import {\n+ CommunityReport,\n+ communityReportColumns,\n+} from \"../models/community-report\";\n+import { Covariate, covariateColumns } from \"../models/covariate\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DataTableContainerProps {\n+ selectedTable: string;\n+ setSelectedTable: (\n+ value: React.SetStateAction<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >\n+ ) => void;\n+ entities: Entity[];\n+ relationships: Relationship[];\n+ documents: Document[];\n+ textunits: TextUnit[];\n+ communities: Community[];\n+ communityReports: CommunityReport[];\n+ covariates: Covariate[];\n+}\n+\n+const DataTableContainer: React.FC = ({\n+ selectedTable,\n+ setSelectedTable,\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+}) => {\n+ const { t } = useTranslation('dataview');\n+ return (\n+ <>\n+ \n+ \n+ setSelectedTable(\"entities\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"relationships\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"documents\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"textunits\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"communities\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"communityReports\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"covariates\")}\n+ >\n+ \n+ \n+ \n+ \n+ \n+ {selectedTable === \"entities\" && (\n+ <>\n+ \n+ {t('dataViewer.entitiesTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"relationships\" && (\n+ <>\n+ \n+ Relationships (create_final_relationships.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"documents\" && (\n+ <>\n+ \n+ Documents (create_final_documents.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"textunits\" && (\n+ <>\n+ \n+ TextUnits (create_final_text_units.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communities\" && (\n+ <>\n+ \n+ Communities (create_final_communities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communityReports\" && (\n+ <>\n+ \n+ Community Reports (create_final_community_reports.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"covariates\" && (\n+ <>\n+ \n+ Covariates (create_final_covariates.parquet)\n+ \n+ \n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default DataTableContainer;\n" - }, - { - "date": 1727250226064, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -115,188 +115,8 @@\n \n {selectedTable === \"entities\" && (\n <>\n \n- {t('dataViewer.entitiesTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"relationships\" && (\n- <>\n- \n- Relationships (create_final_relationships.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"documents\" && (\n- <>\n- \n- Documents (create_final_documents.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"textunits\" && (\n- <>\n- \n- TextUnits (create_final_text_units.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communities\" && (\n- <>\n- \n- Communities (create_final_communities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communityReports\" && (\n- <>\n- \n- Community Reports (create_final_community_reports.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"covariates\" && (\n- <>\n- \n- Covariates (create_final_covariates.parquet)\n- \n- \n- \n- )}\n- \n- \n- );\n-};\n-\n-export default DataTableContainer;\n-import React from \"react\";\n-import {\n- Typography,\n- Box,\n- Drawer,\n- List,\n- ListItemButton,\n- ListItemText,\n-} from \"@mui/material\";\n-import DataTable from \"./DataTable\";\n-import { Entity, entityColumns } from \"../models/entity\";\n-import { Relationship, relationshipColumns } from \"../models/relationship\";\n-import { Document, documentColumns } from \"../models/document\";\n-import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n-import { Community, communityColumns } from \"../models/community\";\n-import {\n- CommunityReport,\n- communityReportColumns,\n-} from \"../models/community-report\";\n-import { Covariate, covariateColumns } from \"../models/covariate\";\n-import { useTranslation } from 'react-i18next';\n-\n-interface DataTableContainerProps {\n- selectedTable: string;\n- setSelectedTable: (\n- value: React.SetStateAction<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >\n- ) => void;\n- entities: Entity[];\n- relationships: Relationship[];\n- documents: Document[];\n- textunits: TextUnit[];\n- communities: Community[];\n- communityReports: CommunityReport[];\n- covariates: Covariate[];\n-}\n-\n-const DataTableContainer: React.FC = ({\n- selectedTable,\n- setSelectedTable,\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n-}) => {\n- const { t } = useTranslation('dataview');\n- return (\n- <>\n- \n- \n- setSelectedTable(\"entities\")}\n- >\n- \n- \n- setSelectedTable(\"relationships\")}\n- >\n- \n- \n- setSelectedTable(\"documents\")}\n- >\n- \n- \n- setSelectedTable(\"textunits\")}\n- >\n- \n- \n- setSelectedTable(\"communities\")}\n- >\n- \n- \n-\n- setSelectedTable(\"communityReports\")}\n- >\n- \n- \n-\n- setSelectedTable(\"covariates\")}\n- >\n- \n- \n- \n- \n- \n- {selectedTable === \"entities\" && (\n- <>\n- \n {t('dataViewer.entitiesTitle')}\n \n \n \n" - }, - { - "date": 1727250239492, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -123,9 +123,9 @@\n )}\n {selectedTable === \"relationships\" && (\n <>\n \n- Relationships (create_final_relationships.parquet)\n+ {t('dataViewer.relationshipsTitle')}\n \n \n \n )}\n" - }, - { - "date": 1727250250635, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -131,9 +131,9 @@\n )}\n {selectedTable === \"documents\" && (\n <>\n \n- Documents (create_final_documents.parquet)\n+ {t('dataViewer.documentsTitle')}\n \n \n \n )}\n" - }, - { - "date": 1727250261771, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,180 @@\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Drawer,\n+ List,\n+ ListItemButton,\n+ ListItemText,\n+} from \"@mui/material\";\n+import DataTable from \"./DataTable\";\n+import { Entity, entityColumns } from \"../models/entity\";\n+import { Relationship, relationshipColumns } from \"../models/relationship\";\n+import { Document, documentColumns } from \"../models/document\";\n+import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n+import { Community, communityColumns } from \"../models/community\";\n+import {\n+ CommunityReport,\n+ communityReportColumns,\n+} from \"../models/community-report\";\n+import { Covariate, covariateColumns } from \"../models/covariate\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DataTableContainerProps {\n+ selectedTable: string;\n+ setSelectedTable: (\n+ value: React.SetStateAction<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >\n+ ) => void;\n+ entities: Entity[];\n+ relationships: Relationship[];\n+ documents: Document[];\n+ textunits: TextUnit[];\n+ communities: Community[];\n+ communityReports: CommunityReport[];\n+ covariates: Covariate[];\n+}\n+\n+const DataTableContainer: React.FC = ({\n+ selectedTable,\n+ setSelectedTable,\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+}) => {\n+ const { t } = useTranslation('dataview');\n+ return (\n+ <>\n+ \n+ \n+ setSelectedTable(\"entities\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"relationships\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"documents\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"textunits\")}\n+ >\n+ \n+ \n+ setSelectedTable(\"communities\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"communityReports\")}\n+ >\n+ \n+ \n+\n+ setSelectedTable(\"covariates\")}\n+ >\n+ \n+ \n+ \n+ \n+ \n+ {selectedTable === \"entities\" && (\n+ <>\n+ \n+ {t('dataViewer.entitiesTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"relationships\" && (\n+ <>\n+ \n+ {t('dataViewer.relationshipsTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"documents\" && (\n+ <>\n+ \n+ {t('dataViewer.documentsTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"textunits\" && (\n+ <>\n+ \n+ {t('dataViewer.textUnitsTitle')}\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communities\" && (\n+ <>\n+ \n+ Communities (create_final_communities.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"communityReports\" && (\n+ <>\n+ \n+ Community Reports (create_final_community_reports.parquet)\n+ \n+ \n+ \n+ )}\n+ {selectedTable === \"covariates\" && (\n+ <>\n+ \n+ Covariates (create_final_covariates.parquet)\n+ \n+ \n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default DataTableContainer;\n" - }, - { - "date": 1727250279685, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -147,9 +147,9 @@\n )}\n {selectedTable === \"communities\" && (\n <>\n \n- Communities (create_final_communities.parquet)\n+ {t('dataViewer.communitiesTitle')}\n \n \n \n )}\n@@ -177,184 +177,4 @@\n );\n };\n \n export default DataTableContainer;\n-import React from \"react\";\n-import {\n- Typography,\n- Box,\n- Drawer,\n- List,\n- ListItemButton,\n- ListItemText,\n-} from \"@mui/material\";\n-import DataTable from \"./DataTable\";\n-import { Entity, entityColumns } from \"../models/entity\";\n-import { Relationship, relationshipColumns } from \"../models/relationship\";\n-import { Document, documentColumns } from \"../models/document\";\n-import { TextUnit, textUnitColumns } from \"../models/text-unit\";\n-import { Community, communityColumns } from \"../models/community\";\n-import {\n- CommunityReport,\n- communityReportColumns,\n-} from \"../models/community-report\";\n-import { Covariate, covariateColumns } from \"../models/covariate\";\n-import { useTranslation } from 'react-i18next';\n-\n-interface DataTableContainerProps {\n- selectedTable: string;\n- setSelectedTable: (\n- value: React.SetStateAction<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >\n- ) => void;\n- entities: Entity[];\n- relationships: Relationship[];\n- documents: Document[];\n- textunits: TextUnit[];\n- communities: Community[];\n- communityReports: CommunityReport[];\n- covariates: Covariate[];\n-}\n-\n-const DataTableContainer: React.FC = ({\n- selectedTable,\n- setSelectedTable,\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n-}) => {\n- const { t } = useTranslation('dataview');\n- return (\n- <>\n- \n- \n- setSelectedTable(\"entities\")}\n- >\n- \n- \n- setSelectedTable(\"relationships\")}\n- >\n- \n- \n- setSelectedTable(\"documents\")}\n- >\n- \n- \n- setSelectedTable(\"textunits\")}\n- >\n- \n- \n- setSelectedTable(\"communities\")}\n- >\n- \n- \n-\n- setSelectedTable(\"communityReports\")}\n- >\n- \n- \n-\n- setSelectedTable(\"covariates\")}\n- >\n- \n- \n- \n- \n- \n- {selectedTable === \"entities\" && (\n- <>\n- \n- {t('dataViewer.entitiesTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"relationships\" && (\n- <>\n- \n- {t('dataViewer.relationshipsTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"documents\" && (\n- <>\n- \n- {t('dataViewer.documentsTitle')}\n- \n- \n- \n- )}\n- {selectedTable === \"textunits\" && (\n- <>\n- \n- TextUnits (create_final_text_units.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communities\" && (\n- <>\n- \n- Communities (create_final_communities.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"communityReports\" && (\n- <>\n- \n- Community Reports (create_final_community_reports.parquet)\n- \n- \n- \n- )}\n- {selectedTable === \"covariates\" && (\n- <>\n- \n- Covariates (create_final_covariates.parquet)\n- \n- \n- \n- )}\n- \n- \n- );\n-};\n-\n-export default DataTableContainer;\n" - }, - { - "date": 1727250291203, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -155,9 +155,9 @@\n )}\n {selectedTable === \"communityReports\" && (\n <>\n \n- Community Reports (create_final_community_reports.parquet)\n+ \n \n \n \n- \n+ {t('dataViewer.communityReportsTitle')}\n \n \n \n- Covariates (create_final_covariates.parquet)\n+ {t('dataViewer.covariatesTitle')}\n \n \n \n )}\n" - } - ], - "date": 1727250027581, - "name": "Commit-0", - "content": "import React from \"react\";\nimport {\n Typography,\n Box,\n Drawer,\n List,\n ListItemButton,\n ListItemText,\n} from \"@mui/material\";\nimport DataTable from \"./DataTable\";\nimport { Entity, entityColumns } from \"../models/entity\";\nimport { Relationship, relationshipColumns } from \"../models/relationship\";\nimport { Document, documentColumns } from \"../models/document\";\nimport { TextUnit, textUnitColumns } from \"../models/text-unit\";\nimport { Community, communityColumns } from \"../models/community\";\nimport {\n CommunityReport,\n communityReportColumns,\n} from \"../models/community-report\";\nimport { Covariate, covariateColumns } from \"../models/covariate\";\nimport { useTranslation } from 'react-i18next';\n\ninterface DataTableContainerProps {\n selectedTable: string;\n setSelectedTable: (\n value: React.SetStateAction<\n | \"entities\"\n | \"relationships\"\n | \"documents\"\n | \"textunits\"\n | \"communities\"\n | \"communityReports\"\n | \"covariates\"\n >\n ) => void;\n entities: Entity[];\n relationships: Relationship[];\n documents: Document[];\n textunits: TextUnit[];\n communities: Community[];\n communityReports: CommunityReport[];\n covariates: Covariate[];\n}\n\nconst DataTableContainer: React.FC = ({\n selectedTable,\n setSelectedTable,\n entities,\n relationships,\n documents,\n textunits,\n communities,\n communityReports,\n covariates,\n}) => {\n return (\n <>\n \n \n setSelectedTable(\"entities\")}\n >\n \n \n setSelectedTable(\"relationships\")}\n >\n \n \n setSelectedTable(\"documents\")}\n >\n \n \n setSelectedTable(\"textunits\")}\n >\n \n \n setSelectedTable(\"communities\")}\n >\n \n \n\n setSelectedTable(\"communityReports\")}\n >\n \n \n\n setSelectedTable(\"covariates\")}\n >\n \n \n \n \n \n {selectedTable === \"entities\" && (\n <>\n \n Entities (create_final_entities.parquet)\n \n \n \n )}\n {selectedTable === \"relationships\" && (\n <>\n \n Relationships (create_final_relationships.parquet)\n \n \n \n )}\n {selectedTable === \"documents\" && (\n <>\n \n Documents (create_final_documents.parquet)\n \n \n \n )}\n {selectedTable === \"textunits\" && (\n <>\n \n TextUnits (create_final_text_units.parquet)\n \n \n \n )}\n {selectedTable === \"communities\" && (\n <>\n \n Communities (create_final_communities.parquet)\n \n \n \n )}\n {selectedTable === \"communityReports\" && (\n <>\n \n Community Reports (create_final_community_reports.parquet)\n \n \n \n )}\n {selectedTable === \"covariates\" && (\n <>\n \n Covariates (create_final_covariates.parquet)\n \n \n \n )}\n \n \n );\n};\n\nexport default DataTableContainer;\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/components/DetailDrawer.tsx.json b/.lh/src/app/components/DetailDrawer.tsx.json deleted file mode 100644 index f82d509..0000000 --- a/.lh/src/app/components/DetailDrawer.tsx.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "sourceFile": "src/app/components/DetailDrawer.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 3, - "patches": [ - { - "date": 1727250670012, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727250680122, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,8 +43,10 @@\n selectedRelationship,\n linkedNodes,\n linkedRelationships,\n }) => {\n+ const { t } = useTranslation();\n+\n const getNodeName = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.name : node;\n };\n \n" - }, - { - "date": 1727250689730, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,9 +43,9 @@\n selectedRelationship,\n linkedNodes,\n linkedRelationships,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('dataview');\n \n const getNodeName = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.name : node;\n };\n" - }, - { - "date": 1727250921590, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -119,179 +119,155 @@\n const filteredColumns = getFilteredNodeColumns(linkedNodeTypes);\n \n return (\n setBottomDrawerOpen(false)}\n- sx={{ zIndex: 1500 }}\n- >\n- \n- setBottomDrawerOpen(false)}\n+ sx={{ zIndex: 1500 }}\n+ >\n+ \n+ \n+ {selectedNode ? (\n+ \n+ {t('detailDrawer.nodeDetails', { name: selectedNode.name.toString() })}\n+ \n+ ) : (\n+ \n+ {selectedRelationship && t('detailDrawer.relationshipDetails', {\n+ sourceType: getNodeType(selectedRelationship.source),\n+ sourceName: getNodeName(selectedRelationship.source),\n+ relationshipType: selectedRelationship.type,\n+ targetType: getNodeType(selectedRelationship.target),\n+ targetName: getNodeName(selectedRelationship.target),\n+ })}\n+ \n+ )}\n+ setBottomDrawerOpen(false)}\n+ sx={{ marginLeft: \"auto\" }}\n >\n- {selectedNode ? (\n+ \n+ \n+ \n+ {selectedNode && (\n+ \n+ \n \n- {/* Node Details: {selectedNode.id.toString()} */}\n- Node Details: {selectedNode.name.toString()}\n+ {t('detailDrawer.nodeInformation')}\n \n- ) : (\n- \n- {\" \"}\n- {selectedRelationship && (\n- <>\n- {\"(:\"}\n- {getNodeType(selectedRelationship.source)} {\"{name: \"}\n- {\"'\"}\n- {getNodeName(selectedRelationship.source)}\n- {\"'\"}\n- {\"}\"}\n- {\")\"}\n- {\"-[:\"}\n- {selectedRelationship.type}\n- {\"]->\"}\n- {\"(:\"}\n- {getNodeType(selectedRelationship.target)} {\"{name: \"}\n- {\"'\"}\n- {getNodeName(selectedRelationship.target)}\n- {\"'\"}\n- {\"}\"}\n- {\")\"}\n- \n- )}\n- \n- )}\n- setBottomDrawerOpen(false)}\n- sx={{ marginLeft: \"auto\" }}\n- >\n- \n- \n- \n- {selectedNode && (\n- \n- \n- \n- Node Information\n+ {t('detailDrawer.id')}: {selectedNode.uuid}\n+ {t('detailDrawer.name')}: {selectedNode.name}\n+ {selectedNode.covariate_type && (\n+ \n+ {t('detailDrawer.covariateType')}: {selectedNode.covariate_type}\n \n- ID: {selectedNode.uuid}\n- Name: {selectedNode.name}\n- {selectedNode.covariate_type && (\n- \n- Covariate Type: {selectedNode.covariate_type}\n- \n- )}\n- Type: {selectedNode.type}\n- {selectedNode.title && (\n- Title: {selectedNode.title}\n- )}\n- {selectedNode.summary && (\n- Summary: {selectedNode.summary}\n- )}\n- {selectedNode.n_tokens && (\n- \n- Number of Tokens: {selectedNode.n_tokens}\n- \n- )}\n+ )}\n+ {t('detailDrawer.type')}: {selectedNode.type}\n+ {selectedNode.title && (\n+ {t('detailDrawer.title')}: {selectedNode.title}\n+ )}\n+ {selectedNode.summary && (\n+ {t('detailDrawer.summary')}: {selectedNode.summary}\n+ )}\n+ {selectedNode.n_tokens && (\n+ \n+ {t('detailDrawer.numberOfTokens')}: {selectedNode.n_tokens}\n+ \n+ )}\n \n- {selectedNode.description && (\n- Description: {selectedNode.description}\n- )}\n- {selectedNode.human_readable_id && (\n- \n- Human Readable ID: {selectedNode.human_readable_id}\n- \n- )}\n-\n- {/* {selectedNode.human_readable_id ||\n- (selectedNode.human_readable_id === 0 && (\n- \n- Human Readable ID: {selectedNode.human_readable_id}\n- \n- ))} */}\n- {selectedNode.raw_content && (\n- Raw Content: {selectedNode.raw_content}\n- )}\n- \n- \n- )}\n- {selectedRelationship && (\n- \n- \n- \n- Relationship Information:\n+ {selectedNode.description && (\n+ {t('detailDrawer.description')}: {selectedNode.description}\n+ )}\n+ {selectedNode.human_readable_id && (\n+ \n+ {t('detailDrawer.humanReadableId')}: {selectedNode.human_readable_id}\n \n- ID: {selectedRelationship.id}\n+ )}\n+ {selectedNode.raw_content && (\n+ {t('detailDrawer.rawContent')}: {selectedNode.raw_content}\n+ )}\n+ \n+ \n+ )}\n+ {selectedRelationship && (\n+ \n+ \n+ \n+ {t('detailDrawer.relationshipInformation')}\n+ \n+ {t('detailDrawer.id')}: {selectedRelationship.id}\n \n+ \n+ {t('detailDrawer.source')}: {getNodeName(selectedRelationship.source)}\n+ \n+ \n+ {t('detailDrawer.target')}: {getNodeName(selectedRelationship.target)}\n+ \n+ {t('detailDrawer.type')}: {selectedRelationship.type}\n+ {selectedRelationship.description && (\n \n- Source: {getNodeName(selectedRelationship.source)}\n+ {t('detailDrawer.description')}: {selectedRelationship.description}\n \n+ )}\n+ {selectedRelationship.human_readable_id && (\n \n- Target: {getNodeName(selectedRelationship.target)}\n+ {t('detailDrawer.humanReadableId')}: {selectedRelationship.human_readable_id}\n \n- Type: {selectedRelationship.type}\n- {selectedRelationship.description && (\n- \n- Description: {selectedRelationship.description}\n- \n- )}\n- {selectedRelationship.human_readable_id && (\n- \n- Human Readable ID: {selectedRelationship.human_readable_id}\n- \n- )}\n- {selectedRelationship.weight && (\n- Weight: {selectedRelationship.weight}\n- )}\n- {selectedRelationship.source_degree && (\n- \n- Source Degree: {selectedRelationship.source_degree}\n- \n- )}\n- {selectedRelationship.target_degree && (\n- \n- Target Degree: {selectedRelationship.target_degree}\n- \n- )}\n- {selectedRelationship.rank && (\n- Rank: {selectedRelationship.rank}\n- )}\n- \n- \n- )}\n- \n+ )}\n+ {selectedRelationship.weight && (\n+ {t('detailDrawer.weight')}: {selectedRelationship.weight}\n+ )}\n+ {selectedRelationship.source_degree && (\n+ \n+ {t('detailDrawer.sourceDegree')}: {selectedRelationship.source_degree}\n+ \n+ )}\n+ {selectedRelationship.target_degree && (\n+ \n+ {t('detailDrawer.targetDegree')}: {selectedRelationship.target_degree}\n+ \n+ )}\n+ {selectedRelationship.rank && (\n+ {t('detailDrawer.rank')}: {selectedRelationship.rank}\n+ )}\n+
\n+
\n+ )}\n+ \n+ \n+ {t('detailDrawer.linkedNodes')}\n+ \n+ \n+ \n+ {selectedNode && (\n+ \n \n- Linked Nodes\n+ {t('detailDrawer.linkedRelationships')}\n \n+\n ({\n+ ...link,\n+ source: getNodeName(link.source),\n+ target: getNodeName(link.target),\n+ }))}\n />\n \n- {selectedNode && (\n- \n- \n- Linked Relationships\n- \n-\n- ({\n- ...link,\n- source: getNodeName(link.source),\n- target: getNodeName(link.target),\n- }))}\n- />\n- \n- )}\n- \n- \n+ )}\n+ \n+ \n );\n };\n \n export default DetailDrawer;\n" - } - ], - "date": 1727250670012, - "name": "Commit-0", - "content": "import React from \"react\";\nimport {\n Box,\n Card,\n CardContent,\n Drawer,\n IconButton,\n Typography,\n} from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport DataTable from \"./DataTable\";\nimport {\n CustomLink,\n CustomNode,\n customLinkColumns,\n customNodeColumns,\n} from \"../models/custom-graph-data\";\nimport { textUnitColumns } from \"../models/text-unit\";\nimport { communityColumns } from \"../models/community\";\nimport {\n communityReportColumns,\n findingColumns,\n} from \"../models/community-report\";\nimport { documentColumns } from \"../models/document\";\nimport { covariateColumns } from \"../models/covariate\";\nimport { MRT_ColumnDef } from \"material-react-table\";\nimport { entityColumns } from \"../models/entity\";\nimport { useTranslation } from 'react-i18next';\n\ninterface DetailDrawerProps {\n bottomDrawerOpen: boolean;\n setBottomDrawerOpen: React.Dispatch>;\n selectedNode: CustomNode | null;\n selectedRelationship: CustomLink | null;\n linkedNodes: CustomNode[];\n linkedRelationships: CustomLink[];\n}\n\nconst DetailDrawer: React.FC = ({\n bottomDrawerOpen,\n setBottomDrawerOpen,\n selectedNode,\n selectedRelationship,\n linkedNodes,\n linkedRelationships,\n}) => {\n const getNodeName = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.name : node;\n };\n\n const getNodeType = (node: string | CustomNode) => {\n return typeof node === \"object\" ? node.type : node;\n };\n\n const getFilteredNodeColumns = (\n types: string[]\n ): MRT_ColumnDef[] => {\n const validAccessorKeys = new Set();\n if (types.includes(\"CHUNK\")) {\n textUnitColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"COMMUNITY\")) {\n communityColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n communityReportColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"RAW_DOCUMENT\")) {\n documentColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"COVARIATE\")) {\n covariateColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n if (types.includes(\"FINDING\")) {\n findingColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n }\n\n entityColumns.forEach((tc) => {\n if (tc.accessorKey) {\n validAccessorKeys.add(tc.accessorKey);\n }\n });\n validAccessorKeys.add(\"uuid\");\n return customNodeColumns.filter(\n (column) =>\n column.accessorKey && validAccessorKeys.has(column.accessorKey)\n );\n };\n\n const linkedNodeTypes = [...new Set(linkedNodes.map((node) => node.type))];\n const filteredColumns = getFilteredNodeColumns(linkedNodeTypes);\n\n return (\n setBottomDrawerOpen(false)}\n sx={{ zIndex: 1500 }}\n >\n \n \n {selectedNode ? (\n \n {/* Node Details: {selectedNode.id.toString()} */}\n Node Details: {selectedNode.name.toString()}\n \n ) : (\n \n {\" \"}\n {selectedRelationship && (\n <>\n {\"(:\"}\n {getNodeType(selectedRelationship.source)} {\"{name: \"}\n {\"'\"}\n {getNodeName(selectedRelationship.source)}\n {\"'\"}\n {\"}\"}\n {\")\"}\n {\"-[:\"}\n {selectedRelationship.type}\n {\"]->\"}\n {\"(:\"}\n {getNodeType(selectedRelationship.target)} {\"{name: \"}\n {\"'\"}\n {getNodeName(selectedRelationship.target)}\n {\"'\"}\n {\"}\"}\n {\")\"}\n \n )}\n \n )}\n setBottomDrawerOpen(false)}\n sx={{ marginLeft: \"auto\" }}\n >\n \n \n \n {selectedNode && (\n \n \n \n Node Information\n \n ID: {selectedNode.uuid}\n Name: {selectedNode.name}\n {selectedNode.covariate_type && (\n \n Covariate Type: {selectedNode.covariate_type}\n \n )}\n Type: {selectedNode.type}\n {selectedNode.title && (\n Title: {selectedNode.title}\n )}\n {selectedNode.summary && (\n Summary: {selectedNode.summary}\n )}\n {selectedNode.n_tokens && (\n \n Number of Tokens: {selectedNode.n_tokens}\n \n )}\n\n {selectedNode.description && (\n Description: {selectedNode.description}\n )}\n {selectedNode.human_readable_id && (\n \n Human Readable ID: {selectedNode.human_readable_id}\n \n )}\n\n {/* {selectedNode.human_readable_id ||\n (selectedNode.human_readable_id === 0 && (\n \n Human Readable ID: {selectedNode.human_readable_id}\n \n ))} */}\n {selectedNode.raw_content && (\n Raw Content: {selectedNode.raw_content}\n )}\n \n \n )}\n {selectedRelationship && (\n \n \n \n Relationship Information:\n \n ID: {selectedRelationship.id}\n\n \n Source: {getNodeName(selectedRelationship.source)}\n \n \n Target: {getNodeName(selectedRelationship.target)}\n \n Type: {selectedRelationship.type}\n {selectedRelationship.description && (\n \n Description: {selectedRelationship.description}\n \n )}\n {selectedRelationship.human_readable_id && (\n \n Human Readable ID: {selectedRelationship.human_readable_id}\n \n )}\n {selectedRelationship.weight && (\n Weight: {selectedRelationship.weight}\n )}\n {selectedRelationship.source_degree && (\n \n Source Degree: {selectedRelationship.source_degree}\n \n )}\n {selectedRelationship.target_degree && (\n \n Target Degree: {selectedRelationship.target_degree}\n \n )}\n {selectedRelationship.rank && (\n Rank: {selectedRelationship.rank}\n )}\n \n \n )}\n \n \n Linked Nodes\n \n \n \n {selectedNode && (\n \n \n Linked Relationships\n \n\n ({\n ...link,\n source: getNodeName(link.source),\n target: getNodeName(link.target),\n }))}\n />\n \n )}\n \n \n );\n};\n\nexport default DetailDrawer;\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/components/DropZone.tsx.json b/.lh/src/app/components/DropZone.tsx.json deleted file mode 100644 index e78b9e1..0000000 --- a/.lh/src/app/components/DropZone.tsx.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "sourceFile": "src/app/components/DropZone.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 6, - "patches": [ - { - "date": 1727240020326, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727240034436, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n import React from \"react\";\n import { Box, Typography } from \"@mui/material\";\n import { useTheme } from \"@mui/material/styles\";\n import { useTranslation } from 'react-i18next';\n+const { t } = useTranslation();\n \n interface DropZoneProps {\n getRootProps: () => any;\n getInputProps: () => any;\n" - }, - { - "date": 1727240054146, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n import React from \"react\";\n import { Box, Typography } from \"@mui/material\";\n import { useTheme } from \"@mui/material/styles\";\n import { useTranslation } from 'react-i18next';\n+\n const { t } = useTranslation();\n \n interface DropZoneProps {\n getRootProps: () => any;\n@@ -39,9 +40,9 @@\n }}\n >\n \n {isDragActive ? (\n- Drop the files here...\n+ {t('dropZone.dropFilesHere')}Drop the files here...\n ) : (\n \n Drag 'n' drop parquet files here, or click to select files\n \n" - }, - { - "date": 1727240073212, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -40,12 +40,12 @@\n }}\n >\n \n {isDragActive ? (\n- {t('dropZone.dropFilesHere')}Drop the files here...\n+ {t('dropZone.dropFilesHere')}\n ) : (\n \n- Drag 'n' drop parquet files here, or click to select files\n+ {t('dropZone.dragAndDrop')}\n \n )}\n \n );\n" - }, - { - "date": 1727240260651, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,52 @@\n+import React from \"react\";\n+import { Box, Typography } from \"@mui/material\";\n+import { useTheme } from \"@mui/material/styles\";\n+import { useTranslation } from 'react-i18next';\n+\n+interface DropZoneProps {\n+ getRootProps: () => any;\n+ getInputProps: () => any;\n+ isDragActive: boolean;\n+}\n+\n+const DropZone: React.FC = ({\n+ getRootProps,\n+ getInputProps,\n+ isDragActive,\n+}) => {\n+ const theme = useTheme();\n+\n+ return (\n+ \n+ \n+ {isDragActive ? (\n+ {t('dropZone.dropFilesHere')}\n+ ) : (\n+ \n+ {t('dropZone.dragAndDrop')}\n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default DropZone;\n" - }, - { - "date": 1727240266251, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -13,62 +13,10 @@\n getRootProps,\n getInputProps,\n isDragActive,\n }) => {\n- const theme = useTheme();\n+ const { t } = useTranslation();\n \n- return (\n- \n- \n- {isDragActive ? (\n- {t('dropZone.dropFilesHere')}\n- ) : (\n- \n- {t('dropZone.dragAndDrop')}\n- \n- )}\n- \n- );\n-};\n-\n-export default DropZone;\n-import React from \"react\";\n-import { Box, Typography } from \"@mui/material\";\n-import { useTheme } from \"@mui/material/styles\";\n-import { useTranslation } from 'react-i18next';\n-\n-const { t } = useTranslation();\n-\n-interface DropZoneProps {\n- getRootProps: () => any;\n- getInputProps: () => any;\n- isDragActive: boolean;\n-}\n-\n-const DropZone: React.FC = ({\n- getRootProps,\n- getInputProps,\n- isDragActive,\n-}) => {\n const theme = useTheme();\n \n return (\n {\n- const { t } = useTranslation();\n-\n+ const { t } = useTranslation('');\n const theme = useTheme();\n \n return (\n any;\n getInputProps: () => any;\n isDragActive: boolean;\n}\n\nconst DropZone: React.FC = ({\n getRootProps,\n getInputProps,\n isDragActive,\n}) => {\n const theme = useTheme();\n\n return (\n \n \n {isDragActive ? (\n Drop the files here...\n ) : (\n \n Drag 'n' drop parquet files here, or click to select files\n \n )}\n \n );\n};\n\nexport default DropZone;\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/components/GraphDataHandler.tsx.json b/.lh/src/app/components/GraphDataHandler.tsx.json deleted file mode 100644 index 8ba90c6..0000000 --- a/.lh/src/app/components/GraphDataHandler.tsx.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "sourceFile": "src/app/components/GraphDataHandler.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 13, - "patches": [ - { - "date": 1727235160816, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727235168436, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -10,8 +10,9 @@\n import ReactGA from \"react-ga4\";\n import { useTranslation } from 'react-i18next';\n \n const GraphDataHandler: React.FC = () => {\n+ const { t } = useTranslation();\n const [tabIndex, setTabIndex] = useState(0);\n const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n const [isFullscreen, setIsFullscreen] = useState(false);\n const [selectedTable, setSelectedTable] = useState<\n" - }, - { - "date": 1727235187794, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,11 +107,11 @@\n \n return (\n <>\n \n- \n- \n- \n+ \n+ \n+ \n \n {tabIndex === 0 && (\n \n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" - }, - { - "date": 1727235268240, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n return (\n <>\n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" - }, - { - "date": 1727235274910, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -108,10 +108,10 @@\n return (\n <>\n \n \n- \n- \n+ \n+ \n \n {tabIndex === 0 && (\n \n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" - }, - { - "date": 1727235593756, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n return (\n <>\n \n- \n+ \n \n \n \n {tabIndex === 0 && (\n" - }, - { - "date": 1727235977999, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,11 +107,11 @@\n \n return (\n <>\n \n- \n- \n- \n+ \n+ \n+ \n \n {tabIndex === 0 && (\n {\n+ const { t } = useTranslation('');\n+ const [tabIndex, setTabIndex] = useState(0);\n+ const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n+ const [isFullscreen, setIsFullscreen] = useState(false);\n+ const [selectedTable, setSelectedTable] = useState<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >(\"entities\");\n+ const [includeDocuments, setIncludeDocuments] = useState(false);\n+ const [includeTextUnits, setIncludeTextUnits] = useState(false);\n+ const [includeCommunities, setIncludeCommunities] = useState(false);\n+ const [includeCovariates, setIncludeCovariates] = useState(false);\n+\n+ const {\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ covariates,\n+ communityReports,\n+ handleFilesRead,\n+ } = useFileHandler();\n+\n+ const graphData = useGraphData(\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+ includeDocuments,\n+ includeTextUnits,\n+ includeCommunities,\n+ includeCovariates\n+ );\n+\n+ const hasDocuments = documents.length > 0;\n+ const hasTextUnits = textunits.length > 0;\n+ const hasCommunities = communities.length > 0;\n+ const hasCovariates = covariates.length > 0;\n+\n+ useEffect(() => {\n+ if (entities.length > 0) {\n+ setTabIndex(1);\n+ }\n+ }, [entities]);\n+\n+ useEffect(() => {\n+ const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n+ if (measurementId) {\n+ ReactGA.initialize(measurementId);\n+ } else {\n+ console.error(\"Google Analytics measurement ID not found\");\n+ }\n+ }, []);\n+\n+ const onDrop = (acceptedFiles: File[]) => {\n+ handleFilesRead(acceptedFiles);\n+ };\n+\n+ const { getRootProps, getInputProps, isDragActive } = useDropzone({\n+ onDrop,\n+ noClick: false,\n+ noKeyboard: true,\n+ accept: {\n+ \"application/x-parquet\": [\".parquet\"],\n+ },\n+ });\n+\n+ const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n+ setTabIndex(newValue);\n+ ReactGA.send({\n+ hitType: \"event\",\n+ eventCategory: \"Tabs\",\n+ eventAction: \"click\",\n+ eventLabel: `Tab ${newValue}`,\n+ });\n+ };\n+\n+ const toggleGraphType = () => {\n+ setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n+ };\n+\n+ const toggleFullscreen = () => {\n+ setIsFullscreen(!isFullscreen);\n+ };\n+\n+ return (\n+ <>\n+ \n+ \n+ \n+ \n+ \n+ {tabIndex === 0 && (\n+ \n+ \n+ \n+ \n+ )}\n+ {tabIndex === 1 && (\n+ \n+ \n+ setIncludeDocuments(!includeDocuments)\n+ }\n+ onIncludeTextUnitsChange={() =>\n+ setIncludeTextUnits(!includeTextUnits)\n+ }\n+ includeCommunities={includeCommunities}\n+ onIncludeCommunitiesChange={() =>\n+ setIncludeCommunities(!includeCommunities)\n+ }\n+ includeCovariates={includeCovariates}\n+ onIncludeCovariatesChange={() =>\n+ setIncludeCovariates(!includeCovariates)\n+ }\n+ hasDocuments={hasDocuments}\n+ hasTextUnits={hasTextUnits}\n+ hasCommunities={hasCommunities}\n+ hasCovariates={hasCovariates}\n+ />\n+ \n+ )}\n+\n+ {tabIndex === 2 && (\n+ \n+ \n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default GraphDataHandler;\n" - }, - { - "date": 1727236511109, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,182 @@\n+import React, { useState, useEffect } from \"react\";\n+import GraphViewer from \"./GraphViewer\";\n+import { Box, Container, Tab, Tabs } from \"@mui/material\";\n+import { useDropzone } from \"react-dropzone\";\n+import DropZone from \"./DropZone\";\n+import Introduction from \"./Introduction\";\n+import useFileHandler from \"../hooks/useFileHandler\";\n+import useGraphData from \"../hooks/useGraphData\";\n+import DataTableContainer from \"./DataTableContainer\";\n+import ReactGA from \"react-ga4\";\n+import { useTranslation } from 'react-i18next';\n+\n+const GraphDataHandler: React.FC = () => {\n+ const { t } = useTranslation('layout');\n+ const [tabIndex, setTabIndex] = useState(0);\n+ const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n+ const [isFullscreen, setIsFullscreen] = useState(false);\n+ const [selectedTable, setSelectedTable] = useState<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >(\"entities\");\n+ const [includeDocuments, setIncludeDocuments] = useState(false);\n+ const [includeTextUnits, setIncludeTextUnits] = useState(false);\n+ const [includeCommunities, setIncludeCommunities] = useState(false);\n+ const [includeCovariates, setIncludeCovariates] = useState(false);\n+\n+ const {\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ covariates,\n+ communityReports,\n+ handleFilesRead,\n+ } = useFileHandler();\n+\n+ const graphData = useGraphData(\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+ includeDocuments,\n+ includeTextUnits,\n+ includeCommunities,\n+ includeCovariates\n+ );\n+\n+ const hasDocuments = documents.length > 0;\n+ const hasTextUnits = textunits.length > 0;\n+ const hasCommunities = communities.length > 0;\n+ const hasCovariates = covariates.length > 0;\n+\n+ useEffect(() => {\n+ if (entities.length > 0) {\n+ setTabIndex(1);\n+ }\n+ }, [entities]);\n+\n+\n+ const onDrop = (acceptedFiles: File[]) => {\n+ handleFilesRead(acceptedFiles);\n+ };\n+\n+ const { getRootProps, getInputProps, isDragActive } = useDropzone({\n+ onDrop,\n+ noClick: false,\n+ noKeyboard: true,\n+ accept: {\n+ \"application/x-parquet\": [\".parquet\"],\n+ },\n+ });\n+\n+ const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n+ setTabIndex(newValue);\n+ ReactGA.send({\n+ hitType: \"event\",\n+ eventCategory: \"Tabs\",\n+ eventAction: \"click\",\n+ eventLabel: `Tab ${newValue}`,\n+ });\n+ };\n+\n+ const toggleGraphType = () => {\n+ setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n+ };\n+\n+ const toggleFullscreen = () => {\n+ setIsFullscreen(!isFullscreen);\n+ };\n+\n+ return (\n+ <>\n+ \n+ \n+ \n+ \n+ \n+ {tabIndex === 0 && (\n+ \n+ \n+ \n+ \n+ )}\n+ {tabIndex === 1 && (\n+ \n+ \n+ setIncludeDocuments(!includeDocuments)\n+ }\n+ onIncludeTextUnitsChange={() =>\n+ setIncludeTextUnits(!includeTextUnits)\n+ }\n+ includeCommunities={includeCommunities}\n+ onIncludeCommunitiesChange={() =>\n+ setIncludeCommunities(!includeCommunities)\n+ }\n+ includeCovariates={includeCovariates}\n+ onIncludeCovariatesChange={() =>\n+ setIncludeCovariates(!includeCovariates)\n+ }\n+ hasDocuments={hasDocuments}\n+ hasTextUnits={hasTextUnits}\n+ hasCommunities={hasCommunities}\n+ hasCovariates={hasCovariates}\n+ />\n+ \n+ )}\n+\n+ {tabIndex === 2 && (\n+ \n+ \n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default GraphDataHandler;\n" - }, - { - "date": 1727236520357, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -6,9 +6,8 @@\n import Introduction from \"./Introduction\";\n import useFileHandler from \"../hooks/useFileHandler\";\n import useGraphData from \"../hooks/useGraphData\";\n import DataTableContainer from \"./DataTableContainer\";\n-import ReactGA from \"react-ga4\";\n import { useTranslation } from 'react-i18next';\n \n const GraphDataHandler: React.FC = () => {\n const { t } = useTranslation('layout');\n@@ -64,9 +63,8 @@\n setTabIndex(1);\n }\n }, [entities]);\n \n-\n const onDrop = (acceptedFiles: File[]) => {\n handleFilesRead(acceptedFiles);\n };\n \n@@ -179,384 +177,4 @@\n );\n };\n \n export default GraphDataHandler;\n-import React, { useState, useEffect } from \"react\";\n-import GraphViewer from \"./GraphViewer\";\n-import { Box, Container, Tab, Tabs } from \"@mui/material\";\n-import { useDropzone } from \"react-dropzone\";\n-import DropZone from \"./DropZone\";\n-import Introduction from \"./Introduction\";\n-import useFileHandler from \"../hooks/useFileHandler\";\n-import useGraphData from \"../hooks/useGraphData\";\n-import DataTableContainer from \"./DataTableContainer\";\n-import ReactGA from \"react-ga4\";\n-import { useTranslation } from 'react-i18next';\n-\n-const GraphDataHandler: React.FC = () => {\n- const { t } = useTranslation('');\n- const [tabIndex, setTabIndex] = useState(0);\n- const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n- const [isFullscreen, setIsFullscreen] = useState(false);\n- const [selectedTable, setSelectedTable] = useState<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >(\"entities\");\n- const [includeDocuments, setIncludeDocuments] = useState(false);\n- const [includeTextUnits, setIncludeTextUnits] = useState(false);\n- const [includeCommunities, setIncludeCommunities] = useState(false);\n- const [includeCovariates, setIncludeCovariates] = useState(false);\n-\n- const {\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- covariates,\n- communityReports,\n- handleFilesRead,\n- } = useFileHandler();\n-\n- const graphData = useGraphData(\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n- includeDocuments,\n- includeTextUnits,\n- includeCommunities,\n- includeCovariates\n- );\n-\n- const hasDocuments = documents.length > 0;\n- const hasTextUnits = textunits.length > 0;\n- const hasCommunities = communities.length > 0;\n- const hasCovariates = covariates.length > 0;\n-\n- useEffect(() => {\n- if (entities.length > 0) {\n- setTabIndex(1);\n- }\n- }, [entities]);\n-\n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n- const onDrop = (acceptedFiles: File[]) => {\n- handleFilesRead(acceptedFiles);\n- };\n-\n- const { getRootProps, getInputProps, isDragActive } = useDropzone({\n- onDrop,\n- noClick: false,\n- noKeyboard: true,\n- accept: {\n- \"application/x-parquet\": [\".parquet\"],\n- },\n- });\n-\n- const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n- setTabIndex(newValue);\n- ReactGA.send({\n- hitType: \"event\",\n- eventCategory: \"Tabs\",\n- eventAction: \"click\",\n- eventLabel: `Tab ${newValue}`,\n- });\n- };\n-\n- const toggleGraphType = () => {\n- setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n- };\n-\n- const toggleFullscreen = () => {\n- setIsFullscreen(!isFullscreen);\n- };\n-\n- return (\n- <>\n- \n- \n- \n- \n- \n- {tabIndex === 0 && (\n- \n- \n- \n- \n- )}\n- {tabIndex === 1 && (\n- \n- \n- setIncludeDocuments(!includeDocuments)\n- }\n- onIncludeTextUnitsChange={() =>\n- setIncludeTextUnits(!includeTextUnits)\n- }\n- includeCommunities={includeCommunities}\n- onIncludeCommunitiesChange={() =>\n- setIncludeCommunities(!includeCommunities)\n- }\n- includeCovariates={includeCovariates}\n- onIncludeCovariatesChange={() =>\n- setIncludeCovariates(!includeCovariates)\n- }\n- hasDocuments={hasDocuments}\n- hasTextUnits={hasTextUnits}\n- hasCommunities={hasCommunities}\n- hasCovariates={hasCovariates}\n- />\n- \n- )}\n-\n- {tabIndex === 2 && (\n- \n- \n- \n- )}\n- \n- );\n-};\n-\n-export default GraphDataHandler;\n-import React, { useState, useEffect } from \"react\";\n-import GraphViewer from \"./GraphViewer\";\n-import { Box, Container, Tab, Tabs } from \"@mui/material\";\n-import { useDropzone } from \"react-dropzone\";\n-import DropZone from \"./DropZone\";\n-import Introduction from \"./Introduction\";\n-import useFileHandler from \"../hooks/useFileHandler\";\n-import useGraphData from \"../hooks/useGraphData\";\n-import DataTableContainer from \"./DataTableContainer\";\n-import ReactGA from \"react-ga4\";\n-import { useTranslation } from 'react-i18next';\n-\n-const GraphDataHandler: React.FC = () => {\n- const { t } = useTranslation();\n- const [tabIndex, setTabIndex] = useState(0);\n- const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n- const [isFullscreen, setIsFullscreen] = useState(false);\n- const [selectedTable, setSelectedTable] = useState<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >(\"entities\");\n- const [includeDocuments, setIncludeDocuments] = useState(false);\n- const [includeTextUnits, setIncludeTextUnits] = useState(false);\n- const [includeCommunities, setIncludeCommunities] = useState(false);\n- const [includeCovariates, setIncludeCovariates] = useState(false);\n-\n- const {\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- covariates,\n- communityReports,\n- handleFilesRead,\n- } = useFileHandler();\n-\n- const graphData = useGraphData(\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n- includeDocuments,\n- includeTextUnits,\n- includeCommunities,\n- includeCovariates\n- );\n-\n- const hasDocuments = documents.length > 0;\n- const hasTextUnits = textunits.length > 0;\n- const hasCommunities = communities.length > 0;\n- const hasCovariates = covariates.length > 0;\n-\n- useEffect(() => {\n- if (entities.length > 0) {\n- setTabIndex(1);\n- }\n- }, [entities]);\n-\n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n- const onDrop = (acceptedFiles: File[]) => {\n- handleFilesRead(acceptedFiles);\n- };\n-\n- const { getRootProps, getInputProps, isDragActive } = useDropzone({\n- onDrop,\n- noClick: false,\n- noKeyboard: true,\n- accept: {\n- \"application/x-parquet\": [\".parquet\"],\n- },\n- });\n-\n- const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n- setTabIndex(newValue);\n- ReactGA.send({\n- hitType: \"event\",\n- eventCategory: \"Tabs\",\n- eventAction: \"click\",\n- eventLabel: `Tab ${newValue}`,\n- });\n- };\n-\n- const toggleGraphType = () => {\n- setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n- };\n-\n- const toggleFullscreen = () => {\n- setIsFullscreen(!isFullscreen);\n- };\n-\n- return (\n- <>\n- \n- \n- \n- \n- \n- {tabIndex === 0 && (\n- \n- \n- \n- \n- )}\n- {tabIndex === 1 && (\n- \n- \n- setIncludeDocuments(!includeDocuments)\n- }\n- onIncludeTextUnitsChange={() =>\n- setIncludeTextUnits(!includeTextUnits)\n- }\n- includeCommunities={includeCommunities}\n- onIncludeCommunitiesChange={() =>\n- setIncludeCommunities(!includeCommunities)\n- }\n- includeCovariates={includeCovariates}\n- onIncludeCovariatesChange={() =>\n- setIncludeCovariates(!includeCovariates)\n- }\n- hasDocuments={hasDocuments}\n- hasTextUnits={hasTextUnits}\n- hasCommunities={hasCommunities}\n- hasCovariates={hasCovariates}\n- />\n- \n- )}\n-\n- {tabIndex === 2 && (\n- \n- \n- \n- )}\n- \n- );\n-};\n-\n-export default GraphDataHandler;\n" - }, - { - "date": 1727236600145, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,174 @@\n+import React, { useState, useEffect } from \"react\";\n+import GraphViewer from \"./GraphViewer\";\n+import { Box, Container, Tab, Tabs } from \"@mui/material\";\n+import { useDropzone } from \"react-dropzone\";\n+import DropZone from \"./DropZone\";\n+import Introduction from \"./Introduction\";\n+import useFileHandler from \"../hooks/useFileHandler\";\n+import useGraphData from \"../hooks/useGraphData\";\n+import DataTableContainer from \"./DataTableContainer\";\n+import { useTranslation } from 'react-i18next';\n+\n+const GraphDataHandler: React.FC = () => {\n+ const { t } = useTranslation('layout');\n+ const [tabIndex, setTabIndex] = useState(0);\n+ const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n+ const [isFullscreen, setIsFullscreen] = useState(false);\n+ const [selectedTable, setSelectedTable] = useState<\n+ | \"entities\"\n+ | \"relationships\"\n+ | \"documents\"\n+ | \"textunits\"\n+ | \"communities\"\n+ | \"communityReports\"\n+ | \"covariates\"\n+ >(\"entities\");\n+ const [includeDocuments, setIncludeDocuments] = useState(false);\n+ const [includeTextUnits, setIncludeTextUnits] = useState(false);\n+ const [includeCommunities, setIncludeCommunities] = useState(false);\n+ const [includeCovariates, setIncludeCovariates] = useState(false);\n+\n+ const {\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ covariates,\n+ communityReports,\n+ handleFilesRead,\n+ } = useFileHandler();\n+\n+ const graphData = useGraphData(\n+ entities,\n+ relationships,\n+ documents,\n+ textunits,\n+ communities,\n+ communityReports,\n+ covariates,\n+ includeDocuments,\n+ includeTextUnits,\n+ includeCommunities,\n+ includeCovariates\n+ );\n+\n+ const hasDocuments = documents.length > 0;\n+ const hasTextUnits = textunits.length > 0;\n+ const hasCommunities = communities.length > 0;\n+ const hasCovariates = covariates.length > 0;\n+\n+ useEffect(() => {\n+ if (entities.length > 0) {\n+ setTabIndex(1);\n+ }\n+ }, [entities]);\n+\n+ const onDrop = (acceptedFiles: File[]) => {\n+ handleFilesRead(acceptedFiles);\n+ };\n+\n+ const { getRootProps, getInputProps, isDragActive } = useDropzone({\n+ onDrop,\n+ noClick: false,\n+ noKeyboard: true,\n+ accept: {\n+ \"application/x-parquet\": [\".parquet\"],\n+ },\n+ });\n+\n+ const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n+ setTabIndex(newValue);\n+ };\n+\n+ const toggleGraphType = () => {\n+ setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n+ };\n+\n+ const toggleFullscreen = () => {\n+ setIsFullscreen(!isFullscreen);\n+ };\n+\n+ return (\n+ <>\n+ \n+ \n+ \n+ \n+ \n+ {tabIndex === 0 && (\n+ \n+ \n+ \n+ \n+ )}\n+ {tabIndex === 1 && (\n+ \n+ \n+ setIncludeDocuments(!includeDocuments)\n+ }\n+ onIncludeTextUnitsChange={() =>\n+ setIncludeTextUnits(!includeTextUnits)\n+ }\n+ includeCommunities={includeCommunities}\n+ onIncludeCommunitiesChange={() =>\n+ setIncludeCommunities(!includeCommunities)\n+ }\n+ includeCovariates={includeCovariates}\n+ onIncludeCovariatesChange={() =>\n+ setIncludeCovariates(!includeCovariates)\n+ }\n+ hasDocuments={hasDocuments}\n+ hasTextUnits={hasTextUnits}\n+ hasCommunities={hasCommunities}\n+ hasCovariates={hasCovariates}\n+ />\n+ \n+ )}\n+\n+ {tabIndex === 2 && (\n+ \n+ \n+ \n+ )}\n+ \n+ );\n+};\n+\n+export default GraphDataHandler;\n" - }, - { - "date": 1727239718106, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -93,9 +93,9 @@\n <>\n \n \n \n- \n+ \n \n {tabIndex === 0 && (\n {\n- const { t } = useTranslation('layout');\n- const [tabIndex, setTabIndex] = useState(0);\n- const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n- const [isFullscreen, setIsFullscreen] = useState(false);\n- const [selectedTable, setSelectedTable] = useState<\n- | \"entities\"\n- | \"relationships\"\n- | \"documents\"\n- | \"textunits\"\n- | \"communities\"\n- | \"communityReports\"\n- | \"covariates\"\n- >(\"entities\");\n- const [includeDocuments, setIncludeDocuments] = useState(false);\n- const [includeTextUnits, setIncludeTextUnits] = useState(false);\n- const [includeCommunities, setIncludeCommunities] = useState(false);\n- const [includeCovariates, setIncludeCovariates] = useState(false);\n-\n- const {\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- covariates,\n- communityReports,\n- handleFilesRead,\n- } = useFileHandler();\n-\n- const graphData = useGraphData(\n- entities,\n- relationships,\n- documents,\n- textunits,\n- communities,\n- communityReports,\n- covariates,\n- includeDocuments,\n- includeTextUnits,\n- includeCommunities,\n- includeCovariates\n- );\n-\n- const hasDocuments = documents.length > 0;\n- const hasTextUnits = textunits.length > 0;\n- const hasCommunities = communities.length > 0;\n- const hasCovariates = covariates.length > 0;\n-\n- useEffect(() => {\n- if (entities.length > 0) {\n- setTabIndex(1);\n- }\n- }, [entities]);\n-\n- const onDrop = (acceptedFiles: File[]) => {\n- handleFilesRead(acceptedFiles);\n- };\n-\n- const { getRootProps, getInputProps, isDragActive } = useDropzone({\n- onDrop,\n- noClick: false,\n- noKeyboard: true,\n- accept: {\n- \"application/x-parquet\": [\".parquet\"],\n- },\n- });\n-\n- const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n- setTabIndex(newValue);\n- ReactGA.send({\n- hitType: \"event\",\n- eventCategory: \"Tabs\",\n- eventAction: \"click\",\n- eventLabel: `Tab ${newValue}`,\n- });\n- };\n-\n- const toggleGraphType = () => {\n- setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n- };\n-\n- const toggleFullscreen = () => {\n- setIsFullscreen(!isFullscreen);\n- };\n-\n- return (\n- <>\n- \n- \n- \n- \n- \n- {tabIndex === 0 && (\n- \n- \n- \n- \n- )}\n- {tabIndex === 1 && (\n- \n- \n- setIncludeDocuments(!includeDocuments)\n- }\n- onIncludeTextUnitsChange={() =>\n- setIncludeTextUnits(!includeTextUnits)\n- }\n- includeCommunities={includeCommunities}\n- onIncludeCommunitiesChange={() =>\n- setIncludeCommunities(!includeCommunities)\n- }\n- includeCovariates={includeCovariates}\n- onIncludeCovariatesChange={() =>\n- setIncludeCovariates(!includeCovariates)\n- }\n- hasDocuments={hasDocuments}\n- hasTextUnits={hasTextUnits}\n- hasCommunities={hasCommunities}\n- hasCovariates={hasCovariates}\n- />\n- \n- )}\n-\n- {tabIndex === 2 && (\n- \n- \n- \n- )}\n- \n- );\n-};\n-\n-export default GraphDataHandler;\n" - } - ], - "date": 1727235160816, - "name": "Commit-0", - "content": "import React, { useState, useEffect } from \"react\";\nimport GraphViewer from \"./GraphViewer\";\nimport { Box, Container, Tab, Tabs } from \"@mui/material\";\nimport { useDropzone } from \"react-dropzone\";\nimport DropZone from \"./DropZone\";\nimport Introduction from \"./Introduction\";\nimport useFileHandler from \"../hooks/useFileHandler\";\nimport useGraphData from \"../hooks/useGraphData\";\nimport DataTableContainer from \"./DataTableContainer\";\nimport ReactGA from \"react-ga4\";\nimport { useTranslation } from 'react-i18next';\n\nconst GraphDataHandler: React.FC = () => {\n const [tabIndex, setTabIndex] = useState(0);\n const [graphType, setGraphType] = useState<\"2d\" | \"3d\">(\"2d\");\n const [isFullscreen, setIsFullscreen] = useState(false);\n const [selectedTable, setSelectedTable] = useState<\n | \"entities\"\n | \"relationships\"\n | \"documents\"\n | \"textunits\"\n | \"communities\"\n | \"communityReports\"\n | \"covariates\"\n >(\"entities\");\n const [includeDocuments, setIncludeDocuments] = useState(false);\n const [includeTextUnits, setIncludeTextUnits] = useState(false);\n const [includeCommunities, setIncludeCommunities] = useState(false);\n const [includeCovariates, setIncludeCovariates] = useState(false);\n\n const {\n entities,\n relationships,\n documents,\n textunits,\n communities,\n covariates,\n communityReports,\n handleFilesRead,\n } = useFileHandler();\n\n const graphData = useGraphData(\n entities,\n relationships,\n documents,\n textunits,\n communities,\n communityReports,\n covariates,\n includeDocuments,\n includeTextUnits,\n includeCommunities,\n includeCovariates\n );\n\n const hasDocuments = documents.length > 0;\n const hasTextUnits = textunits.length > 0;\n const hasCommunities = communities.length > 0;\n const hasCovariates = covariates.length > 0;\n\n useEffect(() => {\n if (entities.length > 0) {\n setTabIndex(1);\n }\n }, [entities]);\n\n useEffect(() => {\n const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n if (measurementId) {\n ReactGA.initialize(measurementId);\n } else {\n console.error(\"Google Analytics measurement ID not found\");\n }\n }, []);\n\n const onDrop = (acceptedFiles: File[]) => {\n handleFilesRead(acceptedFiles);\n };\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n noClick: false,\n noKeyboard: true,\n accept: {\n \"application/x-parquet\": [\".parquet\"],\n },\n });\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabIndex(newValue);\n ReactGA.send({\n hitType: \"event\",\n eventCategory: \"Tabs\",\n eventAction: \"click\",\n eventLabel: `Tab ${newValue}`,\n });\n };\n\n const toggleGraphType = () => {\n setGraphType((prevType) => (prevType === \"2d\" ? \"3d\" : \"2d\"));\n };\n\n const toggleFullscreen = () => {\n setIsFullscreen(!isFullscreen);\n };\n\n return (\n <>\n \n \n \n \n \n {tabIndex === 0 && (\n \n \n \n \n )}\n {tabIndex === 1 && (\n \n \n setIncludeDocuments(!includeDocuments)\n }\n onIncludeTextUnitsChange={() =>\n setIncludeTextUnits(!includeTextUnits)\n }\n includeCommunities={includeCommunities}\n onIncludeCommunitiesChange={() =>\n setIncludeCommunities(!includeCommunities)\n }\n includeCovariates={includeCovariates}\n onIncludeCovariatesChange={() =>\n setIncludeCovariates(!includeCovariates)\n }\n hasDocuments={hasDocuments}\n hasTextUnits={hasTextUnits}\n hasCommunities={hasCommunities}\n hasCovariates={hasCovariates}\n />\n \n )}\n\n {tabIndex === 2 && (\n \n \n \n )}\n \n );\n};\n\nexport default GraphDataHandler;\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/components/GraphViewer.tsx.json b/.lh/src/app/components/GraphViewer.tsx.json deleted file mode 100644 index 921a936..0000000 --- a/.lh/src/app/components/GraphViewer.tsx.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "sourceFile": "src/app/components/GraphViewer.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 38, - "patches": [ - { - "date": 1727241223449, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727241263549, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -563,9 +563,8 @@\n onClick={toggleDrawer(true)}\n startIcon={}\n >\n {t('graphViewer.searchNodesLinks')}\n-\n \n {/* setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label= label={t('graphViewer.view3D')}\n+\n />\n setShowLabels(!showLabels)}\n />\n }\n- label= label={t('graphViewer.view3D')}\n-\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label={t('graphViewer.view3D')}\n+ label={t('graphViewer.view3D')}\n />\n \n }\n label=\"Show Highlight\"\n /> */}\n- \n+ \n+\n \n {isFullscreen ? : }\n \n \n" - }, - { - "date": 1727241343769, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -571,9 +571,10 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n+\n /> */}\n {/* */}\n \n-\n \n {isFullscreen ? : }\n \n \n" - }, - { - "date": 1727241374031, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,549 +1,15 @@\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n+import { useTranslation } from 'react-i18next';\n \n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n+const GraphViewer: React.FC = ({ ... }) => {\n+ const { t } = useTranslation();\n \n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n+ // 组件代码...\n \n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n- {/* \n- }\n- label={t('graphViewer.view3D')}\n \n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n \n \n {isFullscreen ? : }\n \n@@ -623,36 +53,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n@@ -663,29 +93,28 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label=\"Include Communities\"\n+ label={t('graphViewer.includeCommunities')}\n />\n \n \n }\n- label=\"Include Covariates\"\n+ label={t('graphViewer.includeCovariates')}\n />\n \n \n \n- \n+ {/* 其他代码... */}\n \n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n+ \n+ {t('graphViewer.nodes')}: {nodeCount}\n+ \n+ \n+ {t('graphViewer.relationships')}: {linkCount}\n+ \n }\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n };\n-\n-export default GraphViewer;\n" - }, - { - "date": 1727241383845, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,905 @@\n+import React, { useState, useCallback, useRef, useEffect } from \"react\";\n+import ForceGraph2D from \"react-force-graph-2d\";\n+import ForceGraph3D from \"react-force-graph-3d\";\n+import {\n+ CustomGraphData,\n+ CustomLink,\n+ CustomNode,\n+} from \"../models/custom-graph-data\";\n+import {\n+ Box,\n+ Button,\n+ Checkbox,\n+ FormControlLabel,\n+ FormGroup,\n+ IconButton,\n+ Switch,\n+ Tooltip,\n+ Typography,\n+ useTheme,\n+} from \"@mui/material\";\n+import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n+import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n+import SearchIcon from \"@mui/icons-material/Search\";\n+import DeleteIcon from \"@mui/icons-material/Delete\";\n+import Fuse from \"fuse.js\";\n+import {\n+ CSS2DRenderer,\n+ CSS2DObject,\n+} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n+import * as THREE from \"three\";\n+import { Renderer } from \"three\";\n+import SearchDrawer from \"./SearchDrawer\";\n+import DetailDrawer from \"./DetailDrawer\";\n+import { SearchResult } from \"../models/search-result\";\n+import agent from \"../api/agent\";\n+import APISearchDrawer from \"./APISearchDrawer\";\n+import SpriteText from \"three-spritetext\";\n+\n+type Coords = {\n+ x: number;\n+ y: number;\n+ z: number;\n+};\n+\n+interface GraphViewerProps {\n+ data: CustomGraphData;\n+ graphType: \"2d\" | \"3d\";\n+ isFullscreen: boolean;\n+ onToggleFullscreen: () => void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ \n+ }\n+ >\n+ {t('graphViewer.searchNodesLinks')}\n+ \n+ {/* \n+ }\n+ label={t('graphViewer.view3D')}\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n+ \n+ {isFullscreen ? : }\n+ \n+ \n+ \n+\n+ \n+ \n+ }\n+ label=\"3D View\"\n+ />\n+ setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Link Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ />\n+ \n+\n+ \n+ onIncludeDocumentsChange(!includeDocuments)}\n+ disabled={!hasDocuments || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Documents\"\n+ />\n+ onIncludeTextUnitsChange(!includeTextUnits)}\n+ onChange={() => {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ } else if (includeTextUnits && !includeCovariates) {\n+ onIncludeTextUnitsChange(false);\n+ } else {\n+ onIncludeTextUnitsChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ }\n+ }}\n+ disabled={!hasTextUnits || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Text Units\"\n+ />\n+ onIncludeCommunitiesChange(!includeCommunities)}\n+ disabled={!hasCommunities || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Communities\"\n+ />\n+\n+ {\n+ if (!includeCovariates) {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ }\n+ onIncludeCovariatesChange(true);\n+ } else {\n+ onIncludeCovariatesChange(false);\n+ }\n+ }}\n+ disabled={!hasCovariates || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Covariates\"\n+ />\n+ \n+ \n+\n+ \n+\n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n+ \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n+ }\n+ >\n+ Ask Query (Local/Global Search)\n+ \n+ }\n+ color=\"warning\"\n+ disabled={apiSearchResults === null}\n+ >\n+ Clear Query Results\n+ \n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n" - }, - { - "date": 1727241469668, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,8 +34,9 @@\n import { SearchResult } from \"../models/search-result\";\n import agent from \"../api/agent\";\n import APISearchDrawer from \"./APISearchDrawer\";\n import SpriteText from \"three-spritetext\";\n+import { useTranslation } from 'react-i18next';\n \n type Coords = {\n x: number;\n y: number;\n@@ -902,194 +903,4 @@\n );\n };\n \n export default GraphViewer;\n-import { useTranslation } from 'react-i18next';\n-\n-const GraphViewer: React.FC = ({ ... }) => {\n- const { t } = useTranslation();\n-\n- // 组件代码...\n-\n- return (\n- \n- \n- \n- }\n- >\n- {t('graphViewer.searchNodesLinks')}\n- \n-\n- \n- \n- {isFullscreen ? : }\n- \n- \n- \n-\n- \n- \n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.showNodeLabels')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label={t('graphViewer.showLinkLabels')}\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label={t('graphViewer.showHighlight')}\n- />\n- \n-\n- \n- onIncludeDocumentsChange(!includeDocuments)}\n- disabled={!hasDocuments || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeDocuments')}\n- />\n- {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- } else if (includeTextUnits && !includeCovariates) {\n- onIncludeTextUnitsChange(false);\n- } else {\n- onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasTextUnits || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeTextUnits')}\n- />\n- onIncludeCommunitiesChange(!includeCommunities)}\n- disabled={!hasCommunities || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeCommunities')}\n- />\n-\n- {\n- if (!includeCovariates) {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- }\n- onIncludeCovariatesChange(true);\n- } else {\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasCovariates || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeCovariates')}\n- />\n- \n- \n-\n- {/* 其他代码... */}\n-\n- \n- \n- {t('graphViewer.nodes')}: {nodeCount}\n- \n- \n- {t('graphViewer.relationships')}: {linkCount}\n- \n- }\n- >\n- {t('graphViewer.askQuery')}\n- \n- }\n- color=\"warning\"\n- disabled={apiSearchResults === null}\n- >\n- {t('graphViewer.clearQueryResults')}\n- \n- \n- \n- );\n-};\n" - }, - { - "date": 1727241483258, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,8 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n+ const { t } = useTranslation();\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" - }, - { - "date": 1727241496741, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" - }, - { - "date": 1727241526546, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -534,18 +534,9 @@\n \n return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n- {/* \n- }\n- label={t('graphViewer.view3D')}\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n+\n \n \n {isFullscreen ? : }\n \n@@ -624,36 +580,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n@@ -664,29 +620,28 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label=\"Include Communities\"\n+ label={t('graphViewer.includeCommunities')}\n />\n \n \n }\n- label=\"Include Covariates\"\n+ label={t('graphViewer.includeCovariates')}\n />\n \n \n \n- \n+ {/* 其他代码... */}\n \n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n+ \n+ {t('graphViewer.nodes')}: {nodeCount}\n+ \n+ \n+ {t('graphViewer.relationships')}: {linkCount}\n+ \n }\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n };\n-\n-export default GraphViewer;\n" - }, - { - "date": 1727241540576, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -534,9 +534,18 @@\n \n return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n-\n+ {/* \n+ }\n+ label={t('graphViewer.view3D')}\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n \n \n {isFullscreen ? : }\n \n@@ -580,36 +624,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label={t('graphViewer.view3D')}\n+ label=\"3D View\"\n />\n setShowLabels(!showLabels)}\n />\n }\n- label={t('graphViewer.showNodeLabels')}\n+ label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label={t('graphViewer.showLinkLabels')}\n+ label=\"Show Link Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label={t('graphViewer.showHighlight')}\n+ label=\"Show Highlight\"\n />\n \n \n \n@@ -620,28 +664,29 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeDocuments')}\n+ label=\"Include Documents\"\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeTextUnits')}\n+ label=\"Include Text Units\"\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeCommunities')}\n+ label=\"Include Communities\"\n />\n \n \n }\n- label={t('graphViewer.includeCovariates')}\n+ label=\"Include Covariates\"\n />\n \n \n \n- {/* 其他代码... */}\n+ \n \n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n \n- \n- {t('graphViewer.nodes')}: {nodeCount}\n- \n- \n- {t('graphViewer.relationships')}: {linkCount}\n- \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n }\n >\n- {t('graphViewer.askQuery')}\n+ Ask Query (Local/Global Search)\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- {t('graphViewer.clearQueryResults')}\n+ Clear Query Results\n \n \n \n );\n };\n+\n+export default GraphViewer;\n" - }, - { - "date": 1727241564940, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('graphViewer');\n+ const { t } = useTranslation('');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" - }, - { - "date": 1727241570670, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('');\n+ const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n@@ -531,21 +531,12 @@\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n \n- return (\n+ return (\n \n }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ {t('graphViewer.searchNodesLinks')}\n \n- {/* \n- }\n- label={t('graphViewer.view3D')}\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n+\n \n \n {isFullscreen ? : }\n \n@@ -624,36 +580,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n@@ -664,29 +620,28 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label=\"Include Communities\"\n+ label={t('graphViewer.includeCommunities')}\n />\n \n \n }\n- label=\"Include Covariates\"\n+ label={t('graphViewer.includeCovariates')}\n />\n \n \n \n- \n+ {/* 其他代码... */}\n \n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n+ \n+ {t('graphViewer.nodes')}: {nodeCount}\n+ \n+ \n+ {t('graphViewer.relationships')}: {linkCount}\n+ \n }\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n };\n-\n export default GraphViewer;\n" - }, - { - "date": 1727242778910, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -531,15 +531,27 @@\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n \n- return (\n- \n \n+ {/* Close Button at the top-right corner */}\n+ \n+ \n+ \n+\n+ \n \n );\n };\n+\n export default GraphViewer;\n" - }, - { - "date": 1727242786099, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -531,9 +531,9 @@\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n \n- return (\n+ return (\n \n+ \n \n- {/* Close Button at the top-right corner */}\n- \n- \n- \n-\n- void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const { t } = useTranslation('graphViewer');\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ {/* Close Button at the top-right corner */}\n+ \n+ \n+ \n+\n+ {/* First Row: TextField */}\n+ \n+ setQuery(e.target.value)}\n+ // onKeyDown={async (e) => {\n+ // if (e.key === \"Enter\" && !loadingLocal) {\n+ // await handleSearch(\"local\"); // Default to global search on enter\n+ // }\n+ // }}\n+ placeholder=\"Enter search query for API\"\n+ fullWidth\n+ margin=\"normal\"\n+ />\n+\n+ {/* Second Row: Buttons */}\n+ \n+ handleSearch(\"local\")}\n+ disabled={\n+ !serverUp ||\n+ !localSearchEnabled ||\n+ loadingLocal ||\n+ loadingGlobal\n+ }\n+ >\n+ {loadingLocal ? : \"Local Search\"}\n+ \n+ handleSearch(\"global\")}\n+ disabled={\n+ !serverUp ||\n+ !globalSearchEnabled ||\n+ loadingLocal ||\n+ loadingGlobal\n+ }\n+ >\n+ {loadingGlobal ? : \"Global Search\"}\n+ \n+ \n+\n+ {!serverUp && (\n+ \n+ Server is not running. Please start the server to use the API.\n+ Follow the instructions at{\" \"}\n+ \n+ graphrag-api\n+ \n+ .\n+ \n+ )}\n+ {!localSearchEnabled && (\n+ \n+ Please enable \"Include Text Unit\" and \"Include Communities\"\n+ {hasCovariates && ', and \"Include Covariates\"'} to use Local\n+ Search.\n+ \n+ )}\n+ {!globalSearchEnabled && (\n+ \n+ Please enable \"Include Communities\" to use Global Search.\n+ \n+ )}\n+ \n+\n+ {apiSearchResults && (\n+ <>\n+ {/* Search Results Card */}\n+ \n+ \n+ \n+ \n+ {apiSearchResults.response}\n+ \n+ \n+ \n+\n+ {/* Metadata Card */}\n+ \n+ \n+ \n+ \n+ Completion Time:{\" \"}\n+ {apiSearchResults.completion_time} ms\n+ \n+ \n+ LLM Calls: {apiSearchResults.llm_calls}\n+ \n+ \n+ Prompt Tokens:{\" \"}\n+ {apiSearchResults.prompt_tokens}\n+ \n+ \n+ \n+\n+ {/* Context Data Tables */}\n+ {apiSearchResults &&\n+ apiSearchResults.context_data &&\n+ Object.entries(apiSearchResults.context_data).map(\n+ ([key, data], index) => (\n+ \n+ toggleTable(key)}>\n+ {expandedTables[key] ? (\n+ \n+ ) : (\n+ \n+ )}\n+ \n+ }\n+ />\n+ \n+ \n+ {Array.isArray(data) && data.length > 0 ? (\n+ \n+ \n+ \n+ \n+ {Object.keys(data[0]).map(\n+ (columnName, idx) => (\n+ \n+ {columnName.charAt(0).toUpperCase() +\n+ columnName.slice(1)}\n+ \n+ )\n+ )}\n+ \n+ \n+ \n+ {data.map((row, rowIndex) => (\n+ \n+ {Object.values(row).map(\n+ (value, cellIndex) => (\n+ \n+ {typeof value === \"string\"\n+ ? value\n+ : JSON.stringify(value, null, 2)}\n+ \n+ )\n+ )}\n+ \n+ ))}\n+ \n+
\n+
\n+ ) : (\n+ \n+ No data available\n+ \n+ )}\n+
\n+ \n+
\n+ )\n+ )}\n+ \n+ )}\n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n" - }, - { - "date": 1727242915988, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,9 +34,8 @@\n import { SearchResult } from \"../models/search-result\";\n import agent from \"../api/agent\";\n import APISearchDrawer from \"./APISearchDrawer\";\n import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n \n type Coords = {\n x: number;\n y: number;\n@@ -83,9 +82,8 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n@@ -532,739 +530,23 @@\n setApiSearchResults(null);\n };\n \n return (\n- \n \n- {/* Close Button at the top-right corner */}\n- \n- \n- \n-\n- {/* First Row: TextField */}\n- \n- setQuery(e.target.value)}\n- // onKeyDown={async (e) => {\n- // if (e.key === \"Enter\" && !loadingLocal) {\n- // await handleSearch(\"local\"); // Default to global search on enter\n- // }\n- // }}\n- placeholder=\"Enter search query for API\"\n- fullWidth\n- margin=\"normal\"\n- />\n-\n- {/* Second Row: Buttons */}\n- \n- handleSearch(\"local\")}\n- disabled={\n- !serverUp ||\n- !localSearchEnabled ||\n- loadingLocal ||\n- loadingGlobal\n- }\n- >\n- {loadingLocal ? : \"Local Search\"}\n- \n- handleSearch(\"global\")}\n- disabled={\n- !serverUp ||\n- !globalSearchEnabled ||\n- loadingLocal ||\n- loadingGlobal\n- }\n- >\n- {loadingGlobal ? : \"Global Search\"}\n- \n- \n-\n- {!serverUp && (\n- \n- Server is not running. Please start the server to use the API.\n- Follow the instructions at{\" \"}\n- \n- graphrag-api\n- \n- .\n- \n- )}\n- {!localSearchEnabled && (\n- \n- Please enable \"Include Text Unit\" and \"Include Communities\"\n- {hasCovariates && ', and \"Include Covariates\"'} to use Local\n- Search.\n- \n- )}\n- {!globalSearchEnabled && (\n- \n- Please enable \"Include Communities\" to use Global Search.\n- \n- )}\n- \n-\n- {apiSearchResults && (\n- <>\n- {/* Search Results Card */}\n- \n- \n- \n- \n- {apiSearchResults.response}\n- \n- \n- \n-\n- {/* Metadata Card */}\n- \n- \n- \n- \n- Completion Time:{\" \"}\n- {apiSearchResults.completion_time} ms\n- \n- \n- LLM Calls: {apiSearchResults.llm_calls}\n- \n- \n- Prompt Tokens:{\" \"}\n- {apiSearchResults.prompt_tokens}\n- \n- \n- \n-\n- {/* Context Data Tables */}\n- {apiSearchResults &&\n- apiSearchResults.context_data &&\n- Object.entries(apiSearchResults.context_data).map(\n- ([key, data], index) => (\n- \n- toggleTable(key)}>\n- {expandedTables[key] ? (\n- \n- ) : (\n- \n- )}\n- \n- }\n- />\n- \n- \n- {Array.isArray(data) && data.length > 0 ? (\n- \n- \n- \n- \n- {Object.keys(data[0]).map(\n- (columnName, idx) => (\n- \n- {columnName.charAt(0).toUpperCase() +\n- columnName.slice(1)}\n- \n- )\n- )}\n- \n- \n- \n- {data.map((row, rowIndex) => (\n- \n- {Object.values(row).map(\n- (value, cellIndex) => (\n- \n- {typeof value === \"string\"\n- ? value\n- : JSON.stringify(value, null, 2)}\n- \n- )\n- )}\n- \n- ))}\n- \n-
\n-
\n- ) : (\n- \n- No data available\n- \n- )}\n-
\n- \n-
\n- )\n- )}\n- \n- )}\n- \n- \n- );\n-};\n-\n-export default GraphViewer;\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n-\n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n-\n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n-\n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const { t } = useTranslation('graphViewer');\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n- \n- }\n >\n- {t('graphViewer.searchNodesLinks')}\n+ Search Nodes/Links\n \n-\n- \n+ {/* \n+ }\n+ label=\"3D View\"\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n \n {isFullscreen ? : }\n \n \n@@ -1305,36 +622,36 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label={t('graphViewer.view3D')}\n+ label=\"3D View\"\n />\n setShowLabels(!showLabels)}\n />\n }\n- label={t('graphViewer.showNodeLabels')}\n+ label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label={t('graphViewer.showLinkLabels')}\n+ label=\"Show Link Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label={t('graphViewer.showHighlight')}\n+ label=\"Show Highlight\"\n />\n \n \n \n@@ -1345,28 +662,29 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeDocuments')}\n+ label=\"Include Documents\"\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeTextUnits')}\n+ label=\"Include Text Units\"\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n- label={t('graphViewer.includeCommunities')}\n+ label=\"Include Communities\"\n />\n \n \n }\n- label={t('graphViewer.includeCovariates')}\n+ label=\"Include Covariates\"\n />\n \n \n \n- {/* 其他代码... */}\n+ \n \n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n \n- \n- {t('graphViewer.nodes')}: {nodeCount}\n- \n- \n- {t('graphViewer.relationships')}: {linkCount}\n- \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n }\n >\n- {t('graphViewer.askQuery')}\n+ Ask Query (Local/Global Search)\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- {t('graphViewer.clearQueryResults')}\n+ Clear Query Results\n \n \n \n );\n };\n \n-export default GraphViewer;\n+export default GraphViewer;\n\\ No newline at end of file\n" - }, - { - "date": 1727242986268, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -714,8 +714,9 @@\n />\n }\n label=\"Include Covariates\"\n />\n+ \n \n \n \n }\n >\n- Search Nodes/Links\n+ {t('graphViewer.searchNodesLinks')}\n \n {/* \n }\n label=\"Include Covariates\"\n />\n- \n \n \n \n {\n+ const { t } = useTranslation();\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" - }, - { - "date": 1727243352524, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" - }, - { - "date": 1727243369855, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('');\n+ const { t } = useTranslation('gra');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" - }, - { - "date": 1727243379397, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -83,9 +83,9 @@\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n }) => {\n- const { t } = useTranslation('gra');\n+ const { t } = useTranslation('graphViewer');\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n" - }, - { - "date": 1727243423870, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -602,10 +602,10 @@\n />\n }\n label=\"Show Highlight\"\n /> */}\n- \n- \n+ \n+ \n {isFullscreen ? : }\n \n \n \n" - }, - { - "date": 1727243467606, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -603,9 +603,9 @@\n }\n label=\"Show Highlight\"\n /> */}\n \n- \n+ \n {isFullscreen ? : }\n \n \n \n@@ -624,9 +624,9 @@\n checked={graphType === \"3d\"}\n onChange={onToggleGraphType}\n />\n }\n- label=\"3D View\"\n+ label={t('graphViewer.view3D')}\n />\n setShowLabels(!showLabels)}\n />\n }\n- label=\"Show Node Labels\"\n+ label={t('graphViewer.showNodeLabels')}\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n- label=\"Show Link Labels\"\n+ label={t('graphViewer.showLinkLabels')}\n />\n setShowHighlight(!showHighlight)}\n />\n }\n- label=\"Show Highlight\"\n+ label={t('graphViewer.showHighlight')}\n />\n \n \n \n" - }, - { - "date": 1727243525279, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -664,9 +664,9 @@\n onChange={() => onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n- label=\"Include Documents\"\n+ label={t('graphViewer.includeDocuments')}\n />\n \n }\n- label=\"Include Text Units\"\n+ label={t('graphViewer.includeTextUnits')}\n />\n void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const { t } = useTranslation('graphViewer');\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ \n+ }\n+ >\n+ {t('graphViewer.searchNodesLinks')}\n+ \n+ {/* \n+ }\n+ label=\"3D View\"\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n+ \n+ {isFullscreen ? : }\n+ \n+ \n+ \n+\n+ \n+ \n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showNodeLabels')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showLinkLabels')}\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label={t('graphViewer.showHighlight')}\n+ />\n+ \n+\n+ \n+ onIncludeDocumentsChange(!includeDocuments)}\n+ disabled={!hasDocuments || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeDocuments')}\n+ />\n+ onIncludeTextUnitsChange(!includeTextUnits)}\n+ onChange={() => {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ } else if (includeTextUnits && !includeCovariates) {\n+ onIncludeTextUnitsChange(false);\n+ } else {\n+ onIncludeTextUnitsChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ }\n+ }}\n+ disabled={!hasTextUnits || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeTextUnits')}\n+ />\n+ onIncludeCommunitiesChange(!includeCommunities)}\n+ disabled={!hasCommunities || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeCommunities')}\n+ />\n+\n+ {\n+ if (!includeCovariates) {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ }\n+ onIncludeCovariatesChange(true);\n+ } else {\n+ onIncludeCovariatesChange(false);\n+ }\n+ }}\n+ disabled={!hasCovariates || apiSearchResults !== null}\n+ />\n+ }\n+ label=\"Include Covariates\"\n+ />\n+ \n+ \n+\n+ \n+\n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n+ \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n+ }\n+ >\n+ Ask Query (Local/Global Search)\n+ \n+ }\n+ color=\"warning\"\n+ disabled={apiSearchResults === null}\n+ >\n+ Clear Query Results\n+ \n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n\\ No newline at end of file\n" - }, - { - "date": 1727243567203, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,907 @@\n+import React, { useState, useCallback, useRef, useEffect } from \"react\";\n+import ForceGraph2D from \"react-force-graph-2d\";\n+import ForceGraph3D from \"react-force-graph-3d\";\n+import {\n+ CustomGraphData,\n+ CustomLink,\n+ CustomNode,\n+} from \"../models/custom-graph-data\";\n+import {\n+ Box,\n+ Button,\n+ Checkbox,\n+ FormControlLabel,\n+ FormGroup,\n+ IconButton,\n+ Switch,\n+ Tooltip,\n+ Typography,\n+ useTheme,\n+} from \"@mui/material\";\n+import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n+import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n+import SearchIcon from \"@mui/icons-material/Search\";\n+import DeleteIcon from \"@mui/icons-material/Delete\";\n+import Fuse from \"fuse.js\";\n+import {\n+ CSS2DRenderer,\n+ CSS2DObject,\n+} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n+import * as THREE from \"three\";\n+import { Renderer } from \"three\";\n+import SearchDrawer from \"./SearchDrawer\";\n+import DetailDrawer from \"./DetailDrawer\";\n+import { SearchResult } from \"../models/search-result\";\n+import agent from \"../api/agent\";\n+import APISearchDrawer from \"./APISearchDrawer\";\n+import SpriteText from \"three-spritetext\";\n+import { useTranslation } from 'react-i18next';\n+\n+type Coords = {\n+ x: number;\n+ y: number;\n+ z: number;\n+};\n+\n+interface GraphViewerProps {\n+ data: CustomGraphData;\n+ graphType: \"2d\" | \"3d\";\n+ isFullscreen: boolean;\n+ onToggleFullscreen: () => void;\n+ onToggleGraphType: (event: React.ChangeEvent) => void;\n+ includeDocuments: boolean;\n+ onIncludeDocumentsChange: React.Dispatch>;\n+ includeTextUnits: boolean;\n+ onIncludeTextUnitsChange: React.Dispatch>;\n+ includeCommunities: boolean;\n+ onIncludeCommunitiesChange: React.Dispatch>;\n+ includeCovariates: boolean;\n+ onIncludeCovariatesChange: React.Dispatch>;\n+ hasDocuments: boolean;\n+ hasTextUnits: boolean;\n+ hasCommunities: boolean;\n+ hasCovariates: boolean;\n+}\n+\n+const NODE_R = 8;\n+\n+const GraphViewer: React.FC = ({\n+ data,\n+ graphType,\n+ isFullscreen,\n+ includeDocuments,\n+ onIncludeDocumentsChange,\n+ includeTextUnits,\n+ onIncludeTextUnitsChange,\n+ includeCommunities,\n+ onIncludeCommunitiesChange,\n+ includeCovariates,\n+ onIncludeCovariatesChange,\n+ onToggleFullscreen,\n+ onToggleGraphType,\n+ hasDocuments,\n+ hasTextUnits,\n+ hasCommunities,\n+ hasCovariates,\n+}) => {\n+ const { t } = useTranslation('graphViewer');\n+ const theme = useTheme();\n+ const [highlightNodes, setHighlightNodes] = useState>(\n+ new Set()\n+ );\n+ const [highlightLinks, setHighlightLinks] = useState>(\n+ new Set()\n+ );\n+ const [hoverNode, setHoverNode] = useState(null);\n+ const [searchTerm, setSearchTerm] = useState(\"\");\n+ const [searchResults, setSearchResults] = useState<\n+ (CustomNode | CustomLink)[]\n+ >([]);\n+ const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n+ const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n+ const [selectedNode, setSelectedNode] = useState(null);\n+ const [selectedRelationship, setSelectedRelationship] =\n+ useState(null);\n+ const [linkedNodes, setLinkedNodes] = useState([]);\n+ const [linkedRelationships, setLinkedRelationships] = useState(\n+ []\n+ );\n+ const [showLabels, setShowLabels] = useState(false);\n+ const [showLinkLabels, setShowLinkLabels] = useState(false);\n+ const [showHighlight, setShowHighlight] = useState(true);\n+ const graphRef = useRef();\n+ const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n+ const nodeCount = data.nodes.length;\n+ const linkCount = data.links.length;\n+\n+ const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n+ const [apiSearchResults, setApiSearchResults] = useState(\n+ null\n+ );\n+ const [serverUp, setServerUp] = useState(false);\n+\n+ const [graphData, setGraphData] = useState(data);\n+\n+ const initialGraphData = useRef(data);\n+\n+ useEffect(() => {\n+ setGraphData(data);\n+ initialGraphData.current = data;\n+ }, [data]);\n+\n+ useEffect(() => {\n+ checkServerStatus();\n+ }, []);\n+\n+ const toggleApiDrawer = (open: boolean) => () => {\n+ setApiDrawerOpen(open);\n+ };\n+\n+ const handleApiSearch = async (\n+ query: string,\n+ searchType: \"local\" | \"global\"\n+ ) => {\n+ try {\n+ const data: SearchResult =\n+ searchType === \"local\"\n+ ? await agent.Search.local(query)\n+ : await agent.Search.global(query);\n+\n+ setApiSearchResults(data);\n+ // Process the search result to update the graph data\n+ updateGraphData(data.context_data);\n+ } catch (err) {\n+ console.error(\"An error occurred during the API search.\", err);\n+ } finally {\n+ }\n+ };\n+\n+ const checkServerStatus = async () => {\n+ try {\n+ const response = await agent.Status.check();\n+ if (response.status === \"Server is up and running\") {\n+ setServerUp(true);\n+ } else {\n+ setServerUp(false);\n+ }\n+ } catch (error) {\n+ setServerUp(false);\n+ }\n+ };\n+\n+ const updateGraphData = (contextData: any) => {\n+ if (!contextData) return;\n+\n+ const newNodes: CustomNode[] = [];\n+ const newLinks: CustomLink[] = [];\n+\n+ const baseGraphData = initialGraphData.current;\n+\n+ // Assuming contextData has keys like entities, reports, relationships, sources\n+ Object.entries(contextData).forEach(([key, items]) => {\n+ if (Array.isArray(items)) {\n+ items.forEach((item) => {\n+ if (key === \"relationships\") {\n+ // Handle links\n+ const existingLink = baseGraphData.links.find(\n+ (link) =>\n+ link.human_readable_id?.toString() === item.id.toString()\n+ );\n+\n+ if (existingLink) {\n+ newLinks.push(existingLink);\n+ }\n+ } else if (key === \"entities\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ !node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"reports\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.uuid === item.id.toString()\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"sources\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) => node.text?.toString() === item.text\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ } else if (key === \"covariates\" || key === \"claims\") {\n+ const existingNode = baseGraphData.nodes.find(\n+ (node) =>\n+ node.human_readable_id?.toString() === item.id.toString() &&\n+ node.covariate_type\n+ );\n+ if (existingNode) {\n+ newNodes.push(existingNode);\n+ }\n+ }\n+ });\n+ }\n+ });\n+\n+ // Update the graph data with the new nodes and links\n+ const updatedGraphData: CustomGraphData = {\n+ nodes: [...newNodes],\n+ links: [...newLinks],\n+ };\n+\n+ // Set the updated data to trigger re-render\n+ setGraphData(updatedGraphData);\n+ };\n+\n+ const fuse = new Fuse([...data.nodes, ...data.links], {\n+ keys: [\n+ \"uuid\",\n+ \"id\",\n+ \"name\",\n+ \"type\",\n+ \"description\",\n+ \"source\",\n+ \"target\",\n+ \"title\",\n+ \"summary\",\n+ ],\n+ threshold: 0.3,\n+ });\n+\n+ const handleNodeHover = useCallback((node: CustomNode | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (node) {\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => newHighlightLinks.add(link));\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ setHoverNode(node);\n+ }, []);\n+\n+ const handleLinkHover = useCallback((link: CustomLink | null) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ if (link) {\n+ newHighlightLinks.add(link);\n+ if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n+ if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+ }, []);\n+\n+ const paintRing = useCallback(\n+ (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ ctx.beginPath();\n+ ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n+ if (highlightNodes.has(node)) {\n+ ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n+ ctx.globalAlpha = 1; // full opacity\n+ } else {\n+ ctx.fillStyle = \"gray\";\n+ ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n+ }\n+ ctx.fill();\n+ ctx.globalAlpha = 1; // reset alpha for other drawings\n+ },\n+ [hoverNode, highlightNodes]\n+ );\n+\n+ const handleSearch = () => {\n+ const results = fuse.search(searchTerm).map((result) => result.item);\n+ const nodeResults = results.filter((item) => \"neighbors\" in item);\n+ const linkResults = results.filter(\n+ (item) => \"source\" in item && \"target\" in item\n+ );\n+ setSearchResults([...nodeResults, ...linkResults]);\n+ setRightDrawerOpen(true);\n+ };\n+\n+ const toggleDrawer = (open: boolean) => () => {\n+ setRightDrawerOpen(open);\n+ };\n+\n+ const handleFocusButtonClick = (node: CustomNode) => {\n+ const newHighlightNodes = new Set();\n+ newHighlightNodes.add(node);\n+ node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n+ node.links?.forEach((link) => highlightLinks.add(link));\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHoverNode(node);\n+\n+ if (graphRef.current) {\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(node.x, node.y, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: node.x, y: node.y, z: 300 }, // new position\n+ { x: node.x, y: node.y, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused node\n+ setTimeout(() => {\n+ handleNodeHover(node);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleFocusLinkClick = (link: CustomLink) => {\n+ const newHighlightNodes = new Set();\n+ const newHighlightLinks = new Set();\n+\n+ newHighlightLinks.add(link);\n+ let sourceNode: CustomNode | undefined;\n+ let targetNode: CustomNode | undefined;\n+\n+ if (typeof link.source !== \"string\") {\n+ newHighlightNodes.add(link.source);\n+ sourceNode = link.source;\n+ }\n+\n+ if (typeof link.target !== \"string\") {\n+ newHighlightNodes.add(link.target);\n+ targetNode = link.target;\n+ }\n+\n+ setHighlightNodes(newHighlightNodes);\n+ setHighlightLinks(newHighlightLinks);\n+\n+ if (\n+ graphRef.current &&\n+ sourceNode &&\n+ targetNode &&\n+ sourceNode.x &&\n+ targetNode.x &&\n+ sourceNode.y &&\n+ targetNode.y\n+ ) {\n+ const midX = (sourceNode.x + targetNode.x) / 2;\n+ const midY = (sourceNode.y + targetNode.y) / 2;\n+\n+ if (graphType === \"2d\") {\n+ graphRef.current.centerAt(midX, midY, 1000);\n+ graphRef.current.zoom(8, 1000);\n+ } else {\n+ graphRef.current.cameraPosition(\n+ { x: midX, y: midY, z: 300 }, // new position\n+ { x: midX, y: midY, z: 0 }, // lookAt\n+ 3000 // ms transition duration\n+ );\n+ }\n+ }\n+\n+ // Simulate mouse hover on the focused link\n+ setTimeout(() => {\n+ handleLinkHover(link);\n+ }, 1000); // Adjust delay as needed\n+\n+ setRightDrawerOpen(false);\n+ };\n+\n+ const handleNodeClick = (node: CustomNode) => {\n+ setSelectedRelationship(null);\n+ setSelectedNode(node);\n+ setLinkedNodes(node.neighbors || []);\n+ setLinkedRelationships(node.links || []);\n+ setBottomDrawerOpen(true);\n+ };\n+\n+ const handleLinkClick = (link: CustomLink) => {\n+ setSelectedNode(null);\n+ setSelectedRelationship(link);\n+ const linkSource =\n+ typeof link.source === \"object\"\n+ ? (link.source as CustomNode).id\n+ : link.source;\n+ const linkTarget =\n+ typeof link.target === \"object\"\n+ ? (link.target as CustomNode).id\n+ : link.target;\n+ const sourceNode = data.nodes.find((node) => node.id === linkSource);\n+ const targetNode = data.nodes.find((node) => node.id === linkTarget);\n+ if (sourceNode && targetNode) {\n+ const linkedNodes = [sourceNode, targetNode];\n+ setLinkedNodes(linkedNodes);\n+ const linkedRelationships = [link];\n+ setLinkedRelationships(linkedRelationships);\n+ setBottomDrawerOpen(true);\n+ }\n+ };\n+\n+ const getBackgroundColor = () =>\n+ theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n+\n+ const getLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n+\n+ const get3DLinkColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const getlinkDirectionalParticleColor = (link: CustomLink) =>\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n+\n+ const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n+ if (!showLabels) return; // Only render the label if showLabels is true\n+\n+ const label = node.name || \"\";\n+ const fontSize = 4;\n+ const padding = 2;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+\n+ // Set the styles based on the theme mode\n+ const backgroundColor =\n+ theme.palette.mode === \"dark\"\n+ ? \"rgba(0, 0, 0, 0.6)\"\n+ : \"rgba(255, 255, 255, 0.6)\";\n+\n+ // Calculate label dimensions\n+ const textWidth = ctx.measureText(label).width;\n+ const boxWidth = textWidth + padding * 2;\n+ const boxHeight = fontSize + padding * 2;\n+\n+ if (node.x && node.y) {\n+ // Draw the background rectangle with rounded corners\n+ ctx.fillStyle = backgroundColor;\n+ ctx.beginPath();\n+ ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n+ ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x + boxWidth / 2,\n+ node.y - boxHeight / 2 + 5\n+ );\n+ ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n+ ctx.quadraticCurveTo(\n+ node.x + boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x + boxWidth / 2 - 5,\n+ node.y + boxHeight / 2\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2,\n+ node.x - boxWidth / 2,\n+ node.y + boxHeight / 2 - 5\n+ );\n+ ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n+ ctx.quadraticCurveTo(\n+ node.x - boxWidth / 2,\n+ node.y - boxHeight / 2,\n+ node.x - boxWidth / 2 + 5,\n+ node.y - boxHeight / 2\n+ );\n+ ctx.closePath();\n+ ctx.fill();\n+\n+ // Draw the text in the center of the node\n+ // ctx.fillStyle = textColor;\n+ ctx.fillStyle = node.color;\n+ ctx.textAlign = \"center\";\n+ ctx.textBaseline = \"middle\";\n+ ctx.fillText(label, node.x, node.y);\n+ }\n+ };\n+\n+ const nodeThreeObject = (node: CustomNode) => {\n+ if (!showLabels) {\n+ return new THREE.Object3D();\n+ }\n+\n+ try {\n+ const nodeEl = document.createElement(\"div\");\n+ nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n+ nodeEl.style.color = node.color;\n+ nodeEl.style.padding = \"2px 4px\";\n+ nodeEl.style.borderRadius = \"4px\";\n+ nodeEl.style.fontSize = \"10px\";\n+ nodeEl.className = \"node-label\";\n+\n+ return new CSS2DObject(nodeEl);\n+ } catch (error) {\n+ console.error(\"Error creating 3D object:\", error);\n+ return new THREE.Object3D(); // Fallback in case of error\n+ }\n+ };\n+\n+ const localSearchEnabled = hasCovariates\n+ ? includeTextUnits && includeCommunities && includeCovariates\n+ : includeTextUnits && includeCommunities;\n+\n+ const clearSearchResults = () => {\n+ setGraphData(initialGraphData.current);\n+ setApiSearchResults(null);\n+ };\n+\n+ return (\n+ \n+ \n+ \n+ }\n+ >\n+ {t('graphViewer.searchNodesLinks')}\n+ \n+ {/* \n+ }\n+ label=\"3D View\"\n+ /> */}\n+ {/* setShowLabels(!showLabels)}\n+ />\n+ }\n+ label=\"Show Node Labels\"\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label=\"Show Relationship Labels\"\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label=\"Show Highlight\"\n+ /> */}\n+ \n+ \n+ {isFullscreen ? : }\n+ \n+ \n+ \n+\n+ \n+ \n+ }\n+ label={t('graphViewer.view3D')}\n+ />\n+ setShowLabels(!showLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showNodeLabels')}\n+ />\n+ setShowLinkLabels(!showLinkLabels)}\n+ />\n+ }\n+ label={t('graphViewer.showLinkLabels')}\n+ />\n+ setShowHighlight(!showHighlight)}\n+ />\n+ }\n+ label={t('graphViewer.showHighlight')}\n+ />\n+ \n+\n+ \n+ onIncludeDocumentsChange(!includeDocuments)}\n+ disabled={!hasDocuments || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeDocuments')}\n+ />\n+ onIncludeTextUnitsChange(!includeTextUnits)}\n+ onChange={() => {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ } else if (includeTextUnits && !includeCovariates) {\n+ onIncludeTextUnitsChange(false);\n+ } else {\n+ onIncludeTextUnitsChange(false);\n+ onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n+ }\n+ }}\n+ disabled={!hasTextUnits || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeTextUnits')}\n+ />\n+ onIncludeCommunitiesChange(!includeCommunities)}\n+ disabled={!hasCommunities || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeCommunities')}\n+ />\n+\n+ {\n+ if (!includeCovariates) {\n+ if (!includeTextUnits) {\n+ onIncludeTextUnitsChange(true);\n+ }\n+ onIncludeCovariatesChange(true);\n+ } else {\n+ onIncludeCovariatesChange(false);\n+ }\n+ }}\n+ disabled={!hasCovariates || apiSearchResults !== null}\n+ />\n+ }\n+ label={t('graphViewer.includeCovariates')}\n+ />\n+ \n+ \n+\n+ \n+\n+ \n+\n+ \n+\n+ {graphType === \"2d\" ? (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ linkDirectionalParticleColor={\n+ showHighlight ? getlinkDirectionalParticleColor : undefined\n+ }\n+ nodeCanvasObjectMode={(node) =>\n+ showHighlight && highlightNodes.has(node)\n+ ? \"before\"\n+ : showLabels\n+ ? \"after\"\n+ : undefined\n+ }\n+ nodeCanvasObject={(node, ctx) => {\n+ if (showHighlight && highlightNodes.has(node)) {\n+ paintRing(node as CustomNode, ctx);\n+ }\n+ if (showLabels) {\n+ renderNodeLabel(node as CustomNode, ctx);\n+ }\n+ }}\n+ linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n+ linkCanvasObject={(link, ctx) => {\n+ if (showLinkLabels) {\n+ const label = link.type || \"\";\n+ const fontSize = 4;\n+ ctx.font = `${fontSize}px Sans-Serif`;\n+ ctx.fillStyle =\n+ theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n+ const source =\n+ typeof link.source !== \"string\"\n+ ? (link.source as CustomNode)\n+ : null;\n+ const target =\n+ typeof link.target !== \"string\"\n+ ? (link.target as CustomNode)\n+ : null;\n+\n+ if (\n+ source &&\n+ target &&\n+ source.x !== undefined &&\n+ target.x !== undefined &&\n+ source.y !== undefined &&\n+ target.y !== undefined\n+ ) {\n+ const textWidth = ctx.measureText(label).width;\n+ const posX = (source.x + target.x) / 2 - textWidth / 2;\n+ const posY = (source.y + target.y) / 2;\n+ ctx.fillText(label, posX, posY);\n+ }\n+ }\n+ }}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={getLinkColor}\n+ />\n+ ) : (\n+ \n+ showHighlight && highlightLinks.has(link) ? 5 : 1\n+ }\n+ linkDirectionalParticles={showHighlight ? 4 : 0}\n+ linkDirectionalParticleWidth={(link) =>\n+ showHighlight && highlightLinks.has(link) ? 4 : 0\n+ }\n+ nodeThreeObject={nodeThreeObject}\n+ nodeThreeObjectExtend={true}\n+ onNodeHover={showHighlight ? handleNodeHover : undefined}\n+ onLinkHover={showHighlight ? handleLinkHover : undefined}\n+ onNodeClick={handleNodeClick}\n+ onLinkClick={handleLinkClick}\n+ backgroundColor={getBackgroundColor()}\n+ linkColor={get3DLinkColor}\n+ linkThreeObjectExtend={true}\n+ linkThreeObject={(link) => {\n+ if (!showLinkLabels) new THREE.Object3D();\n+ const sprite = new SpriteText(`${link.type}`);\n+ sprite.color = \"lightgrey\";\n+ sprite.textHeight = 1.5;\n+ return sprite;\n+ }}\n+ linkPositionUpdate={(sprite, { start, end }) => {\n+ if (!showLinkLabels) return;\n+\n+ const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n+ acc[c as keyof Coords] =\n+ start[c as keyof Coords] +\n+ (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n+ return acc;\n+ }, {} as Coords);\n+\n+ // Position sprite\n+ Object.assign(sprite.position, middlePos);\n+ }}\n+ />\n+ )}\n+ \n+ Nodes: {nodeCount}\n+ Relationships: {linkCount}\n+ }\n+ >\n+ Ask Query (Local/Global Search)\n+ \n+ }\n+ color=\"warning\"\n+ disabled={apiSearchResults === null}\n+ >\n+ Clear Query Results\n+ \n+ \n+ \n+ );\n+};\n+\n+export default GraphViewer;\n\\ No newline at end of file\n" - }, - { - "date": 1727243604755, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -880,9 +880,9 @@\n alignItems: \"flex-start\",\n gap: 1,\n }}\n >\n- Nodes: {nodeCount}\n+ {t('graphViewer.nodes')}: {nodeCount}\n Relationships: {linkCount}\n \n );\n };\n \n-export default GraphViewer;\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n-\n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n-\n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n-\n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const { t } = useTranslation('graphViewer');\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n- return (\n- \n- \n- \n- }\n- >\n- {t('graphViewer.searchNodesLinks')}\n- \n- {/* \n- }\n- label=\"3D View\"\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label=\"Show Node Labels\"\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n- \n- \n- {isFullscreen ? : }\n- \n- \n- \n-\n- \n- \n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.showNodeLabels')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label={t('graphViewer.showLinkLabels')}\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label={t('graphViewer.showHighlight')}\n- />\n- \n-\n- \n- onIncludeDocumentsChange(!includeDocuments)}\n- disabled={!hasDocuments || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeDocuments')}\n- />\n- onIncludeTextUnitsChange(!includeTextUnits)}\n- onChange={() => {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- } else if (includeTextUnits && !includeCovariates) {\n- onIncludeTextUnitsChange(false);\n- } else {\n- onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n- }\n- }}\n- disabled={!hasTextUnits || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeTextUnits')}\n- />\n- onIncludeCommunitiesChange(!includeCommunities)}\n- disabled={!hasCommunities || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeCommunities')}\n- />\n-\n- {\n- if (!includeCovariates) {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- }\n- onIncludeCovariatesChange(true);\n- } else {\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasCovariates || apiSearchResults !== null}\n- />\n- }\n- label=\"Include Covariates\"\n- />\n- \n- \n-\n- \n-\n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n- \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n- }\n- >\n- Ask Query (Local/Global Search)\n- \n- }\n- color=\"warning\"\n- disabled={apiSearchResults === null}\n- >\n- Clear Query Results\n- \n- \n- \n- );\n-};\n-\n-export default GraphViewer;\n-import React, { useState, useCallback, useRef, useEffect } from \"react\";\n-import ForceGraph2D from \"react-force-graph-2d\";\n-import ForceGraph3D from \"react-force-graph-3d\";\n-import {\n- CustomGraphData,\n- CustomLink,\n- CustomNode,\n-} from \"../models/custom-graph-data\";\n-import {\n- Box,\n- Button,\n- Checkbox,\n- FormControlLabel,\n- FormGroup,\n- IconButton,\n- Switch,\n- Tooltip,\n- Typography,\n- useTheme,\n-} from \"@mui/material\";\n-import FullscreenIcon from \"@mui/icons-material/Fullscreen\";\n-import FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\n-import SearchIcon from \"@mui/icons-material/Search\";\n-import DeleteIcon from \"@mui/icons-material/Delete\";\n-import Fuse from \"fuse.js\";\n-import {\n- CSS2DRenderer,\n- CSS2DObject,\n-} from \"three/examples/jsm/renderers/CSS2DRenderer\";\n-import * as THREE from \"three\";\n-import { Renderer } from \"three\";\n-import SearchDrawer from \"./SearchDrawer\";\n-import DetailDrawer from \"./DetailDrawer\";\n-import { SearchResult } from \"../models/search-result\";\n-import agent from \"../api/agent\";\n-import APISearchDrawer from \"./APISearchDrawer\";\n-import SpriteText from \"three-spritetext\";\n-import { useTranslation } from 'react-i18next';\n-\n-type Coords = {\n- x: number;\n- y: number;\n- z: number;\n-};\n-\n-interface GraphViewerProps {\n- data: CustomGraphData;\n- graphType: \"2d\" | \"3d\";\n- isFullscreen: boolean;\n- onToggleFullscreen: () => void;\n- onToggleGraphType: (event: React.ChangeEvent) => void;\n- includeDocuments: boolean;\n- onIncludeDocumentsChange: React.Dispatch>;\n- includeTextUnits: boolean;\n- onIncludeTextUnitsChange: React.Dispatch>;\n- includeCommunities: boolean;\n- onIncludeCommunitiesChange: React.Dispatch>;\n- includeCovariates: boolean;\n- onIncludeCovariatesChange: React.Dispatch>;\n- hasDocuments: boolean;\n- hasTextUnits: boolean;\n- hasCommunities: boolean;\n- hasCovariates: boolean;\n-}\n-\n-const NODE_R = 8;\n-\n-const GraphViewer: React.FC = ({\n- data,\n- graphType,\n- isFullscreen,\n- includeDocuments,\n- onIncludeDocumentsChange,\n- includeTextUnits,\n- onIncludeTextUnitsChange,\n- includeCommunities,\n- onIncludeCommunitiesChange,\n- includeCovariates,\n- onIncludeCovariatesChange,\n- onToggleFullscreen,\n- onToggleGraphType,\n- hasDocuments,\n- hasTextUnits,\n- hasCommunities,\n- hasCovariates,\n-}) => {\n- const { t } = useTranslation('graphViewer');\n- const theme = useTheme();\n- const [highlightNodes, setHighlightNodes] = useState>(\n- new Set()\n- );\n- const [highlightLinks, setHighlightLinks] = useState>(\n- new Set()\n- );\n- const [hoverNode, setHoverNode] = useState(null);\n- const [searchTerm, setSearchTerm] = useState(\"\");\n- const [searchResults, setSearchResults] = useState<\n- (CustomNode | CustomLink)[]\n- >([]);\n- const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n- const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n- const [selectedNode, setSelectedNode] = useState(null);\n- const [selectedRelationship, setSelectedRelationship] =\n- useState(null);\n- const [linkedNodes, setLinkedNodes] = useState([]);\n- const [linkedRelationships, setLinkedRelationships] = useState(\n- []\n- );\n- const [showLabels, setShowLabels] = useState(false);\n- const [showLinkLabels, setShowLinkLabels] = useState(false);\n- const [showHighlight, setShowHighlight] = useState(true);\n- const graphRef = useRef();\n- const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n- const nodeCount = data.nodes.length;\n- const linkCount = data.links.length;\n-\n- const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n- const [apiSearchResults, setApiSearchResults] = useState(\n- null\n- );\n- const [serverUp, setServerUp] = useState(false);\n-\n- const [graphData, setGraphData] = useState(data);\n-\n- const initialGraphData = useRef(data);\n-\n- useEffect(() => {\n- setGraphData(data);\n- initialGraphData.current = data;\n- }, [data]);\n-\n- useEffect(() => {\n- checkServerStatus();\n- }, []);\n-\n- const toggleApiDrawer = (open: boolean) => () => {\n- setApiDrawerOpen(open);\n- };\n-\n- const handleApiSearch = async (\n- query: string,\n- searchType: \"local\" | \"global\"\n- ) => {\n- try {\n- const data: SearchResult =\n- searchType === \"local\"\n- ? await agent.Search.local(query)\n- : await agent.Search.global(query);\n-\n- setApiSearchResults(data);\n- // Process the search result to update the graph data\n- updateGraphData(data.context_data);\n- } catch (err) {\n- console.error(\"An error occurred during the API search.\", err);\n- } finally {\n- }\n- };\n-\n- const checkServerStatus = async () => {\n- try {\n- const response = await agent.Status.check();\n- if (response.status === \"Server is up and running\") {\n- setServerUp(true);\n- } else {\n- setServerUp(false);\n- }\n- } catch (error) {\n- setServerUp(false);\n- }\n- };\n-\n- const updateGraphData = (contextData: any) => {\n- if (!contextData) return;\n-\n- const newNodes: CustomNode[] = [];\n- const newLinks: CustomLink[] = [];\n-\n- const baseGraphData = initialGraphData.current;\n-\n- // Assuming contextData has keys like entities, reports, relationships, sources\n- Object.entries(contextData).forEach(([key, items]) => {\n- if (Array.isArray(items)) {\n- items.forEach((item) => {\n- if (key === \"relationships\") {\n- // Handle links\n- const existingLink = baseGraphData.links.find(\n- (link) =>\n- link.human_readable_id?.toString() === item.id.toString()\n- );\n-\n- if (existingLink) {\n- newLinks.push(existingLink);\n- }\n- } else if (key === \"entities\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- !node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"reports\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.uuid === item.id.toString()\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"sources\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) => node.text?.toString() === item.text\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- } else if (key === \"covariates\" || key === \"claims\") {\n- const existingNode = baseGraphData.nodes.find(\n- (node) =>\n- node.human_readable_id?.toString() === item.id.toString() &&\n- node.covariate_type\n- );\n- if (existingNode) {\n- newNodes.push(existingNode);\n- }\n- }\n- });\n- }\n- });\n-\n- // Update the graph data with the new nodes and links\n- const updatedGraphData: CustomGraphData = {\n- nodes: [...newNodes],\n- links: [...newLinks],\n- };\n-\n- // Set the updated data to trigger re-render\n- setGraphData(updatedGraphData);\n- };\n-\n- const fuse = new Fuse([...data.nodes, ...data.links], {\n- keys: [\n- \"uuid\",\n- \"id\",\n- \"name\",\n- \"type\",\n- \"description\",\n- \"source\",\n- \"target\",\n- \"title\",\n- \"summary\",\n- ],\n- threshold: 0.3,\n- });\n-\n- const handleNodeHover = useCallback((node: CustomNode | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (node) {\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => newHighlightLinks.add(link));\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- setHoverNode(node);\n- }, []);\n-\n- const handleLinkHover = useCallback((link: CustomLink | null) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- if (link) {\n- newHighlightLinks.add(link);\n- if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n- if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n- }, []);\n-\n- const paintRing = useCallback(\n- (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- ctx.beginPath();\n- ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n- if (highlightNodes.has(node)) {\n- ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n- ctx.globalAlpha = 1; // full opacity\n- } else {\n- ctx.fillStyle = \"gray\";\n- ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n- }\n- ctx.fill();\n- ctx.globalAlpha = 1; // reset alpha for other drawings\n- },\n- [hoverNode, highlightNodes]\n- );\n-\n- const handleSearch = () => {\n- const results = fuse.search(searchTerm).map((result) => result.item);\n- const nodeResults = results.filter((item) => \"neighbors\" in item);\n- const linkResults = results.filter(\n- (item) => \"source\" in item && \"target\" in item\n- );\n- setSearchResults([...nodeResults, ...linkResults]);\n- setRightDrawerOpen(true);\n- };\n-\n- const toggleDrawer = (open: boolean) => () => {\n- setRightDrawerOpen(open);\n- };\n-\n- const handleFocusButtonClick = (node: CustomNode) => {\n- const newHighlightNodes = new Set();\n- newHighlightNodes.add(node);\n- node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n- node.links?.forEach((link) => highlightLinks.add(link));\n-\n- setHighlightNodes(newHighlightNodes);\n- setHoverNode(node);\n-\n- if (graphRef.current) {\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(node.x, node.y, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: node.x, y: node.y, z: 300 }, // new position\n- { x: node.x, y: node.y, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused node\n- setTimeout(() => {\n- handleNodeHover(node);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleFocusLinkClick = (link: CustomLink) => {\n- const newHighlightNodes = new Set();\n- const newHighlightLinks = new Set();\n-\n- newHighlightLinks.add(link);\n- let sourceNode: CustomNode | undefined;\n- let targetNode: CustomNode | undefined;\n-\n- if (typeof link.source !== \"string\") {\n- newHighlightNodes.add(link.source);\n- sourceNode = link.source;\n- }\n-\n- if (typeof link.target !== \"string\") {\n- newHighlightNodes.add(link.target);\n- targetNode = link.target;\n- }\n-\n- setHighlightNodes(newHighlightNodes);\n- setHighlightLinks(newHighlightLinks);\n-\n- if (\n- graphRef.current &&\n- sourceNode &&\n- targetNode &&\n- sourceNode.x &&\n- targetNode.x &&\n- sourceNode.y &&\n- targetNode.y\n- ) {\n- const midX = (sourceNode.x + targetNode.x) / 2;\n- const midY = (sourceNode.y + targetNode.y) / 2;\n-\n- if (graphType === \"2d\") {\n- graphRef.current.centerAt(midX, midY, 1000);\n- graphRef.current.zoom(8, 1000);\n- } else {\n- graphRef.current.cameraPosition(\n- { x: midX, y: midY, z: 300 }, // new position\n- { x: midX, y: midY, z: 0 }, // lookAt\n- 3000 // ms transition duration\n- );\n- }\n- }\n-\n- // Simulate mouse hover on the focused link\n- setTimeout(() => {\n- handleLinkHover(link);\n- }, 1000); // Adjust delay as needed\n-\n- setRightDrawerOpen(false);\n- };\n-\n- const handleNodeClick = (node: CustomNode) => {\n- setSelectedRelationship(null);\n- setSelectedNode(node);\n- setLinkedNodes(node.neighbors || []);\n- setLinkedRelationships(node.links || []);\n- setBottomDrawerOpen(true);\n- };\n-\n- const handleLinkClick = (link: CustomLink) => {\n- setSelectedNode(null);\n- setSelectedRelationship(link);\n- const linkSource =\n- typeof link.source === \"object\"\n- ? (link.source as CustomNode).id\n- : link.source;\n- const linkTarget =\n- typeof link.target === \"object\"\n- ? (link.target as CustomNode).id\n- : link.target;\n- const sourceNode = data.nodes.find((node) => node.id === linkSource);\n- const targetNode = data.nodes.find((node) => node.id === linkTarget);\n- if (sourceNode && targetNode) {\n- const linkedNodes = [sourceNode, targetNode];\n- setLinkedNodes(linkedNodes);\n- const linkedRelationships = [link];\n- setLinkedRelationships(linkedRelationships);\n- setBottomDrawerOpen(true);\n- }\n- };\n-\n- const getBackgroundColor = () =>\n- theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n-\n- const getLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n-\n- const get3DLinkColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const getlinkDirectionalParticleColor = (link: CustomLink) =>\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n-\n- const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n- if (!showLabels) return; // Only render the label if showLabels is true\n-\n- const label = node.name || \"\";\n- const fontSize = 4;\n- const padding = 2;\n- ctx.font = `${fontSize}px Sans-Serif`;\n-\n- // Set the styles based on the theme mode\n- const backgroundColor =\n- theme.palette.mode === \"dark\"\n- ? \"rgba(0, 0, 0, 0.6)\"\n- : \"rgba(255, 255, 255, 0.6)\";\n-\n- // Calculate label dimensions\n- const textWidth = ctx.measureText(label).width;\n- const boxWidth = textWidth + padding * 2;\n- const boxHeight = fontSize + padding * 2;\n-\n- if (node.x && node.y) {\n- // Draw the background rectangle with rounded corners\n- ctx.fillStyle = backgroundColor;\n- ctx.beginPath();\n- ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n- ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x + boxWidth / 2,\n- node.y - boxHeight / 2 + 5\n- );\n- ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n- ctx.quadraticCurveTo(\n- node.x + boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x + boxWidth / 2 - 5,\n- node.y + boxHeight / 2\n- );\n- ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2,\n- node.x - boxWidth / 2,\n- node.y + boxHeight / 2 - 5\n- );\n- ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n- ctx.quadraticCurveTo(\n- node.x - boxWidth / 2,\n- node.y - boxHeight / 2,\n- node.x - boxWidth / 2 + 5,\n- node.y - boxHeight / 2\n- );\n- ctx.closePath();\n- ctx.fill();\n-\n- // Draw the text in the center of the node\n- // ctx.fillStyle = textColor;\n- ctx.fillStyle = node.color;\n- ctx.textAlign = \"center\";\n- ctx.textBaseline = \"middle\";\n- ctx.fillText(label, node.x, node.y);\n- }\n- };\n-\n- const nodeThreeObject = (node: CustomNode) => {\n- if (!showLabels) {\n- return new THREE.Object3D();\n- }\n-\n- try {\n- const nodeEl = document.createElement(\"div\");\n- nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n- nodeEl.style.color = node.color;\n- nodeEl.style.padding = \"2px 4px\";\n- nodeEl.style.borderRadius = \"4px\";\n- nodeEl.style.fontSize = \"10px\";\n- nodeEl.className = \"node-label\";\n-\n- return new CSS2DObject(nodeEl);\n- } catch (error) {\n- console.error(\"Error creating 3D object:\", error);\n- return new THREE.Object3D(); // Fallback in case of error\n- }\n- };\n-\n- const localSearchEnabled = hasCovariates\n- ? includeTextUnits && includeCommunities && includeCovariates\n- : includeTextUnits && includeCommunities;\n-\n- const clearSearchResults = () => {\n- setGraphData(initialGraphData.current);\n- setApiSearchResults(null);\n- };\n-\n- return (\n- \n- \n- \n- }\n- >\n- {t('graphViewer.searchNodesLinks')}\n- \n- {/* \n- }\n- label=\"3D View\"\n- /> */}\n- {/* setShowLabels(!showLabels)}\n- />\n- }\n- label=\"Show Node Labels\"\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label=\"Show Relationship Labels\"\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label=\"Show Highlight\"\n- /> */}\n- \n- \n- {isFullscreen ? : }\n- \n- \n- \n-\n- \n- \n- }\n- label={t('graphViewer.view3D')}\n- />\n- setShowLabels(!showLabels)}\n- />\n- }\n- label={t('graphViewer.showNodeLabels')}\n- />\n- setShowLinkLabels(!showLinkLabels)}\n- />\n- }\n- label={t('graphViewer.showLinkLabels')}\n- />\n- setShowHighlight(!showHighlight)}\n- />\n- }\n- label={t('graphViewer.showHighlight')}\n- />\n- \n-\n- \n- onIncludeDocumentsChange(!includeDocuments)}\n- disabled={!hasDocuments || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeDocuments')}\n- />\n- onIncludeTextUnitsChange(!includeTextUnits)}\n- onChange={() => {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- } else if (includeTextUnits && !includeCovariates) {\n- onIncludeTextUnitsChange(false);\n- } else {\n- onIncludeTextUnitsChange(false);\n- onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n- }\n- }}\n- disabled={!hasTextUnits || apiSearchResults !== null}\n- />\n- }\n- label={t('graphViewer.includeTextUnits')}\n- />\n- onIncludeCommunitiesChange(!includeCommunities)}\n- disabled={!hasCommunities || apiSearchResults !== null}\n- />\n- }\n- label=\"Include Communities\"\n- />\n-\n- {\n- if (!includeCovariates) {\n- if (!includeTextUnits) {\n- onIncludeTextUnitsChange(true);\n- }\n- onIncludeCovariatesChange(true);\n- } else {\n- onIncludeCovariatesChange(false);\n- }\n- }}\n- disabled={!hasCovariates || apiSearchResults !== null}\n- />\n- }\n- label=\"Include Covariates\"\n- />\n- \n- \n-\n- \n-\n- \n-\n- \n-\n- {graphType === \"2d\" ? (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- linkDirectionalParticleColor={\n- showHighlight ? getlinkDirectionalParticleColor : undefined\n- }\n- nodeCanvasObjectMode={(node) =>\n- showHighlight && highlightNodes.has(node)\n- ? \"before\"\n- : showLabels\n- ? \"after\"\n- : undefined\n- }\n- nodeCanvasObject={(node, ctx) => {\n- if (showHighlight && highlightNodes.has(node)) {\n- paintRing(node as CustomNode, ctx);\n- }\n- if (showLabels) {\n- renderNodeLabel(node as CustomNode, ctx);\n- }\n- }}\n- linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n- linkCanvasObject={(link, ctx) => {\n- if (showLinkLabels) {\n- const label = link.type || \"\";\n- const fontSize = 4;\n- ctx.font = `${fontSize}px Sans-Serif`;\n- ctx.fillStyle =\n- theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n- const source =\n- typeof link.source !== \"string\"\n- ? (link.source as CustomNode)\n- : null;\n- const target =\n- typeof link.target !== \"string\"\n- ? (link.target as CustomNode)\n- : null;\n-\n- if (\n- source &&\n- target &&\n- source.x !== undefined &&\n- target.x !== undefined &&\n- source.y !== undefined &&\n- target.y !== undefined\n- ) {\n- const textWidth = ctx.measureText(label).width;\n- const posX = (source.x + target.x) / 2 - textWidth / 2;\n- const posY = (source.y + target.y) / 2;\n- ctx.fillText(label, posX, posY);\n- }\n- }\n- }}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={getLinkColor}\n- />\n- ) : (\n- \n- showHighlight && highlightLinks.has(link) ? 5 : 1\n- }\n- linkDirectionalParticles={showHighlight ? 4 : 0}\n- linkDirectionalParticleWidth={(link) =>\n- showHighlight && highlightLinks.has(link) ? 4 : 0\n- }\n- nodeThreeObject={nodeThreeObject}\n- nodeThreeObjectExtend={true}\n- onNodeHover={showHighlight ? handleNodeHover : undefined}\n- onLinkHover={showHighlight ? handleLinkHover : undefined}\n- onNodeClick={handleNodeClick}\n- onLinkClick={handleLinkClick}\n- backgroundColor={getBackgroundColor()}\n- linkColor={get3DLinkColor}\n- linkThreeObjectExtend={true}\n- linkThreeObject={(link) => {\n- if (!showLinkLabels) new THREE.Object3D();\n- const sprite = new SpriteText(`${link.type}`);\n- sprite.color = \"lightgrey\";\n- sprite.textHeight = 1.5;\n- return sprite;\n- }}\n- linkPositionUpdate={(sprite, { start, end }) => {\n- if (!showLinkLabels) return;\n-\n- const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n- acc[c as keyof Coords] =\n- start[c as keyof Coords] +\n- (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n- return acc;\n- }, {} as Coords);\n-\n- // Position sprite\n- Object.assign(sprite.position, middlePos);\n- }}\n- />\n- )}\n- \n- Nodes: {nodeCount}\n- Relationships: {linkCount}\n- }\n- >\n- Ask Query (Local/Global Search)\n- \n- }\n- color=\"warning\"\n- disabled={apiSearchResults === null}\n- >\n- Clear Query Results\n- \n- \n- \n- );\n-};\n-\n export default GraphViewer;\n\\ No newline at end of file\n" - }, - { - "date": 1727243615071, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -881,9 +881,9 @@\n gap: 1,\n }}\n >\n {t('graphViewer.nodes')}: {nodeCount}\n- Relationships: {linkCount}\n+ {t('graphViewer.relationships')}: {linkCount}\n }\n" - }, - { - "date": 1727243631156, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -887,9 +887,9 @@\n variant=\"contained\"\n onClick={toggleApiDrawer(true)}\n startIcon={}\n >\n- Ask Query (Local/Global Search)\n+ {t('graphViewer.askQuery')}\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n- Clear Query Results\n+ {t('graphViewer.clearQueryResults')}\n \n \n \n );\n" - } - ], - "date": 1727241223449, - "name": "Commit-0", - "content": "import React, { useState, useCallback, useRef, useEffect } from \"react\";\nimport ForceGraph2D from \"react-force-graph-2d\";\nimport ForceGraph3D from \"react-force-graph-3d\";\nimport {\n CustomGraphData,\n CustomLink,\n CustomNode,\n} from \"../models/custom-graph-data\";\nimport {\n Box,\n Button,\n Checkbox,\n FormControlLabel,\n FormGroup,\n IconButton,\n Switch,\n Tooltip,\n Typography,\n useTheme,\n} from \"@mui/material\";\nimport FullscreenIcon from \"@mui/icons-material/Fullscreen\";\nimport FullscreenExitIcon from \"@mui/icons-material/FullscreenExit\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport Fuse from \"fuse.js\";\nimport {\n CSS2DRenderer,\n CSS2DObject,\n} from \"three/examples/jsm/renderers/CSS2DRenderer\";\nimport * as THREE from \"three\";\nimport { Renderer } from \"three\";\nimport SearchDrawer from \"./SearchDrawer\";\nimport DetailDrawer from \"./DetailDrawer\";\nimport { SearchResult } from \"../models/search-result\";\nimport agent from \"../api/agent\";\nimport APISearchDrawer from \"./APISearchDrawer\";\nimport SpriteText from \"three-spritetext\";\n\ntype Coords = {\n x: number;\n y: number;\n z: number;\n};\n\ninterface GraphViewerProps {\n data: CustomGraphData;\n graphType: \"2d\" | \"3d\";\n isFullscreen: boolean;\n onToggleFullscreen: () => void;\n onToggleGraphType: (event: React.ChangeEvent) => void;\n includeDocuments: boolean;\n onIncludeDocumentsChange: React.Dispatch>;\n includeTextUnits: boolean;\n onIncludeTextUnitsChange: React.Dispatch>;\n includeCommunities: boolean;\n onIncludeCommunitiesChange: React.Dispatch>;\n includeCovariates: boolean;\n onIncludeCovariatesChange: React.Dispatch>;\n hasDocuments: boolean;\n hasTextUnits: boolean;\n hasCommunities: boolean;\n hasCovariates: boolean;\n}\n\nconst NODE_R = 8;\n\nconst GraphViewer: React.FC = ({\n data,\n graphType,\n isFullscreen,\n includeDocuments,\n onIncludeDocumentsChange,\n includeTextUnits,\n onIncludeTextUnitsChange,\n includeCommunities,\n onIncludeCommunitiesChange,\n includeCovariates,\n onIncludeCovariatesChange,\n onToggleFullscreen,\n onToggleGraphType,\n hasDocuments,\n hasTextUnits,\n hasCommunities,\n hasCovariates,\n}) => {\n const theme = useTheme();\n const [highlightNodes, setHighlightNodes] = useState>(\n new Set()\n );\n const [highlightLinks, setHighlightLinks] = useState>(\n new Set()\n );\n const [hoverNode, setHoverNode] = useState(null);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [searchResults, setSearchResults] = useState<\n (CustomNode | CustomLink)[]\n >([]);\n const [rightDrawerOpen, setRightDrawerOpen] = useState(false);\n const [bottomDrawerOpen, setBottomDrawerOpen] = useState(false);\n const [selectedNode, setSelectedNode] = useState(null);\n const [selectedRelationship, setSelectedRelationship] =\n useState(null);\n const [linkedNodes, setLinkedNodes] = useState([]);\n const [linkedRelationships, setLinkedRelationships] = useState(\n []\n );\n const [showLabels, setShowLabels] = useState(false);\n const [showLinkLabels, setShowLinkLabels] = useState(false);\n const [showHighlight, setShowHighlight] = useState(true);\n const graphRef = useRef();\n const extraRenderers = [new CSS2DRenderer() as any as Renderer];\n const nodeCount = data.nodes.length;\n const linkCount = data.links.length;\n\n const [apiDrawerOpen, setApiDrawerOpen] = useState(false);\n const [apiSearchResults, setApiSearchResults] = useState(\n null\n );\n const [serverUp, setServerUp] = useState(false);\n\n const [graphData, setGraphData] = useState(data);\n\n const initialGraphData = useRef(data);\n\n useEffect(() => {\n setGraphData(data);\n initialGraphData.current = data;\n }, [data]);\n\n useEffect(() => {\n checkServerStatus();\n }, []);\n\n const toggleApiDrawer = (open: boolean) => () => {\n setApiDrawerOpen(open);\n };\n\n const handleApiSearch = async (\n query: string,\n searchType: \"local\" | \"global\"\n ) => {\n try {\n const data: SearchResult =\n searchType === \"local\"\n ? await agent.Search.local(query)\n : await agent.Search.global(query);\n\n setApiSearchResults(data);\n // Process the search result to update the graph data\n updateGraphData(data.context_data);\n } catch (err) {\n console.error(\"An error occurred during the API search.\", err);\n } finally {\n }\n };\n\n const checkServerStatus = async () => {\n try {\n const response = await agent.Status.check();\n if (response.status === \"Server is up and running\") {\n setServerUp(true);\n } else {\n setServerUp(false);\n }\n } catch (error) {\n setServerUp(false);\n }\n };\n\n const updateGraphData = (contextData: any) => {\n if (!contextData) return;\n\n const newNodes: CustomNode[] = [];\n const newLinks: CustomLink[] = [];\n\n const baseGraphData = initialGraphData.current;\n\n // Assuming contextData has keys like entities, reports, relationships, sources\n Object.entries(contextData).forEach(([key, items]) => {\n if (Array.isArray(items)) {\n items.forEach((item) => {\n if (key === \"relationships\") {\n // Handle links\n const existingLink = baseGraphData.links.find(\n (link) =>\n link.human_readable_id?.toString() === item.id.toString()\n );\n\n if (existingLink) {\n newLinks.push(existingLink);\n }\n } else if (key === \"entities\") {\n const existingNode = baseGraphData.nodes.find(\n (node) =>\n node.human_readable_id?.toString() === item.id.toString() &&\n !node.covariate_type\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n } else if (key === \"reports\") {\n const existingNode = baseGraphData.nodes.find(\n (node) => node.uuid === item.id.toString()\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n } else if (key === \"sources\") {\n const existingNode = baseGraphData.nodes.find(\n (node) => node.text?.toString() === item.text\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n } else if (key === \"covariates\" || key === \"claims\") {\n const existingNode = baseGraphData.nodes.find(\n (node) =>\n node.human_readable_id?.toString() === item.id.toString() &&\n node.covariate_type\n );\n if (existingNode) {\n newNodes.push(existingNode);\n }\n }\n });\n }\n });\n\n // Update the graph data with the new nodes and links\n const updatedGraphData: CustomGraphData = {\n nodes: [...newNodes],\n links: [...newLinks],\n };\n\n // Set the updated data to trigger re-render\n setGraphData(updatedGraphData);\n };\n\n const fuse = new Fuse([...data.nodes, ...data.links], {\n keys: [\n \"uuid\",\n \"id\",\n \"name\",\n \"type\",\n \"description\",\n \"source\",\n \"target\",\n \"title\",\n \"summary\",\n ],\n threshold: 0.3,\n });\n\n const handleNodeHover = useCallback((node: CustomNode | null) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n if (node) {\n newHighlightNodes.add(node);\n node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n node.links?.forEach((link) => newHighlightLinks.add(link));\n }\n\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n setHoverNode(node);\n }, []);\n\n const handleLinkHover = useCallback((link: CustomLink | null) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n if (link) {\n newHighlightLinks.add(link);\n if (typeof link.source !== \"string\") newHighlightNodes.add(link.source);\n if (typeof link.target !== \"string\") newHighlightNodes.add(link.target);\n }\n\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n }, []);\n\n const paintRing = useCallback(\n (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n ctx.beginPath();\n ctx.arc(node.x!, node.y!, NODE_R * 1.4, 0, 2 * Math.PI, false);\n if (highlightNodes.has(node)) {\n ctx.fillStyle = node === hoverNode ? \"red\" : \"orange\";\n ctx.globalAlpha = 1; // full opacity\n } else {\n ctx.fillStyle = \"gray\";\n ctx.globalAlpha = 0.3; // reduced opacity for non-highlighted nodes\n }\n ctx.fill();\n ctx.globalAlpha = 1; // reset alpha for other drawings\n },\n [hoverNode, highlightNodes]\n );\n\n const handleSearch = () => {\n const results = fuse.search(searchTerm).map((result) => result.item);\n const nodeResults = results.filter((item) => \"neighbors\" in item);\n const linkResults = results.filter(\n (item) => \"source\" in item && \"target\" in item\n );\n setSearchResults([...nodeResults, ...linkResults]);\n setRightDrawerOpen(true);\n };\n\n const toggleDrawer = (open: boolean) => () => {\n setRightDrawerOpen(open);\n };\n\n const handleFocusButtonClick = (node: CustomNode) => {\n const newHighlightNodes = new Set();\n newHighlightNodes.add(node);\n node.neighbors?.forEach((neighbor) => newHighlightNodes.add(neighbor));\n node.links?.forEach((link) => highlightLinks.add(link));\n\n setHighlightNodes(newHighlightNodes);\n setHoverNode(node);\n\n if (graphRef.current) {\n if (graphType === \"2d\") {\n graphRef.current.centerAt(node.x, node.y, 1000);\n graphRef.current.zoom(8, 1000);\n } else {\n graphRef.current.cameraPosition(\n { x: node.x, y: node.y, z: 300 }, // new position\n { x: node.x, y: node.y, z: 0 }, // lookAt\n 3000 // ms transition duration\n );\n }\n }\n\n // Simulate mouse hover on the focused node\n setTimeout(() => {\n handleNodeHover(node);\n }, 1000); // Adjust delay as needed\n\n setRightDrawerOpen(false);\n };\n\n const handleFocusLinkClick = (link: CustomLink) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n newHighlightLinks.add(link);\n let sourceNode: CustomNode | undefined;\n let targetNode: CustomNode | undefined;\n\n if (typeof link.source !== \"string\") {\n newHighlightNodes.add(link.source);\n sourceNode = link.source;\n }\n\n if (typeof link.target !== \"string\") {\n newHighlightNodes.add(link.target);\n targetNode = link.target;\n }\n\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n\n if (\n graphRef.current &&\n sourceNode &&\n targetNode &&\n sourceNode.x &&\n targetNode.x &&\n sourceNode.y &&\n targetNode.y\n ) {\n const midX = (sourceNode.x + targetNode.x) / 2;\n const midY = (sourceNode.y + targetNode.y) / 2;\n\n if (graphType === \"2d\") {\n graphRef.current.centerAt(midX, midY, 1000);\n graphRef.current.zoom(8, 1000);\n } else {\n graphRef.current.cameraPosition(\n { x: midX, y: midY, z: 300 }, // new position\n { x: midX, y: midY, z: 0 }, // lookAt\n 3000 // ms transition duration\n );\n }\n }\n\n // Simulate mouse hover on the focused link\n setTimeout(() => {\n handleLinkHover(link);\n }, 1000); // Adjust delay as needed\n\n setRightDrawerOpen(false);\n };\n\n const handleNodeClick = (node: CustomNode) => {\n setSelectedRelationship(null);\n setSelectedNode(node);\n setLinkedNodes(node.neighbors || []);\n setLinkedRelationships(node.links || []);\n setBottomDrawerOpen(true);\n };\n\n const handleLinkClick = (link: CustomLink) => {\n setSelectedNode(null);\n setSelectedRelationship(link);\n const linkSource =\n typeof link.source === \"object\"\n ? (link.source as CustomNode).id\n : link.source;\n const linkTarget =\n typeof link.target === \"object\"\n ? (link.target as CustomNode).id\n : link.target;\n const sourceNode = data.nodes.find((node) => node.id === linkSource);\n const targetNode = data.nodes.find((node) => node.id === linkTarget);\n if (sourceNode && targetNode) {\n const linkedNodes = [sourceNode, targetNode];\n setLinkedNodes(linkedNodes);\n const linkedRelationships = [link];\n setLinkedRelationships(linkedRelationships);\n setBottomDrawerOpen(true);\n }\n };\n\n const getBackgroundColor = () =>\n theme.palette.mode === \"dark\" ? \"#000000\" : \"#FFFFFF\";\n\n const getLinkColor = (link: CustomLink) =>\n theme.palette.mode === \"dark\" ? \"gray\" : \"lightgray\";\n\n const get3DLinkColor = (link: CustomLink) =>\n theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n\n const getlinkDirectionalParticleColor = (link: CustomLink) =>\n theme.palette.mode === \"dark\" ? \"lightgray\" : \"gray\";\n\n const renderNodeLabel = (node: CustomNode, ctx: CanvasRenderingContext2D) => {\n if (!showLabels) return; // Only render the label if showLabels is true\n\n const label = node.name || \"\";\n const fontSize = 4;\n const padding = 2;\n ctx.font = `${fontSize}px Sans-Serif`;\n\n // Set the styles based on the theme mode\n const backgroundColor =\n theme.palette.mode === \"dark\"\n ? \"rgba(0, 0, 0, 0.6)\"\n : \"rgba(255, 255, 255, 0.6)\";\n\n // Calculate label dimensions\n const textWidth = ctx.measureText(label).width;\n const boxWidth = textWidth + padding * 2;\n const boxHeight = fontSize + padding * 2;\n\n if (node.x && node.y) {\n // Draw the background rectangle with rounded corners\n ctx.fillStyle = backgroundColor;\n ctx.beginPath();\n ctx.moveTo(node.x - boxWidth / 2 + 5, node.y - boxHeight / 2);\n ctx.lineTo(node.x + boxWidth / 2 - 5, node.y - boxHeight / 2);\n ctx.quadraticCurveTo(\n node.x + boxWidth / 2,\n node.y - boxHeight / 2,\n node.x + boxWidth / 2,\n node.y - boxHeight / 2 + 5\n );\n ctx.lineTo(node.x + boxWidth / 2, node.y + boxHeight / 2 - 5);\n ctx.quadraticCurveTo(\n node.x + boxWidth / 2,\n node.y + boxHeight / 2,\n node.x + boxWidth / 2 - 5,\n node.y + boxHeight / 2\n );\n ctx.lineTo(node.x - boxWidth / 2 + 5, node.y + boxHeight / 2);\n ctx.quadraticCurveTo(\n node.x - boxWidth / 2,\n node.y + boxHeight / 2,\n node.x - boxWidth / 2,\n node.y + boxHeight / 2 - 5\n );\n ctx.lineTo(node.x - boxWidth / 2, node.y - boxHeight / 2 + 5);\n ctx.quadraticCurveTo(\n node.x - boxWidth / 2,\n node.y - boxHeight / 2,\n node.x - boxWidth / 2 + 5,\n node.y - boxHeight / 2\n );\n ctx.closePath();\n ctx.fill();\n\n // Draw the text in the center of the node\n // ctx.fillStyle = textColor;\n ctx.fillStyle = node.color;\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n ctx.fillText(label, node.x, node.y);\n }\n };\n\n const nodeThreeObject = (node: CustomNode) => {\n if (!showLabels) {\n return new THREE.Object3D();\n }\n\n try {\n const nodeEl = document.createElement(\"div\");\n nodeEl.textContent = node.name || node.id; // Use either name or id for the label\n nodeEl.style.color = node.color;\n nodeEl.style.padding = \"2px 4px\";\n nodeEl.style.borderRadius = \"4px\";\n nodeEl.style.fontSize = \"10px\";\n nodeEl.className = \"node-label\";\n\n return new CSS2DObject(nodeEl);\n } catch (error) {\n console.error(\"Error creating 3D object:\", error);\n return new THREE.Object3D(); // Fallback in case of error\n }\n };\n\n const localSearchEnabled = hasCovariates\n ? includeTextUnits && includeCommunities && includeCovariates\n : includeTextUnits && includeCommunities;\n\n const clearSearchResults = () => {\n setGraphData(initialGraphData.current);\n setApiSearchResults(null);\n };\n\n return (\n \n \n \n }\n >\n {t('graphViewer.searchNodesLinks')}\n\n \n {/* \n }\n label=\"3D View\"\n /> */}\n {/* setShowLabels(!showLabels)}\n />\n }\n label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n label=\"Show Relationship Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n label=\"Show Highlight\"\n /> */}\n \n \n {isFullscreen ? : }\n \n \n \n\n \n \n }\n label=\"3D View\"\n />\n setShowLabels(!showLabels)}\n />\n }\n label=\"Show Node Labels\"\n />\n setShowLinkLabels(!showLinkLabels)}\n />\n }\n label=\"Show Link Labels\"\n />\n setShowHighlight(!showHighlight)}\n />\n }\n label=\"Show Highlight\"\n />\n \n\n \n onIncludeDocumentsChange(!includeDocuments)}\n disabled={!hasDocuments || apiSearchResults !== null}\n />\n }\n label=\"Include Documents\"\n />\n onIncludeTextUnitsChange(!includeTextUnits)}\n onChange={() => {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n } else if (includeTextUnits && !includeCovariates) {\n onIncludeTextUnitsChange(false);\n } else {\n onIncludeTextUnitsChange(false);\n onIncludeCovariatesChange(false); // Uncheck Covariates when Text Units is unchecked\n }\n }}\n disabled={!hasTextUnits || apiSearchResults !== null}\n />\n }\n label=\"Include Text Units\"\n />\n onIncludeCommunitiesChange(!includeCommunities)}\n disabled={!hasCommunities || apiSearchResults !== null}\n />\n }\n label=\"Include Communities\"\n />\n\n {\n if (!includeCovariates) {\n if (!includeTextUnits) {\n onIncludeTextUnitsChange(true);\n }\n onIncludeCovariatesChange(true);\n } else {\n onIncludeCovariatesChange(false);\n }\n }}\n disabled={!hasCovariates || apiSearchResults !== null}\n />\n }\n label=\"Include Covariates\"\n />\n \n \n\n \n\n \n\n \n\n {graphType === \"2d\" ? (\n \n showHighlight && highlightLinks.has(link) ? 5 : 1\n }\n linkDirectionalParticles={showHighlight ? 4 : 0}\n linkDirectionalParticleWidth={(link) =>\n showHighlight && highlightLinks.has(link) ? 4 : 0\n }\n linkDirectionalParticleColor={\n showHighlight ? getlinkDirectionalParticleColor : undefined\n }\n nodeCanvasObjectMode={(node) =>\n showHighlight && highlightNodes.has(node)\n ? \"before\"\n : showLabels\n ? \"after\"\n : undefined\n }\n nodeCanvasObject={(node, ctx) => {\n if (showHighlight && highlightNodes.has(node)) {\n paintRing(node as CustomNode, ctx);\n }\n if (showLabels) {\n renderNodeLabel(node as CustomNode, ctx);\n }\n }}\n linkCanvasObjectMode={() => (showLinkLabels ? \"after\" : undefined)}\n linkCanvasObject={(link, ctx) => {\n if (showLinkLabels) {\n const label = link.type || \"\";\n const fontSize = 4;\n ctx.font = `${fontSize}px Sans-Serif`;\n ctx.fillStyle =\n theme.palette.mode === \"dark\" ? \"lightgray\" : \"darkgray\";\n const source =\n typeof link.source !== \"string\"\n ? (link.source as CustomNode)\n : null;\n const target =\n typeof link.target !== \"string\"\n ? (link.target as CustomNode)\n : null;\n\n if (\n source &&\n target &&\n source.x !== undefined &&\n target.x !== undefined &&\n source.y !== undefined &&\n target.y !== undefined\n ) {\n const textWidth = ctx.measureText(label).width;\n const posX = (source.x + target.x) / 2 - textWidth / 2;\n const posY = (source.y + target.y) / 2;\n ctx.fillText(label, posX, posY);\n }\n }\n }}\n onNodeHover={showHighlight ? handleNodeHover : undefined}\n onLinkHover={showHighlight ? handleLinkHover : undefined}\n onNodeClick={handleNodeClick}\n onLinkClick={handleLinkClick}\n backgroundColor={getBackgroundColor()}\n linkColor={getLinkColor}\n />\n ) : (\n \n showHighlight && highlightLinks.has(link) ? 5 : 1\n }\n linkDirectionalParticles={showHighlight ? 4 : 0}\n linkDirectionalParticleWidth={(link) =>\n showHighlight && highlightLinks.has(link) ? 4 : 0\n }\n nodeThreeObject={nodeThreeObject}\n nodeThreeObjectExtend={true}\n onNodeHover={showHighlight ? handleNodeHover : undefined}\n onLinkHover={showHighlight ? handleLinkHover : undefined}\n onNodeClick={handleNodeClick}\n onLinkClick={handleLinkClick}\n backgroundColor={getBackgroundColor()}\n linkColor={get3DLinkColor}\n linkThreeObjectExtend={true}\n linkThreeObject={(link) => {\n if (!showLinkLabels) new THREE.Object3D();\n const sprite = new SpriteText(`${link.type}`);\n sprite.color = \"lightgrey\";\n sprite.textHeight = 1.5;\n return sprite;\n }}\n linkPositionUpdate={(sprite, { start, end }) => {\n if (!showLinkLabels) return;\n\n const middlePos = [\"x\", \"y\", \"z\"].reduce((acc, c) => {\n acc[c as keyof Coords] =\n start[c as keyof Coords] +\n (end[c as keyof Coords] - start[c as keyof Coords]) / 2;\n return acc;\n }, {} as Coords);\n\n // Position sprite\n Object.assign(sprite.position, middlePos);\n }}\n />\n )}\n \n Nodes: {nodeCount}\n Relationships: {linkCount}\n }\n >\n Ask Query (Local/Global Search)\n \n }\n color=\"warning\"\n disabled={apiSearchResults === null}\n >\n Clear Query Results\n \n \n \n );\n};\n\nexport default GraphViewer;\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/components/Introduction.tsx.json b/.lh/src/app/components/Introduction.tsx.json deleted file mode 100644 index ad2047a..0000000 --- a/.lh/src/app/components/Introduction.tsx.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "sourceFile": "src/app/components/Introduction.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 4, - "patches": [ - { - "date": 1727240848616, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727240871311, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,1 +1,235 @@\n-export default translation\n+import React from \"react\";\n+import {\n+ Typography,\n+ Box,\n+ Link,\n+ Paper,\n+ Table,\n+ TableBody,\n+ TableCell,\n+ TableContainer,\n+ TableHead,\n+ TableRow,\n+ Chip,\n+} from \"@mui/material\";\n+import { useTranslation } from 'react-i18next';\n+\n+const Introduction: React.FC = () => {\n+ const { t } = useTranslation(); // 不使用命名空间\n+\n+ return (\n+ \n+ \n+ {t('introduction.welcome')}\n+ \n+\n+ \n+ {t('introduction.overview')}\n+ \n+ \n+ {t('introduction.overviewDescription')}{\" \"}\n+ \n+ GraphRAG\n+ {\" \"}\n+ {t('introduction.overviewDescription2')}\n+ \n+\n+ \n+\n+ \n+ {t('introduction.features')}\n+ \n+
    \n+
  • \n+ \n+ {t('introduction.feature1Title')} {t('introduction.feature1Description')}\n+ \n+
  • \n+
  • \n+ \n+ {t('introduction.feature2Title')} {t('introduction.feature2Description')}\n+ \n+
  • \n+
  • \n+ \n+ {t('introduction.feature3Title')} {t('introduction.feature3Description')}\n+ \n+
  • \n+
  • \n+ \n+ {t('introduction.feature4Title')} {t('introduction.feature4Description')}\n+ \n+
  • \n+
\n+\n+ \n+ {t('introduction.usingSearchFunctionality')}\n+ \n+ \n+ {t('introduction.searchDescription1')}{\" \"}\n+ \n+ graphrag-api\n+ {\" \"}\n+ {t('introduction.searchDescription2')}\n+ \n+\n+ \n+\n+ \n+ {t('introduction.graphDataModel')}\n+ \n+ \n+ {t('introduction.graphDataModelDescription')}{\" \"}\n+ \n+ {t('introduction.graphDataModelLinkText')}\n+ \n+ .\n+ \n+\n+ \n+ {t('introduction.nodes')}\n+ \n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.node')}\n+ \n+ \n+ {t('introduction.type')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.document')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.community')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.finding')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.covariate')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ {t('introduction.varies')}\n+ \n+ \n+ \n+
\n+
\n+\n+ \n+ {t('introduction.relationships')}\n+ \n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.sourceNode')}\n+ \n+ \n+ {t('introduction.relationship')}\n+ \n+ \n+ {t('introduction.targetNode')}\n+ \n+ \n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ {t('introduction.document')}\n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ {t('introduction.textUnit')}\n+ \n+ \n+ \n+ {t('introduction.covariate')}\n+ \n+ \n+ {t('introduction.community')}\n+ \n+ \n+ \n+ {t('introduction.finding')}\n+ \n+ \n+ {t('introduction.entity')}\n+ \n+ \n+ \n+ {t('introduction.community')}\n+ \n+ \n+
\n+
\n+
\n+ );\n+};\n+\n+export default Introduction;\n" - }, - { - "date": 1727240890277, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n } from \"@mui/material\";\n import { useTranslation } from 'react-i18next';\n \n const Introduction: React.FC = () => {\n- const { t } = useTranslation(); // 不使用命名空间\n+ const { t } = useTranslation('introduction'); // 不使用命名空间\n \n return (\n \n \n" - }, - { - "date": 1727240948335, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,212 +19,212 @@\n \n return (\n \n \n- {t('introduction.welcome')}\n+ {t('welcome')}\n \n \n \n- {t('introduction.overview')}\n+ {t('overview')}\n \n \n- {t('introduction.overviewDescription')}{\" \"}\n+ {t('overviewDescription')}{\" \"}\n \n GraphRAG\n {\" \"}\n- {t('introduction.overviewDescription2')}\n+ {t('overviewDescription2')}\n \n \n \n \n \n- {t('introduction.features')}\n+ {t('features')}\n \n
    \n
  • \n \n- {t('introduction.feature1Title')} {t('introduction.feature1Description')}\n+ {t('feature1Title')} {t('feature1Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature2Title')} {t('introduction.feature2Description')}\n+ {t('feature2Title')} {t('feature2Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature3Title')} {t('introduction.feature3Description')}\n+ {t('feature3Title')} {t('feature3Description')}\n \n
  • \n
  • \n \n- {t('introduction.feature4Title')} {t('introduction.feature4Description')}\n+ {t('feature4Title')} {t('feature4Description')}\n \n
  • \n
\n \n \n- {t('introduction.usingSearchFunctionality')}\n+ {t('usingSearchFunctionality')}\n \n \n- {t('introduction.searchDescription1')}{\" \"}\n+ {t('searchDescription1')}{\" \"}\n \n graphrag-api\n {\" \"}\n- {t('introduction.searchDescription2')}\n+ {t('searchDescription2')}\n \n \n \n \n \n- {t('introduction.graphDataModel')}\n+ {t('graphDataModel')}\n \n \n- {t('introduction.graphDataModelDescription')}{\" \"}\n+ {t('graphDataModelDescription')}{\" \"}\n \n- {t('introduction.graphDataModelLinkText')}\n+ {t('graphDataModelLinkText')}\n \n .\n \n \n \n- {t('introduction.nodes')}\n+ {t('nodes')}\n \n \n \n \n \n \n- {t('introduction.node')}\n+ {t('node')}\n \n \n- {t('introduction.type')}\n+ {t('type')}\n \n \n \n \n \n- {t('introduction.document')}\n+ {t('document')}\n \n \n \n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n \n \n \n- {t('introduction.finding')}\n+ {t('finding')}\n \n \n \n \n \n- {t('introduction.covariate')}\n+ {t('covariate')}\n \n \n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n- {t('introduction.varies')}\n+ {t('varies')}\n \n \n \n
\n
\n \n \n- {t('introduction.relationships')}\n+ {t('relationships')}\n \n \n \n \n \n \n- {t('introduction.sourceNode')}\n+ {t('sourceNode')}\n \n \n- {t('introduction.relationship')}\n+ {t('relationship')}\n \n \n- {t('introduction.targetNode')}\n+ {t('targetNode')}\n \n \n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.document')}\n+ {t('document')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n- {t('introduction.textUnit')}\n+ {t('textUnit')}\n \n \n \n- {t('introduction.covariate')}\n+ {t('covariate')}\n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n \n- {t('introduction.finding')}\n+ {t('finding')}\n \n \n- {t('introduction.entity')}\n+ {t('entity')}\n \n \n \n- {t('introduction.community')}\n+ {t('community')}\n \n \n
\n
\n" - }, - { - "date": 1727251655044, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,9 +22,9 @@\n \n {t('welcome')}\n \n \n- \n+ \n {t('overview')}\n \n \n {t('overviewDescription')}{\" \"}\n" - } - ], - "date": 1727240848616, - "name": "Commit-0", - "content": "export default translation\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/app/layout/App.tsx.json b/.lh/src/app/layout/App.tsx.json deleted file mode 100644 index 8bf91e3..0000000 --- a/.lh/src/app/layout/App.tsx.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "sourceFile": "src/app/layout/App.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 18, - "patches": [ - { - "date": 1727234119027, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727234125484, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n/i18next-config'\n+import i18n from '@/i18n'\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n" - }, - { - "date": 1727234134980, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n'\n+import i18n from '@/i18n/'\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n" - }, - { - "date": 1727234173304, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,122 @@\n+import React, { useEffect, useState } from \"react\";\n+import ReactGA from \"react-ga4\";\n+\n+import GraphDataHandler from \"../components/GraphDataHandler\";\n+import {\n+ CssBaseline,\n+ Container,\n+ Box,\n+ createTheme,\n+ darkScrollbar,\n+ ThemeProvider,\n+ IconButton,\n+ Tooltip,\n+ Link,\n+} from \"@mui/material\";\n+import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n+import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n+import GitHubIcon from \"@mui/icons-material/GitHub\";\n+import i18n from '@/i18n'\n+\n+const App: React.FC = () => {\n+ const [darkMode, setDarkMode] = useState(true);\n+ const paletteType = darkMode ? \"dark\" : \"light\";\n+\n+ const theme = createTheme({\n+ palette: {\n+ mode: paletteType,\n+ },\n+ components: {\n+ MuiCssBaseline: {\n+ styleOverrides: {\n+ body: paletteType === \"dark\" ? darkScrollbar() : null,\n+ },\n+ },\n+ MuiPopover: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ MuiModal: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ },\n+ });\n+\n+ function handleThemeChange() {\n+ setDarkMode(!darkMode);\n+ localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n+ }\n+\n+ useEffect(() => {\n+ const currentTheme = localStorage.getItem(\"theme\");\n+ setDarkMode(currentTheme === \"dark\");\n+ }, []);\n+\n+ useEffect(() => {\n+ const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n+ if (measurementId) {\n+ ReactGA.initialize(measurementId);\n+ ReactGA.send({\n+ hitType: \"pageview\",\n+ page: window.location.pathname + window.location.search,\n+ });\n+ } else {\n+ console.error(\"Google Analytics measurement ID not found\");\n+ }\n+ }, []);\n+\n+ return (\n+ \n+ \n+ \n+\n+ \n+ \n+ \n+
\n+ {darkMode ? (\n+ \n+ \n+ \n+ \n+ \n+ ) : (\n+ \n+ \n+ \n+ \n+ \n+ )}\n+ \n+ \n+ \n+ \n+ );\n+};\n+\n+export default App;\n" - }, - { - "date": 1727234284054, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,8 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n'\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n@@ -119,126 +118,4 @@\n );\n };\n \n export default App;\n-import React, { useEffect, useState } from \"react\";\n-import ReactGA from \"react-ga4\";\n-\n-import GraphDataHandler from \"../components/GraphDataHandler\";\n-import {\n- CssBaseline,\n- Container,\n- Box,\n- createTheme,\n- darkScrollbar,\n- ThemeProvider,\n- IconButton,\n- Tooltip,\n- Link,\n-} from \"@mui/material\";\n-import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n-import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n-import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n/'\n-\n-const App: React.FC = () => {\n- const [darkMode, setDarkMode] = useState(true);\n- const paletteType = darkMode ? \"dark\" : \"light\";\n-\n- const theme = createTheme({\n- palette: {\n- mode: paletteType,\n- },\n- components: {\n- MuiCssBaseline: {\n- styleOverrides: {\n- body: paletteType === \"dark\" ? darkScrollbar() : null,\n- },\n- },\n- MuiPopover: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- MuiModal: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- },\n- });\n-\n- function handleThemeChange() {\n- setDarkMode(!darkMode);\n- localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n- }\n-\n- useEffect(() => {\n- const currentTheme = localStorage.getItem(\"theme\");\n- setDarkMode(currentTheme === \"dark\");\n- }, []);\n-\n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- ReactGA.send({\n- hitType: \"pageview\",\n- page: window.location.pathname + window.location.search,\n- });\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n- return (\n- \n- \n- \n-\n- \n- \n- \n- \n- {darkMode ? (\n- \n- \n- \n- \n- \n- ) : (\n- \n- \n- \n- \n- \n- )}\n- \n- \n- \n- \n- );\n-};\n-\n-export default App;\n" - }, - { - "date": 1727234815948, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,8 +15,10 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n+import i18n from '@/i18n'\n+import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n" - }, - { - "date": 1727234827095, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,8 +19,9 @@\n import i18n from '@/i18n'\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n+ const { t } = useTranslation();\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n \n const theme = createTheme({\n" - }, - { - "date": 1727234856115, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -101,9 +101,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" - }, - { - "date": 1727234861644, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -101,9 +101,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" - }, - { - "date": 1727234877721, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n \n \n ) : (\n- \n+ \n \n \n \n \n" - }, - { - "date": 1727234983081, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -101,9 +101,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" - }, - { - "date": 1727234990587, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -107,9 +107,9 @@\n \n \n \n ) : (\n- \n+ \n \n \n \n \n" - }, - { - "date": 1727236488032, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,5 @@\n import React, { useEffect, useState } from \"react\";\n-import ReactGA from \"react-ga4\";\n \n import GraphDataHandler from \"../components/GraphDataHandler\";\n import {\n CssBaseline,\n" - }, - { - "date": 1727236501905, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -59,21 +59,8 @@\n const currentTheme = localStorage.getItem(\"theme\");\n setDarkMode(currentTheme === \"dark\");\n }, []);\n \n- useEffect(() => {\n- const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n- if (measurementId) {\n- ReactGA.initialize(measurementId);\n- ReactGA.send({\n- hitType: \"pageview\",\n- page: window.location.pathname + window.location.search,\n- });\n- } else {\n- console.error(\"Google Analytics measurement ID not found\");\n- }\n- }, []);\n-\n return (\n \n \n \n" - }, - { - "date": 1727238733625, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import i18n from '@/i18n'\n+import '@/i18n'\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n const { t } = useTranslation();\n" - }, - { - "date": 1727238874343, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n } from \"@mui/material\";\n import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import '@/i18n'\n+import '@/'\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n const { t } = useTranslation();\n" - }, - { - "date": 1727239370308, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,109 @@\n+import React, { useEffect, useState } from \"react\";\n+\n+import GraphDataHandler from \"../components/GraphDataHandler\";\n+import {\n+ CssBaseline,\n+ Container,\n+ Box,\n+ createTheme,\n+ darkScrollbar,\n+ ThemeProvider,\n+ IconButton,\n+ Tooltip,\n+ Link,\n+} from \"@mui/material\";\n+import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n+import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n+import GitHubIcon from \"@mui/icons-material/GitHub\";\n+import { useTranslation } from 'react-i18next';\n+\n+const App: React.FC = () => {\n+ const { t } = useTranslation();\n+ const [darkMode, setDarkMode] = useState(true);\n+ const paletteType = darkMode ? \"dark\" : \"light\";\n+\n+ const theme = createTheme({\n+ palette: {\n+ mode: paletteType,\n+ },\n+ components: {\n+ MuiCssBaseline: {\n+ styleOverrides: {\n+ body: paletteType === \"dark\" ? darkScrollbar() : null,\n+ },\n+ },\n+ MuiPopover: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ MuiModal: {\n+ styleOverrides: {\n+ root: {\n+ zIndex: 1600,\n+ },\n+ },\n+ },\n+ },\n+ });\n+\n+ function handleThemeChange() {\n+ setDarkMode(!darkMode);\n+ localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n+ }\n+\n+ useEffect(() => {\n+ const currentTheme = localStorage.getItem(\"theme\");\n+ setDarkMode(currentTheme === \"dark\");\n+ }, []);\n+\n+ return (\n+ \n+ \n+ \n+\n+ \n+ \n+ \n+ \n+ {darkMode ? (\n+ \n+ \n+ \n+ \n+ \n+ ) : (\n+ \n+ \n+ \n+ \n+ \n+ )}\n+ \n+ \n+ \n+ \n+ );\n+};\n+\n+export default App;\n" - }, - { - "date": 1727239745819, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n import GitHubIcon from \"@mui/icons-material/GitHub\";\n import { useTranslation } from 'react-i18next';\n \n const App: React.FC = () => {\n- const { t } = useTranslation();\n+ const { t } = useTranslation('layout');\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n \n const theme = createTheme({\n@@ -106,114 +106,4 @@\n );\n };\n \n export default App;\n-import React, { useEffect, useState } from \"react\";\n-\n-import GraphDataHandler from \"../components/GraphDataHandler\";\n-import {\n- CssBaseline,\n- Container,\n- Box,\n- createTheme,\n- darkScrollbar,\n- ThemeProvider,\n- IconButton,\n- Tooltip,\n- Link,\n-} from \"@mui/material\";\n-import LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\n-import DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\n-import GitHubIcon from \"@mui/icons-material/GitHub\";\n-import '@/'\n-import { useTranslation } from 'react-i18next';\n-\n-const App: React.FC = () => {\n- const { t } = useTranslation();\n- const [darkMode, setDarkMode] = useState(true);\n- const paletteType = darkMode ? \"dark\" : \"light\";\n-\n- const theme = createTheme({\n- palette: {\n- mode: paletteType,\n- },\n- components: {\n- MuiCssBaseline: {\n- styleOverrides: {\n- body: paletteType === \"dark\" ? darkScrollbar() : null,\n- },\n- },\n- MuiPopover: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- MuiModal: {\n- styleOverrides: {\n- root: {\n- zIndex: 1600,\n- },\n- },\n- },\n- },\n- });\n-\n- function handleThemeChange() {\n- setDarkMode(!darkMode);\n- localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n- }\n-\n- useEffect(() => {\n- const currentTheme = localStorage.getItem(\"theme\");\n- setDarkMode(currentTheme === \"dark\");\n- }, []);\n-\n- return (\n- \n- \n- \n-\n- \n- \n- \n- \n- {darkMode ? (\n- \n- \n- \n- \n- \n- ) : (\n- \n- \n- \n- \n- \n- )}\n- \n- \n- \n- \n- );\n-};\n-\n-export default App;\n" - }, - { - "date": 1727239760530, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -86,9 +86,9 @@\n >\n \n \n {darkMode ? (\n- \n+ \n \n \n \n \n" - } - ], - "date": 1727234119027, - "name": "Commit-0", - "content": "import React, { useEffect, useState } from \"react\";\nimport ReactGA from \"react-ga4\";\n\nimport GraphDataHandler from \"../components/GraphDataHandler\";\nimport {\n CssBaseline,\n Container,\n Box,\n createTheme,\n darkScrollbar,\n ThemeProvider,\n IconButton,\n Tooltip,\n Link,\n} from \"@mui/material\";\nimport LightModeOutlinedIcon from \"@mui/icons-material/LightModeOutlined\";\nimport DarkModeOutlinedIcon from \"@mui/icons-material/DarkModeOutlined\";\nimport GitHubIcon from \"@mui/icons-material/GitHub\";\nimport i18n from '@/i18n/i18next-config'\n\nconst App: React.FC = () => {\n const [darkMode, setDarkMode] = useState(true);\n const paletteType = darkMode ? \"dark\" : \"light\";\n\n const theme = createTheme({\n palette: {\n mode: paletteType,\n },\n components: {\n MuiCssBaseline: {\n styleOverrides: {\n body: paletteType === \"dark\" ? darkScrollbar() : null,\n },\n },\n MuiPopover: {\n styleOverrides: {\n root: {\n zIndex: 1600,\n },\n },\n },\n MuiModal: {\n styleOverrides: {\n root: {\n zIndex: 1600,\n },\n },\n },\n },\n });\n\n function handleThemeChange() {\n setDarkMode(!darkMode);\n localStorage.setItem(\"theme\", darkMode ? \"light\" : \"dark\");\n }\n\n useEffect(() => {\n const currentTheme = localStorage.getItem(\"theme\");\n setDarkMode(currentTheme === \"dark\");\n }, []);\n\n useEffect(() => {\n const measurementId = process.env.REACT_APP_GA_MEASUREMENT_ID;\n if (measurementId) {\n ReactGA.initialize(measurementId);\n ReactGA.send({\n hitType: \"pageview\",\n page: window.location.pathname + window.location.search,\n });\n } else {\n console.error(\"Google Analytics measurement ID not found\");\n }\n }, []);\n\n return (\n \n \n \n\n \n \n \n \n {darkMode ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n \n \n \n );\n};\n\nexport default App;\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/common.ts.json b/.lh/src/i18n/en-US/common.ts.json deleted file mode 100644 index 025059f..0000000 --- a/.lh/src/i18n/en-US/common.ts.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "sourceFile": "src/i18n/en-US/common.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 0, - "patches": [ - { - "date": 1727233832432, - "content": "Index: \n===================================================================\n--- \n+++ \n" - } - ], - "date": 1727233832432, - "name": "Commit-0", - "content": "const translation = {\n api: {\n success: 'Success',\n actionSuccess: 'Action succeeded',\n saved: 'Saved',\n create: 'Created',\n remove: 'Removed',\n },\n operation: {\n create: 'Create',\n confirm: 'Confirm',\n cancel: 'Cancel',\n clear: 'Clear',\n save: 'Save',\n saveAndEnable: 'Save & Enable',\n edit: 'Edit',\n add: 'Add',\n added: 'Added',\n refresh: 'Restart',\n reset: 'Reset',\n search: 'Search',\n change: 'Change',\n remove: 'Remove',\n send: 'Send',\n copy: 'Copy',\n lineBreak: 'Line break',\n sure: 'I\\'m sure',\n download: 'Download',\n delete: 'Delete',\n settings: 'Settings',\n setup: 'Setup',\n getForFree: 'Get for free',\n reload: 'Reload',\n ok: 'OK',\n log: 'Log',\n learnMore: 'Learn More',\n params: 'Params',\n duplicate: 'Duplicate',\n rename: 'Rename',\n },\n errorMsg: {\n fieldRequired: '{{field}} is required',\n urlError: 'url should start with http:// or https://',\n },\n placeholder: {\n input: 'Please enter',\n select: 'Please select',\n }}\n\nexport default translation\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/dataview.ts.json b/.lh/src/i18n/en-US/dataview.ts.json deleted file mode 100644 index 16d5984..0000000 --- a/.lh/src/i18n/en-US/dataview.ts.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "sourceFile": "src/i18n/en-US/dataview.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 7, - "patches": [ - { - "date": 1727249858356, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727249875310, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,5 @@\n-const dataViewer = {\n+const translation = {dataViewer = {\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n" - }, - { - "date": 1727249883926, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-const translation = {dataViewer = {\n+const translation = {\n+ dataViewer = {\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n@@ -15,6 +16,6 @@\n \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n };\n \n- export default dataViewer;\n+ export default translation;\n \n\\ No newline at end of file\n" - }, - { - "date": 1727249892396, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- dataViewer = {\n+ dataViewer:{\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n" - }, - { - "date": 1727249897599, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,8 +14,9 @@\n \"dataViewer.textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n \"dataViewer.communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n- };\n+ }\n+}\n \n export default translation;\n \n\\ No newline at end of file\n" - }, - { - "date": 1727249915568, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,21 +1,21 @@\n const translation = {\n dataViewer:{\n- \"dataViewer.entities\": \"Entities\",\n- \"dataViewer.relationships\": \"Relationships\",\n- \"dataViewer.documents\": \"Documents\",\n- \"dataViewer.textUnits\": \"TextUnits\",\n- \"dataViewer.communities\": \"Communities\",\n- \"dataViewer.communityReports\": \"Community Reports\",\n- \"dataViewer.covariates\": \"Covariates\",\n+ \"entities\": \"Entities\",\n+ \"relationships\": \"Relationships\",\n+ \"documents\": \"Documents\",\n+ \"textUnits\": \"TextUnits\",\n+ \"communities\": \"Communities\",\n+ \"communityReports\": \"Community Reports\",\n+ \"covariates\": \"Covariates\",\n \n- \"dataViewer.entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n- \"dataViewer.relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n- \"dataViewer.documentsTitle\": \"Documents (create_final_documents.parquet)\",\n- \"dataViewer.textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n- \"dataViewer.communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n- \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n- \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n+ \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n+ \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n+ \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n+ \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n+ \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n+ \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n+ \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n }\n }\n \n export default translation;\n" - }, - { - "date": 1727249920666, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -6,9 +6,8 @@\n \"textUnits\": \"TextUnits\",\n \"communities\": \"Communities\",\n \"communityReports\": \"Community Reports\",\n \"covariates\": \"Covariates\",\n- \n \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n" - }, - { - "date": 1727249927583, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,21 +1,21 @@\n const translation = {\n dataViewer:{\n- \"entities\": \"Entities\",\n- \"relationships\": \"Relationships\",\n- \"documents\": \"Documents\",\n- \"textUnits\": \"TextUnits\",\n- \"communities\": \"Communities\",\n- \"communityReports\": \"Community Reports\",\n- \"covariates\": \"Covariates\",\n- \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n- \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n- \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n- \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n- \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n- \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n- \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n- }\n+ \"entities\": \"Entities\",\n+ \"relationships\": \"Relationships\",\n+ \"documents\": \"Documents\",\n+ \"textUnits\": \"TextUnits\",\n+ \"communities\": \"Communities\",\n+ \"communityReports\": \"Community Reports\",\n+ \"covariates\": \"Covariates\",\n+ \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n+ \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n+ \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n+ \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n+ \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n+ \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n+ \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n+ }\n }\n \n export default translation;\n \n\\ No newline at end of file\n" - } - ], - "date": 1727249858356, - "name": "Commit-0", - "content": "const dataViewer = {\n \"dataViewer.entities\": \"Entities\",\n \"dataViewer.relationships\": \"Relationships\",\n \"dataViewer.documents\": \"Documents\",\n \"dataViewer.textUnits\": \"TextUnits\",\n \"dataViewer.communities\": \"Communities\",\n \"dataViewer.communityReports\": \"Community Reports\",\n \"dataViewer.covariates\": \"Covariates\",\n \n \"dataViewer.entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n \"dataViewer.relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n \"dataViewer.documentsTitle\": \"Documents (create_final_documents.parquet)\",\n \"dataViewer.textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n \"dataViewer.communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n \"dataViewer.communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"dataViewer.covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n };\n \n export default dataViewer;\n " - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/dintal.ts.json b/.lh/src/i18n/en-US/dintal.ts.json deleted file mode 100644 index 85508b0..0000000 --- a/.lh/src/i18n/en-US/dintal.ts.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "sourceFile": "src/i18n/en-US/dintal.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 1, - "patches": [ - { - "date": 1727233800474, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727233807715, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,12 +1,7 @@\n const translation = {\n-\n- common: {\n- employee: 'Digtal Employee',\n- career: 'Digtal Career',\n- knowledgegraph: 'Knowledge Graph',\n- },\n- nodes: {\n- },\n+ employee: 'Digtal Employee',\n+ career: 'Digtal Career',\n+ knowledgegraph: 'Knowledge Graph',\n }\n \n export default translation\n" - } - ], - "date": 1727233800474, - "name": "Commit-0", - "content": "const translation = {\n\n common: {\n employee: 'Digtal Employee',\n career: 'Digtal Career',\n knowledgegraph: 'Knowledge Graph',\n },\n nodes: {\n },\n}\n\nexport default translation\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/graphViewer.ts.json b/.lh/src/i18n/en-US/graphViewer.ts.json deleted file mode 100644 index c1af936..0000000 --- a/.lh/src/i18n/en-US/graphViewer.ts.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "sourceFile": "src/i18n/en-US/graphViewer.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 13, - "patches": [ - { - "date": 1727241119244, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727244064549, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,7 +15,24 @@\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n };\n+ const apiSearchDrawer = {\n+ \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n+ \"apiSearchDrawer.localSearch\": \"Local Search\",\n+ \"apiSearchDrawer.globalSearch\": \"Global Search\",\n+ \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n+ \"apiSearchDrawer.enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"apiSearchDrawer.enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"apiSearchDrawer.searchResults\": \"Search Results\",\n+ \"apiSearchDrawer.metadata\": \"Metadata\",\n+ \"apiSearchDrawer.completionTime\": \"Completion Time:\",\n+ \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n+ \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n+ \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n+ };\n \n+ export default apiSearchDrawer;\n+ \n export default graphViewer;\n \n\\ No newline at end of file\n" - }, - { - "date": 1727244082744, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-const graphViewer = {\n+const translation = {\n+ const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n" - }, - { - "date": 1727244089988, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- const graphViewer = {\n+ graphViewer : {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n" - }, - { - "date": 1727244096379, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- graphViewer : {\n+ graphViewer: {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n@@ -16,9 +16,9 @@\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n };\n- const apiSearchDrawer = {\n+ apiSearchDrawer = {\n \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n \"apiSearchDrawer.localSearch\": \"Local Search\",\n \"apiSearchDrawer.globalSearch\": \"Global Search\",\n \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n" - }, - { - "date": 1727244102497, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,10 +15,10 @@\n \"graphViewer.fullScreen\": \"Full Screen\",\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n- };\n- apiSearchDrawer = {\n+ },\n+ apiSearchDrawer: {\n \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n \"apiSearchDrawer.localSearch\": \"Local Search\",\n \"apiSearchDrawer.globalSearch\": \"Global Search\",\n \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n" - }, - { - "date": 1727244112195, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,8 +32,8 @@\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n };\n \n- export default apiSearchDrawer;\n+ export default translation;\n \n export default graphViewer;\n \n\\ No newline at end of file\n" - }, - { - "date": 1727244118107, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,8 +32,5 @@\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n };\n \n- export default translation;\n- \n- export default graphViewer;\n- \n\\ No newline at end of file\n+export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727244123407, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -30,7 +30,7 @@\n \"apiSearchDrawer.completionTime\": \"Completion Time:\",\n \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n- };\n+ },\n \n export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727244137776, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,21 +1,21 @@\n const translation = {\n graphViewer: {\n- \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n- \"graphViewer.view3D\": \"3D View\",\n- \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n- \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n- \"graphViewer.showHighlight\": \"Show Highlight\",\n- \"graphViewer.includeDocuments\": \"Include Documents\",\n- \"graphViewer.includeTextUnits\": \"Include Text Units\",\n- \"graphViewer.includeCommunities\": \"Include Communities\",\n- \"graphViewer.includeCovariates\": \"Include Covariates\",\n- \"graphViewer.askQuery\": \"Ask Query (Local/Global Search)\",\n- \"graphViewer.clearQueryResults\": \"Clear Query Results\",\n- \"graphViewer.exitFullScreen\": \"Exit Full Screen\",\n- \"graphViewer.fullScreen\": \"Full Screen\",\n- \"graphViewer.nodes\": \"Nodes\",\n- \"graphViewer.relationships\": \"Relationships\",\n+ \"searchNodesLinks\": \"Search Nodes/Links\",\n+ \"view3D\": \"3D View\",\n+ \"showNodeLabels\": \"Show Node Labels\",\n+ \"showLinkLabels\": \"Show Link Labels\",\n+ \"showHighlight\": \"Show Highlight\",\n+ \"includeDocuments\": \"Include Documents\",\n+ \"includeTextUnits\": \"Include Text Units\",\n+ \"includeCommunities\": \"Include Communities\",\n+ \"includeCovariates\": \"Include Covariates\",\n+ \"askQuery\": \"Ask Query (Local/Global Search)\",\n+ \"clearQueryResults\": \"Clear Query Results\",\n+ \"exitFullScreen\": \"Exit Full Screen\",\n+ \"fullScreen\": \"Full Screen\",\n+ \"nodes\": \"Nodes\",\n+ \"relationships\": \"Relationships\",\n // 添加其他需要的键值对\n },\n apiSearchDrawer: {\n \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n@@ -31,6 +31,7 @@\n \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n },\n+}\n \n export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727244145052, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,21 +17,21 @@\n \"relationships\": \"Relationships\",\n // 添加其他需要的键值对\n },\n apiSearchDrawer: {\n- \"apiSearchDrawer.placeholder\": \"Enter search query for API\",\n- \"apiSearchDrawer.localSearch\": \"Local Search\",\n- \"apiSearchDrawer.globalSearch\": \"Global Search\",\n- \"apiSearchDrawer.serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n- \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n- \"apiSearchDrawer.enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n- \"apiSearchDrawer.enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n- \"apiSearchDrawer.searchResults\": \"Search Results\",\n- \"apiSearchDrawer.metadata\": \"Metadata\",\n- \"apiSearchDrawer.completionTime\": \"Completion Time:\",\n- \"apiSearchDrawer.llmCalls\": \"LLM Calls:\",\n- \"apiSearchDrawer.promptTokens\": \"Prompt Tokens:\",\n- \"apiSearchDrawer.noDataAvailable\": \"No data available\",\n+ \"placeholder\": \"Enter search query for API\",\n+ \"localSearch\": \"Local Search\",\n+ \"globalSearch\": \"Global Search\",\n+ \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"searchResults\": \"Search Results\",\n+ \"metadata\": \"Metadata\",\n+ \"completionTime\": \"Completion Time:\",\n+ \"llmCalls\": \"LLM Calls:\",\n+ \"promptTokens\": \"Prompt Tokens:\",\n+ \"noDataAvailable\": \"No data available\",\n },\n }\n \n export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727250820289, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,62 @@\n+const translation = {\n+ graphViewer: {\n+ \"searchNodesLinks\": \"Search Nodes/Links\",\n+ \"view3D\": \"3D View\",\n+ \"showNodeLabels\": \"Show Node Labels\",\n+ \"showLinkLabels\": \"Show Link Labels\",\n+ \"showHighlight\": \"Show Highlight\",\n+ \"includeDocuments\": \"Include Documents\",\n+ \"includeTextUnits\": \"Include Text Units\",\n+ \"includeCommunities\": \"Include Communities\",\n+ \"includeCovariates\": \"Include Covariates\",\n+ \"askQuery\": \"Ask Query (Local/Global Search)\",\n+ \"clearQueryResults\": \"Clear Query Results\",\n+ \"exitFullScreen\": \"Exit Full Screen\",\n+ \"fullScreen\": \"Full Screen\",\n+ \"nodes\": \"Nodes\",\n+ \"relationships\": \"Relationships\",\n+ // 添加其他需要的键值对\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"Enter search query for API\",\n+ \"localSearch\": \"Local Search\",\n+ \"globalSearch\": \"Global Search\",\n+ \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"searchResults\": \"Search Results\",\n+ \"metadata\": \"Metadata\",\n+ \"completionTime\": \"Completion Time:\",\n+ \"llmCalls\": \"LLM Calls:\",\n+ \"promptTokens\": \"Prompt Tokens:\",\n+ \"noDataAvailable\": \"No data available\",\n+ },\n+ detailDrawer = {\n+ \"detailDrawer.nodeDetails\": \"Node Details: {{name}}\",\n+ \"detailDrawer.relationshipDetails\":\n+ \"(:{{sourceType}} {name: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {name: '{{targetName}}'})\",\n+ \"detailDrawer.nodeInformation\": \"Node Information\",\n+ \"detailDrawer.relationshipInformation\": \"Relationship Information\",\n+ \"detailDrawer.id\": \"ID\",\n+ \"detailDrawer.name\": \"Name\",\n+ \"detailDrawer.covariateType\": \"Covariate Type\",\n+ \"detailDrawer.type\": \"Type\",\n+ \"detailDrawer.title\": \"Title\",\n+ \"detailDrawer.summary\": \"Summary\",\n+ \"detailDrawer.numberOfTokens\": \"Number of Tokens\",\n+ \"detailDrawer.description\": \"Description\",\n+ \"detailDrawer.humanReadableId\": \"Human Readable ID\",\n+ \"detailDrawer.rawContent\": \"Raw Content\",\n+ \"detailDrawer.source\": \"Source\",\n+ \"detailDrawer.target\": \"Target\",\n+ \"detailDrawer.weight\": \"Weight\",\n+ \"detailDrawer.sourceDegree\": \"Source Degree\",\n+ \"detailDrawer.targetDegree\": \"Target Degree\",\n+ \"detailDrawer.rank\": \"Rank\",\n+ \"detailDrawer.linkedNodes\": \"Linked Nodes\",\n+ \"detailDrawer.linkedRelationships\": \"Linked Relationships\",\n+ }\n+}\n+ \n+export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727250826044, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -31,9 +31,9 @@\n \"llmCalls\": \"LLM Calls:\",\n \"promptTokens\": \"Prompt Tokens:\",\n \"noDataAvailable\": \"No data available\",\n },\n- detailDrawer = {\n+ detailDrawer: {\n \"detailDrawer.nodeDetails\": \"Node Details: {{name}}\",\n \"detailDrawer.relationshipDetails\":\n \"(:{{sourceType}} {name: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {name: '{{targetName}}'})\",\n \"detailDrawer.nodeInformation\": \"Node Information\",\n@@ -58,42 +58,5 @@\n \"detailDrawer.linkedRelationships\": \"Linked Relationships\",\n }\n }\n \n-export default translation;\n-const translation = {\n- graphViewer: {\n- \"searchNodesLinks\": \"Search Nodes/Links\",\n- \"view3D\": \"3D View\",\n- \"showNodeLabels\": \"Show Node Labels\",\n- \"showLinkLabels\": \"Show Link Labels\",\n- \"showHighlight\": \"Show Highlight\",\n- \"includeDocuments\": \"Include Documents\",\n- \"includeTextUnits\": \"Include Text Units\",\n- \"includeCommunities\": \"Include Communities\",\n- \"includeCovariates\": \"Include Covariates\",\n- \"askQuery\": \"Ask Query (Local/Global Search)\",\n- \"clearQueryResults\": \"Clear Query Results\",\n- \"exitFullScreen\": \"Exit Full Screen\",\n- \"fullScreen\": \"Full Screen\",\n- \"nodes\": \"Nodes\",\n- \"relationships\": \"Relationships\",\n- // 添加其他需要的键值对\n- },\n- apiSearchDrawer: {\n- \"placeholder\": \"Enter search query for API\",\n- \"localSearch\": \"Local Search\",\n- \"globalSearch\": \"Global Search\",\n- \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n- \"graphragApi\": \"graphrag-api\",\n- \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n- \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n- \"searchResults\": \"Search Results\",\n- \"metadata\": \"Metadata\",\n- \"completionTime\": \"Completion Time:\",\n- \"llmCalls\": \"LLM Calls:\",\n- \"promptTokens\": \"Prompt Tokens:\",\n- \"noDataAvailable\": \"No data available\",\n- },\n-}\n- \n export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727250835245, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,31 +32,31 @@\n \"promptTokens\": \"Prompt Tokens:\",\n \"noDataAvailable\": \"No data available\",\n },\n detailDrawer: {\n- \"detailDrawer.nodeDetails\": \"Node Details: {{name}}\",\n- \"detailDrawer.relationshipDetails\":\n+ \"nodeDetails\": \"Node Details: {{name}}\",\n+ \"relationshipDetails\":\n \"(:{{sourceType}} {name: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {name: '{{targetName}}'})\",\n- \"detailDrawer.nodeInformation\": \"Node Information\",\n- \"detailDrawer.relationshipInformation\": \"Relationship Information\",\n- \"detailDrawer.id\": \"ID\",\n- \"detailDrawer.name\": \"Name\",\n- \"detailDrawer.covariateType\": \"Covariate Type\",\n- \"detailDrawer.type\": \"Type\",\n- \"detailDrawer.title\": \"Title\",\n- \"detailDrawer.summary\": \"Summary\",\n- \"detailDrawer.numberOfTokens\": \"Number of Tokens\",\n- \"detailDrawer.description\": \"Description\",\n- \"detailDrawer.humanReadableId\": \"Human Readable ID\",\n- \"detailDrawer.rawContent\": \"Raw Content\",\n- \"detailDrawer.source\": \"Source\",\n- \"detailDrawer.target\": \"Target\",\n- \"detailDrawer.weight\": \"Weight\",\n- \"detailDrawer.sourceDegree\": \"Source Degree\",\n- \"detailDrawer.targetDegree\": \"Target Degree\",\n- \"detailDrawer.rank\": \"Rank\",\n- \"detailDrawer.linkedNodes\": \"Linked Nodes\",\n- \"detailDrawer.linkedRelationships\": \"Linked Relationships\",\n+ \"nodeInformation\": \"Node Information\",\n+ \"relationshipInformation\": \"Relationship Information\",\n+ \"id\": \"ID\",\n+ \"name\": \"Name\",\n+ \"covariateType\": \"Covariate Type\",\n+ \"type\": \"Type\",\n+ \"title\": \"Title\",\n+ \"summary\": \"Summary\",\n+ \"numberOfTokens\": \"Number of Tokens\",\n+ \"description\": \"Description\",\n+ \"humanReadableId\": \"Human Readable ID\",\n+ \"rawContent\": \"Raw Content\",\n+ \"source\": \"Source\",\n+ \"target\": \"Target\",\n+ \"weight\": \"Weight\",\n+ \"sourceDegree\": \"Source Degree\",\n+ \"targetDegree\": \"Target Degree\",\n+ \"rank\": \"Rank\",\n+ \"linkedNodes\": \"Linked Nodes\",\n+ \"linkedRelationships\": \"Linked Relationships\",\n }\n }\n \n export default translation;\n\\ No newline at end of file\n" - } - ], - "date": 1727241119244, - "name": "Commit-0", - "content": "const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"Search Nodes/Links\",\n \"graphViewer.view3D\": \"3D View\",\n \"graphViewer.showNodeLabels\": \"Show Node Labels\",\n \"graphViewer.showLinkLabels\": \"Show Link Labels\",\n \"graphViewer.showHighlight\": \"Show Highlight\",\n \"graphViewer.includeDocuments\": \"Include Documents\",\n \"graphViewer.includeTextUnits\": \"Include Text Units\",\n \"graphViewer.includeCommunities\": \"Include Communities\",\n \"graphViewer.includeCovariates\": \"Include Covariates\",\n \"graphViewer.askQuery\": \"Ask Query (Local/Global Search)\",\n \"graphViewer.clearQueryResults\": \"Clear Query Results\",\n \"graphViewer.exitFullScreen\": \"Exit Full Screen\",\n \"graphViewer.fullScreen\": \"Full Screen\",\n \"graphViewer.nodes\": \"Nodes\",\n \"graphViewer.relationships\": \"Relationships\",\n // 添加其他需要的键值对\n };\n \n export default graphViewer;\n " - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/introduction.ts.json b/.lh/src/i18n/en-US/introduction.ts.json deleted file mode 100644 index 72f2df2..0000000 --- a/.lh/src/i18n/en-US/introduction.ts.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "sourceFile": "src/i18n/en-US/introduction.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 4, - "patches": [ - { - "date": 1727240666686, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727240695827, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-{\n+const translation = {\n+ {\n \"introduction.welcome\": \"Welcome to the GraphRAG Visualizer\",\n \"introduction.overview\": \"Overview\",\n \"introduction.overviewDescription\": \"This application visualizes Microsoft\",\n \"introduction.overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n" - }, - { - "date": 1727240734604, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,38 @@\n+const translation = {\n+ \"welcome\": \"Welcome to the GraphRAG Visualizer\",\n+ \"overview\": \"Overview\",\n+ \"overviewDescription\": \"This application visualizes Microsoft\",\n+ \"overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n+ \"demoImageAlt\": \"Demo\",\n+ \"features\": \"Features\",\n+ \"feature1Title\": \"Graph Visualization:\",\n+ \"feature1Description\": \"View the graph in 2D or 3D in the \\\"Graph Visualization\\\" tab.\",\n+ \"feature2Title\": \"Data Tables:\",\n+ \"feature2Description\": \"Display data from the parquet files in the \\\"Data Tables\\\" tab.\",\n+ \"feature3Title\": \"Search Functionality:\",\n+ \"feature3Description\": \"Fully supports search, allowing users to focus on specific nodes or relationships.\",\n+ \"feature4Title\": \"Local Processing:\",\n+ \"feature4Description\": \"Your artifacts are processed locally on your machine. They are not uploaded anywhere, ensuring your data remains secure and private.\",\n+ \"usingSearchFunctionality\": \"Using the Search Functionality\",\n+ \"searchDescription1\": \"Once the\",\n+ \"searchDescription2\": \"server is up and running, you can perform searches directly through the GraphRAG Visualizer. This allows you to easily search and explore data that is hosted on your local server.\",\n+ \"searchImageAlt\": \"Search\",\n+ \"graphDataModel\": \"Graph Data Model\",\n+ \"graphDataModelDescription\": \"The logic for creating relationships for text units, documents, communities, and covariates is derived from the\",\n+ \"graphDataModelLinkText\": \"GraphRAG import Neo4j Cypher notebook\",\n+ \"nodes\": \"Nodes\",\n+ \"node\": \"Node\",\n+ \"type\": \"Type\",\n+ \"document\": \"Document\",\n+ \"textUnit\": \"Text Unit\",\n+ \"community\": \"Community\",\n+ \"finding\": \"Finding\",\n+ \"covariate\": \"Covariate\",\n+ \"entity\": \"Entity\",\n+ \"varies\": \"Varies\",\n+ \"relationships\": \"Relationships\",\n+ \"sourceNode\": \"Source Node\",\n+ \"relationship\": \"Relationship\",\n+ \"targetNode\": \"Target Node\"\n+ }\n+ \n\\ No newline at end of file\n" - }, - { - "date": 1727240801343, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,44 +34,6 @@\n \"sourceNode\": \"Source Node\",\n \"relationship\": \"Relationship\",\n \"targetNode\": \"Target Node\"\n }\n- \n-const translation = {\n- {\n- \"introduction.welcome\": \"Welcome to the GraphRAG Visualizer\",\n- \"introduction.overview\": \"Overview\",\n- \"introduction.overviewDescription\": \"This application visualizes Microsoft\",\n- \"introduction.overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n- \"introduction.demoImageAlt\": \"Demo\",\n- \"introduction.features\": \"Features\",\n- \"introduction.feature1Title\": \"Graph Visualization:\",\n- \"introduction.feature1Description\": \"View the graph in 2D or 3D in the \\\"Graph Visualization\\\" tab.\",\n- \"introduction.feature2Title\": \"Data Tables:\",\n- \"introduction.feature2Description\": \"Display data from the parquet files in the \\\"Data Tables\\\" tab.\",\n- \"introduction.feature3Title\": \"Search Functionality:\",\n- \"introduction.feature3Description\": \"Fully supports search, allowing users to focus on specific nodes or relationships.\",\n- \"introduction.feature4Title\": \"Local Processing:\",\n- \"introduction.feature4Description\": \"Your artifacts are processed locally on your machine. They are not uploaded anywhere, ensuring your data remains secure and private.\",\n- \"introduction.usingSearchFunctionality\": \"Using the Search Functionality\",\n- \"introduction.searchDescription1\": \"Once the\",\n- \"introduction.searchDescription2\": \"server is up and running, you can perform searches directly through the GraphRAG Visualizer. This allows you to easily search and explore data that is hosted on your local server.\",\n- \"introduction.searchImageAlt\": \"Search\",\n- \"introduction.graphDataModel\": \"Graph Data Model\",\n- \"introduction.graphDataModelDescription\": \"The logic for creating relationships for text units, documents, communities, and covariates is derived from the\",\n- \"introduction.graphDataModelLinkText\": \"GraphRAG import Neo4j Cypher notebook\",\n- \"introduction.nodes\": \"Nodes\",\n- \"introduction.node\": \"Node\",\n- \"introduction.type\": \"Type\",\n- \"introduction.document\": \"Document\",\n- \"introduction.textUnit\": \"Text Unit\",\n- \"introduction.community\": \"Community\",\n- \"introduction.finding\": \"Finding\",\n- \"introduction.covariate\": \"Covariate\",\n- \"introduction.entity\": \"Entity\",\n- \"introduction.varies\": \"Varies\",\n- \"introduction.relationships\": \"Relationships\",\n- \"introduction.sourceNode\": \"Source Node\",\n- \"introduction.relationship\": \"Relationship\",\n- \"introduction.targetNode\": \"Target Node\"\n- }\n- \n\\ No newline at end of file\n+\n+export default translation\n" - }, - { - "date": 1727240806892, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -33,7 +33,7 @@\n \"relationships\": \"Relationships\",\n \"sourceNode\": \"Source Node\",\n \"relationship\": \"Relationship\",\n \"targetNode\": \"Target Node\"\n- }\n+}\n \n export default translation\n" - } - ], - "date": 1727240666686, - "name": "Commit-0", - "content": "{\n \"introduction.welcome\": \"Welcome to the GraphRAG Visualizer\",\n \"introduction.overview\": \"Overview\",\n \"introduction.overviewDescription\": \"This application visualizes Microsoft\",\n \"introduction.overviewDescription2\": \"artifacts. Simply upload the parquet files to visualize the data without needing additional software like Gephi, Neo4j, or Jupyter Notebook.\",\n \"introduction.demoImageAlt\": \"Demo\",\n \"introduction.features\": \"Features\",\n \"introduction.feature1Title\": \"Graph Visualization:\",\n \"introduction.feature1Description\": \"View the graph in 2D or 3D in the \\\"Graph Visualization\\\" tab.\",\n \"introduction.feature2Title\": \"Data Tables:\",\n \"introduction.feature2Description\": \"Display data from the parquet files in the \\\"Data Tables\\\" tab.\",\n \"introduction.feature3Title\": \"Search Functionality:\",\n \"introduction.feature3Description\": \"Fully supports search, allowing users to focus on specific nodes or relationships.\",\n \"introduction.feature4Title\": \"Local Processing:\",\n \"introduction.feature4Description\": \"Your artifacts are processed locally on your machine. They are not uploaded anywhere, ensuring your data remains secure and private.\",\n \"introduction.usingSearchFunctionality\": \"Using the Search Functionality\",\n \"introduction.searchDescription1\": \"Once the\",\n \"introduction.searchDescription2\": \"server is up and running, you can perform searches directly through the GraphRAG Visualizer. This allows you to easily search and explore data that is hosted on your local server.\",\n \"introduction.searchImageAlt\": \"Search\",\n \"introduction.graphDataModel\": \"Graph Data Model\",\n \"introduction.graphDataModelDescription\": \"The logic for creating relationships for text units, documents, communities, and covariates is derived from the\",\n \"introduction.graphDataModelLinkText\": \"GraphRAG import Neo4j Cypher notebook\",\n \"introduction.nodes\": \"Nodes\",\n \"introduction.node\": \"Node\",\n \"introduction.type\": \"Type\",\n \"introduction.document\": \"Document\",\n \"introduction.textUnit\": \"Text Unit\",\n \"introduction.community\": \"Community\",\n \"introduction.finding\": \"Finding\",\n \"introduction.covariate\": \"Covariate\",\n \"introduction.entity\": \"Entity\",\n \"introduction.varies\": \"Varies\",\n \"introduction.relationships\": \"Relationships\",\n \"introduction.sourceNode\": \"Source Node\",\n \"introduction.relationship\": \"Relationship\",\n \"introduction.targetNode\": \"Target Node\"\n }\n " - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/en-US/layout.ts.json b/.lh/src/i18n/en-US/layout.ts.json deleted file mode 100644 index a3c58ce..0000000 --- a/.lh/src/i18n/en-US/layout.ts.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "sourceFile": "src/i18n/en-US/layout.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 3, - "patches": [ - { - "date": 1727233782374, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727234958714, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,10 @@\n const translation = {\n tabs: {\n },\n+ tooltip: {\n+ \"turnOnLight\": \"Turn on the light\",\n+ \"turnOffLight\": \"Turn off the light\"\n+ }\n }\n \n export default translation\n" - }, - { - "date": 1727235239376, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,10 @@\n const translation = {\n tabs: {\n- },\n+ \"uploadArtifacts\": \"Upload Artifacts\",\n+ \"graphVisualization\": \"Graph Visualization\",\n+ \"dataTables\": \"Data Tables\"\n+ },\n tooltip: {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n" - }, - { - "date": 1727240107505, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,18 @@\n+const translation = {\n+ tabs: {\n+ \"uploadArtifacts\": \"Upload Artifacts\",\n+ \"graphVisualization\": \"Graph Visualization\",\n+ \"dataTables\": \"Data Tables\"\n+ },\n+ tooltip: {\n+ \"turnOnLight\": \"Turn on the light\",\n+ \"turnOffLight\": \"Turn off the light\"\n+ }\n+ \"dropZone\": {\n+ \"dropFilesHere\": \"Drop the files here...\",\n+ \"dragAndDrop\": \"Drag 'n' drop parquet files here, or click to select files\"\n+ }\n+ \n+ }\n+\n+export default translation\n" - } - ], - "date": 1727233782374, - "name": "Commit-0", - "content": "const translation = {\n tabs: {\n },\n }\n\nexport default translation\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/i18next-config.ts.json b/.lh/src/i18n/i18next-config.ts.json deleted file mode 100644 index 0cae88a..0000000 --- a/.lh/src/i18n/i18next-config.ts.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "sourceFile": "src/i18n/i18next-config.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 20, - "patches": [ - { - "date": 1727232407469, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727232496858, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -37,15 +37,8 @@\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n-// Automatically generate the resources object\n-const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n- // 获取项目名称\n- const project = getProject()\n- acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n- return acc\n-}, {})\n \n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n" - }, - { - "date": 1727232515032, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -13,10 +13,8 @@\n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n- login: require(`./${lang}/login`).default,\n- register: require(`./${lang}/register`).default,\n app: require(`./${lang}/${project}app`).default,\n appOverview: require(`./${lang}/app-overview`).default,\n appDebug: require(`./${lang}/app-debug`).default,\n appApi: require(`./${lang}/app-api`).default,\n@@ -37,8 +35,15 @@\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n+// Automatically generate the resources object\n+const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n+ // 获取项目名称\n+ const project = getProject()\n+ acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n+ return acc\n+}, {})\n \n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n" - }, - { - "date": 1727232520868, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,25 +14,8 @@\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n app: require(`./${lang}/${project}app`).default,\n- appOverview: require(`./${lang}/app-overview`).default,\n- appDebug: require(`./${lang}/app-debug`).default,\n- appApi: require(`./${lang}/app-api`).default,\n- appLog: require(`./${lang}/app-log`).default,\n- appAnnotation: require(`./${lang}/app-annotation`).default,\n- share: require(`./${lang}/share-app`).default,\n- dataset: require(`./${lang}/dataset`).default,\n- datasetDocuments: require(`./${lang}/dataset-documents`).default,\n- datasetHitTesting: require(`./${lang}/dataset-hit-testing`).default,\n- datasetSettings: require(`./${lang}/dataset-settings`).default,\n- datasetCreation: require(`./${lang}/dataset-creation`).default,\n- explore: require(`./${lang}/explore`).default,\n- billing: require(`./${lang}/billing`).default,\n- custom: require(`./${lang}/custom`).default,\n- tools: require(`./${lang}/tools`).default,\n- workflow: require(`./${lang}/workflow`).default,\n- runLog: require(`./${lang}/run-log`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n" - }, - { - "date": 1727232528670, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,16 +1,8 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n-import { LanguagesSupported } from '@/i18n/language'\n-\n-\n-// 获取 project 名称(只需处理客户端逻辑)\n-const getProject = () => {\n- return Cookies.get('project') || 'default'\n-}\n-\n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n" - }, - { - "date": 1727232571945, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n+\n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n@@ -13,9 +14,8 @@\n \n // Automatically generate the resources object\n const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- const project = getProject()\n acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n return acc\n }, {})\n \n" - }, - { - "date": 1727232603840, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,7 +24,5 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n-\n-export const changeLanguage = i18n.changeLanguage\n export default i18n\n" - }, - { - "date": 1727232739645, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,8 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n+import data from './languages.json'\n \n \n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n@@ -24,5 +25,6 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n+\n export default i18n\n" - }, - { - "date": 1727232748759, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,11 @@\n 'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n+\n import data from './languages.json'\n \n+export const languages = data.languages\n \n const loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n" - }, - { - "date": 1727232816850, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,9 +15,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n+const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n return acc\n }, {})\n" - }, - { - "date": 1727232838622, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n+ acc[lang] = loadLangResources(lang,`)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" - }, - { - "date": 1727232846738, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -5,9 +5,9 @@\n import data from './languages.json'\n \n export const languages = data.languages\n \n-const loadLangResources = (lang: string, project: string) => ({\n+const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n app: require(`./${lang}/${project}app`).default,\n@@ -17,9 +17,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang,`)\n+ acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" - }, - { - "date": 1727232854721, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -9,9 +9,8 @@\n const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n- app: require(`./${lang}/${project}app`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n })\n \n" - }, - { - "date": 1727232927238, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, lang: string) => {\n+const resources = languages.reduce(: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" - }, - { - "date": 1727232933442, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce(: any, lang: string) => {\n+const resources = languages.reduce((: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" - }, - { - "date": 1727232949319, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((: any, lang: string) => {\n+const resources = languages.reduce((prompt_name: any, lang: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" - }, - { - "date": 1727232959973, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((prompt_name: any, lang: string) => {\n+const resources = languages.reduce((prompt_name: string, value: string) => {\n // 获取项目名称\n acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n" - }, - { - "date": 1727232976290, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,11 +14,11 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((prompt_name: string, value: string) => {\n+const resources = languages.reduce((value: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang)\n+ acc[value] = loadLangResources(value)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" - }, - { - "date": 1727233011428, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((value: string) => {\n+const resources = languages.reduce((prompt_name: string, value: string) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n" - }, - { - "date": 1727233017994, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,11 +14,11 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((prompt_name: string, value: string) => {\n+const resources = languages.reduce((acc: any, lang: string) => {\n // 获取项目名称\n- acc[value] = loadLangResources(value)\n+ acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" - }, - { - "date": 1727233030192, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,11 +14,11 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, lang: string) => {\n+const resources = languages.reduce((acc: any, value: string) => {\n // 获取项目名称\n- acc[lang] = loadLangResources(lang)\n+ acc[value] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" - } - ], - "date": 1727232407469, - "name": "Commit-0", - "content": "'use client'\nimport i18n from 'i18next'\nimport { initReactI18next } from 'react-i18next'\n\nimport { LanguagesSupported } from '@/i18n/language'\n\n\n// 获取 project 名称(只需处理客户端逻辑)\nconst getProject = () => {\n return Cookies.get('project') || 'default'\n}\n\nconst loadLangResources = (lang: string, project: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n login: require(`./${lang}/login`).default,\n register: require(`./${lang}/register`).default,\n app: require(`./${lang}/${project}app`).default,\n appOverview: require(`./${lang}/app-overview`).default,\n appDebug: require(`./${lang}/app-debug`).default,\n appApi: require(`./${lang}/app-api`).default,\n appLog: require(`./${lang}/app-log`).default,\n appAnnotation: require(`./${lang}/app-annotation`).default,\n share: require(`./${lang}/share-app`).default,\n dataset: require(`./${lang}/dataset`).default,\n datasetDocuments: require(`./${lang}/dataset-documents`).default,\n datasetHitTesting: require(`./${lang}/dataset-hit-testing`).default,\n datasetSettings: require(`./${lang}/dataset-settings`).default,\n datasetCreation: require(`./${lang}/dataset-creation`).default,\n explore: require(`./${lang}/explore`).default,\n billing: require(`./${lang}/billing`).default,\n custom: require(`./${lang}/custom`).default,\n tools: require(`./${lang}/tools`).default,\n workflow: require(`./${lang}/workflow`).default,\n runLog: require(`./${lang}/run-log`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n})\n\n// Automatically generate the resources object\nconst resources = LanguagesSupported.reduce((acc: any, lang: string) => {\n // 获取项目名称\n const project = getProject()\n acc[lang] = loadLangResources(lang, project === \"default\" ? '' : `${project}/`)\n return acc\n}, {})\n\ni18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n\nexport const changeLanguage = i18n.changeLanguage\nexport default i18n\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/index.ts.json b/.lh/src/i18n/index.ts.json deleted file mode 100644 index 9596965..0000000 --- a/.lh/src/i18n/index.ts.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "sourceFile": "src/i18n/index.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 31, - "patches": [ - { - "date": 1727233387390, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727233393264, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -4,15 +4,8 @@\n \n import data from './languages.json'\n \n export const languages = data.languages\n-interface Language {\n- value: string;\n- name: string;\n- prompt_name: string;\n- example: string;\n- supported: boolean;\n-}\n \n const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n" - }, - { - "date": 1727233407978, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -3,10 +3,18 @@\n import { initReactI18next } from 'react-i18next'\n \n import data from './languages.json'\n \n-export const languages = data.languages\n+interface Language {\n+ value: string;\n+ name: string;\n+ prompt_name: string;\n+ example: string;\n+ supported: boolean;\n+}\n \n+export const languages: Language[] = data.languages\n+\n const loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n" - }, - { - "date": 1727233428425, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,9 +22,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, value: string) => {\n+const resources = languages.reduce((acc: any, langObj: Language)) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n" - }, - { - "date": 1727233437257, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,9 +22,9 @@\n },\n })\n \n // Automatically generate the resources object\n-const resources = languages.reduce((acc: any, langObj: Language)) => {\n+const resources = languages.reduce((acc: any, langObj: Language) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n" - }, - { - "date": 1727233448712, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -23,9 +23,10 @@\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n- // 获取项目名称\n+ const lang = langObj.value;\n+\n acc[value] = loadLangResources(value)\n return acc\n }, {})\n \n" - }, - { - "date": 1727233455443, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,10 +24,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n const lang = langObj.value;\n-\n- acc[value] = loadLangResources(value)\n+ acc[lang] = loadLangResources(value)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" - }, - { - "date": 1727233660871, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -24,9 +24,9 @@\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n const lang = langObj.value;\n- acc[lang] = loadLangResources(value)\n+ acc[lang] = loadLangResources(lang)\n return acc\n }, {})\n \n i18n.use(initReactI18next)\n" - }, - { - "date": 1727235874565, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,8 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- resources,\n+ ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n+ defaultNS: 'common', // 设置默认命名空间 resources,\n })\n \n export default i18n\n" - }, - { - "date": 1727235935779, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -14,9 +14,8 @@\n \n export const languages: Language[] = data.languages\n \n const loadLangResources = (lang: string) => ({\n- translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n" - }, - { - "date": 1727236300970, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,39 @@\n+'use client'\n+import i18n from 'i18next'\n+import { initReactI18next } from 'react-i18next'\n+\n+import data from './languages.json'\n+\n+interface Language {\n+ value: string;\n+ name: string;\n+ prompt_name: string;\n+ example: string;\n+ supported: boolean;\n+}\n+\n+export const languages: Language[] = data.languages\n+\n+const loadLangResources = (lang: string) => ({\n+ common: require(`./${lang}/common`).default,\n+ layout: require(`./${lang}/layout`).default,\n+ dintal: require(`./${lang}/dintal`).default,\n+})\n+\n+// Automatically generate the resources object\n+const resources = languages.reduce((acc: any, langObj: Language) => {\n+ const lang = langObj.value;\n+ acc[lang] = loadLangResources(lang)\n+ return acc\n+}, {})\n+\n+i18n.use(initReactI18next)\n+ .init({\n+ lng: 'zh-Hans',\n+ fallbackLng: 'zh-Hans',\n+ ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n+ defaultNS: 'common', // 设置默认命名空间\n+ resources,\n+ })\n+\n+export default i18n\n" - }, - { - "date": 1727236319526, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,45 +34,6 @@\n ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n-\n+de\n export default i18n\n-'use client'\n-import i18n from 'i18next'\n-import { initReactI18next } from 'react-i18next'\n-\n-import data from './languages.json'\n-\n-interface Language {\n- value: string;\n- name: string;\n- prompt_name: string;\n- example: string;\n- supported: boolean;\n-}\n-\n-export const languages: Language[] = data.languages\n-\n-const loadLangResources = (lang: string) => ({\n- common: require(`./${lang}/common`).default,\n- layout: require(`./${lang}/layout`).default,\n- dintal: require(`./${lang}/dintal`).default,\n- },\n-})\n-\n-// Automatically generate the resources object\n-const resources = languages.reduce((acc: any, langObj: Language) => {\n- const lang = langObj.value;\n- acc[lang] = loadLangResources(lang)\n- return acc\n-}, {})\n-\n-i18n.use(initReactI18next)\n- .init({\n- lng: 'zh-Hans',\n- fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n- defaultNS: 'common', // 设置默认命名空间 resources,\n- })\n-\n-export default i18n\n" - }, - { - "date": 1727239096176, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,6 +34,6 @@\n ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n-de\n+\n export default i18n\n" - }, - { - "date": 1727239481216, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,4 @@\n-'use client'\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n import data from './languages.json'\n" - }, - { - "date": 1727240533727, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,8 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n+ ...require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727240542547, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- ...require(`./${lang}/introduction`).default,\n+ i...require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727240549598, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- i...require(`./${lang}/introduction`).default,\n+ 小怪物: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727240557303, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- 小怪物: require(`./${lang}/introduction`).default,\n+ intr: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727240578475, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,9 @@\n import i18n from 'i18next'\n import { initReactI18next } from 'react-i18next'\n \n import data from './languages.json'\n+import Introduction from '@/app/components/Introduction';\n \n interface Language {\n value: string;\n name: string;\n@@ -16,9 +17,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- intr: require(`./${lang}/introduction`).default,\n+ Introduction: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n@@ -30,9 +31,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'Introduction:'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n \n" - }, - { - "date": 1727240593599, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -31,9 +31,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'Introduction:'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n })\n \n" - }, - { - "date": 1727240601870, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n const loadLangResources = (lang: string) => ({\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n- Introduction: require(`./${lang}/introduction`).default,\n+ introduction: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727240648555, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -33,8 +33,11 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n- resources,\n+ resources,,\n+ interpolation: {\n+ escapeValue: false,\n+ },\n })\n \n export default i18n\n" - }, - { - "date": 1727241162457, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,8 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n+ \n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n@@ -33,9 +34,9 @@\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n- resources,,\n+ resources,\n interpolation: {\n escapeValue: false,\n },\n })\n" - }, - { - "date": 1727241168111, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n- \n+ graphViewer\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727241175340, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n- graphViewer\n+ graphViewer: require(`./${lang}/introduction`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727241182588, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n- graphViewer: require(`./${lang}/introduction`).default,\n+ graphViewer: require(`./${lang}/graphViewer`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727241190609, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,9 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'introduction'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n interpolation: {\n escapeValue: false,\n" - }, - { - "date": 1727249974174, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,9 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer'], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer, '], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n interpolation: {\n escapeValue: false,\n" - }, - { - "date": 1727249980372, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -32,9 +32,9 @@\n i18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n- ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer, '], // 指定命名空间列表\n+ ns: ['common', 'layout', 'dintal', 'introduction', 'graphViewer', 'dataview'], // 指定命名空间列表\n defaultNS: 'common', // 设置默认命名空间\n resources,\n interpolation: {\n escapeValue: false,\n" - }, - { - "date": 1727249988013, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,8 +19,9 @@\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n graphViewer: require(`./${lang}/graphViewer`).default,\n+ graphViewer: require(`./${lang}/graphViewer`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727249994207, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,9 +19,9 @@\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n graphViewer: require(`./${lang}/graphViewer`).default,\n- graphViewer: require(`./${lang}/graphViewer`).default,\n+ graphViewer: require(`./${lang}/dataViewer`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - }, - { - "date": 1727250002661, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,9 +19,9 @@\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n introduction: require(`./${lang}/introduction`).default,\n graphViewer: require(`./${lang}/graphViewer`).default,\n- graphViewer: require(`./${lang}/dataViewer`).default,\n+ dataview: require(`./${lang}/dataview`).default,\n })\n \n // Automatically generate the resources object\n const resources = languages.reduce((acc: any, langObj: Language) => {\n" - } - ], - "date": 1727233387390, - "name": "Commit-0", - "content": "'use client'\nimport i18n from 'i18next'\nimport { initReactI18next } from 'react-i18next'\n\nimport data from './languages.json'\n\nexport const languages = data.languages\ninterface Language {\n value: string;\n name: string;\n prompt_name: string;\n example: string;\n supported: boolean;\n}\n\nconst loadLangResources = (lang: string) => ({\n translation: {\n common: require(`./${lang}/common`).default,\n layout: require(`./${lang}/layout`).default,\n dintal: require(`./${lang}/dintal`).default,\n },\n})\n\n// Automatically generate the resources object\nconst resources = languages.reduce((acc: any, value: string) => {\n // 获取项目名称\n acc[value] = loadLangResources(value)\n return acc\n}, {})\n\ni18n.use(initReactI18next)\n .init({\n lng: 'zh-Hans',\n fallbackLng: 'zh-Hans',\n resources,\n })\n\nexport default i18n\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/languages.json.json b/.lh/src/i18n/languages.json.json deleted file mode 100644 index f53d864..0000000 --- a/.lh/src/i18n/languages.json.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "sourceFile": "src/i18n/languages.json", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 0, - "patches": [ - { - "date": 1727232677789, - "content": "Index: \n===================================================================\n--- \n+++ \n" - } - ], - "date": 1727232677789, - "name": "Commit-0", - "content": "{\n \"languages\": [\n {\n \"value\": \"en-US\",\n \"name\": \"English (United States)\",\n \"prompt_name\": \"English\",\n \"example\": \"Hello, DinTal!\",\n \"supported\": true\n },\n {\n \"value\": \"zh-Hans\",\n \"name\": \"简体中文\",\n \"prompt_name\": \"Chinese Simplified\",\n \"example\": \"你好,DinTal!\",\n \"supported\": true\n }\n ]\n}\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/common.ts.json b/.lh/src/i18n/zh-Hans/common.ts.json deleted file mode 100644 index 7647234..0000000 --- a/.lh/src/i18n/zh-Hans/common.ts.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "sourceFile": "src/i18n/zh-Hans/common.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 1, - "patches": [ - { - "date": 1727233739163, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727233761602, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -46,491 +46,7 @@\n input: '请输入',\n select: '请选择',\n },\n \n- model: {\n- params: {\n- temperature: '随机性 temperature',\n- temperatureTip:\n- '控制回复的随机性。\\n值越大,回复越随机。\\n值越小,回复越确定或一致。',\n- top_p: '核采样 top_p',\n- top_pTip:\n- '控制生成多样性。\\n值越大,输出会包括更多的单词选项。\\n值越小,模型会更集中在高概率的单词上,输出更确定但可能缺乏多样性。\\n核采样和随机性不建议同时修改。',\n- presence_penalty: '话题新鲜度 presence_penalty',\n- presence_penaltyTip:\n- '控制生成时对上文已存在的话题的偏好程度。\\n值越大,越可能使用到新的话题。',\n- frequency_penalty: '频率惩罚度 frequency_penalty',\n- frequency_penaltyTip:\n- '影响常见与罕见词汇使用。\\n值较大时,倾向于生成不常见的词汇和表达方式。\\n值越小,更倾向于使用常见和普遍接受的词汇或短语。',\n- max_tokens: '单次回复限制 max_tokens',\n- max_tokensTip:\n- '用于限制回复的最大长度,以 token 为单位。\\n较大的值可能会限制给提示词、聊天记录和知识库留出的空间。\\n建议将其设置在三分之二以下。\\ngpt-4-1106-preview、gpt-4-vision-preview 最大长度 (输入128k,输出4k)',\n- maxTokenSettingTip: '您设置的最大 tokens 数较大,可能会导致 prompt、用户问题、知识库内容没有 token 空间进行处理,建议设置到 2/3 以下。',\n- setToCurrentModelMaxTokenTip: '最大令牌数更新为当前模型最大的令牌数 {{maxToken}} 的 80%。',\n- stop_sequences: '停止序列 stop_sequences',\n- stop_sequencesTip: '最多四个序列,API 将停止生成更多的 token。返回的文本将不包含停止序列。',\n- stop_sequencesPlaceholder: '输入序列并按 Tab 键',\n- },\n- tone: {\n- Creative: '创意',\n- Balanced: '平衡',\n- Precise: '精确',\n- Custom: '自定义',\n- },\n- addMoreModel: '添加更多模型',\n- },\n- menus: {\n- status: 'V1.0',\n- explore: '场景广场',\n- apps: '工作室',\n- plugins: '插件',\n- pluginsTips: '集成第三方插件或创建与 ChatGPT 兼容的 AI 插件。',\n- datasets: '知识库',\n- datasetsTips: '即将到来: 上传自己的长文本数据,或通过 Webhook 集成自己的数据源',\n- newApp: '创建场景',\n- newDataset: '创建知识库',\n- tools: '工具',\n- },\n- userProfile: {\n- settings: '设置',\n- emailSupport: '邮件支持',\n- workspace: '工作空间',\n- createWorkspace: '创建工作空间',\n- helpCenter: '帮助文档',\n- roadmapAndFeedback: '用户反馈',\n- community: '社区',\n- about: '关于',\n- logout: '登出',\n- },\n- settings: {\n- accountGroup: '账户',\n- workplaceGroup: '工作空间',\n- account: '我的账户',\n- members: '成员',\n- billing: '账单',\n- integrations: '集成',\n- language: '语言',\n- provider: '模型供应商',\n- dataSource: '数据来源',\n- plugin: '插件',\n- apiBasedExtension: 'API 扩展',\n- },\n- account: {\n- avatar: '头像',\n- name: '用户名',\n- email: '邮箱',\n- password: '密码',\n- passwordTip: '如果您不想使用验证码登录,可以设置永久密码',\n- setPassword: '设置密码',\n- resetPassword: '重置密码',\n- currentPassword: '原密码',\n- newPassword: '新密码',\n- notEqual: '两个密码不相同',\n- confirmPassword: '确认密码',\n- langGeniusAccount: 'DinTal 账号',\n- langGeniusAccountTip: '您的 DinTal 账号和相关的用户数据。',\n- editName: '编辑名字',\n- showAppLength: '显示 {{length}} 个场景',\n- delete: '删除账户',\n- deleteTip: '删除账户后,所有数据将被永久删除且不可恢复。',\n- deleteConfirmTip: '请将以下内容通过您的账户邮箱发送到 ',\n- },\n- members: {\n- team: '团队',\n- invite: '添加',\n- name: '姓名',\n- lastActive: '上次活动时间',\n- role: '角色',\n- pending: '待定...',\n- owner: '所有者',\n- admin: '管理员',\n- adminTip: '能够建立场景程序和管理团队设置',\n- normal: '成员',\n- normalTip: '只能使用场景程序,不能建立场景程序',\n- editor: '编辑',\n- editorTip: '能够建立并编辑场景程序,不能管理团队设置',\n- datasetOperator: '知识库管理员',\n- datasetOperatorTip: '只能管理知识库',\n- inviteTeamMember: '添加团队成员',\n- inviteTeamMemberTip: '对方在登录后可以访问你的团队数据。',\n- email: '邮箱',\n- emailInvalid: '邮箱格式无效',\n- emailPlaceholder: '输入邮箱',\n- sendInvite: '发送邀请',\n- invitedAsRole: '邀请为{{role}}用户',\n- invitationSent: '邀请已发送',\n- invitationSentTip: '邀请已发送,对方登录 DinTal 后即可访问你的团队数据。',\n- invitationLink: '邀请链接',\n- failedinvitationEmails: '邀请以下邮箱失败',\n- ok: '好的',\n- removeFromTeam: '移除团队',\n- removeFromTeamTip: '将取消团队访问',\n- setAdmin: '设为管理员',\n- setMember: '设为普通成员',\n- setEditor: '设为编辑',\n- disinvite: '取消邀请',\n- deleteMember: '删除成员',\n- you: '(你)',\n- },\n- integrations: {\n- connected: '登录方式',\n- google: 'Google',\n- googleAccount: 'Google 账号登录',\n- github: 'GitHub',\n- githubAccount: 'GitHub 账号登录',\n- connect: '绑定',\n- },\n- language: {\n- displayLanguage: '界面语言',\n- timezone: '时区',\n- },\n- provider: {\n- apiKey: 'API 密钥',\n- enterYourKey: '输入你的 API 密钥',\n- invalidKey: '无效的 OpenAI API 密钥',\n- validatedError: '校验失败:',\n- validating: '验证密钥中...',\n- saveFailed: 'API 密钥保存失败',\n- apiKeyExceedBill: '此 API KEY 已没有可用配额,请阅读',\n- addKey: '添加 密钥',\n- comingSoon: '即将推出',\n- editKey: '编辑',\n- invalidApiKey: '无效的 API 密钥',\n- azure: {\n- apiBase: 'API Base',\n- apiBasePlaceholder: '输入您的 Azure OpenAI API Base 地址',\n- apiKey: 'API Key',\n- apiKeyPlaceholder: '输入你的 API 密钥',\n- helpTip: '了解 Azure OpenAI Service',\n- },\n- openaiHosted: {\n- openaiHosted: '托管 OpenAI',\n- onTrial: '体验',\n- exhausted: '超出限额',\n- desc: '托管 OpenAI 由 DinTal 提供的托管 OpenAI 服务,你可以使用 GPT-3.5 等模型,在体验额度消耗完毕前你需要设置其它模型供应商。',\n- callTimes: '调用次数',\n- usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n- useYourModel: '当前正在使用你自己的模型供应商。',\n- close: '关闭',\n- },\n- anthropicHosted: {\n- anthropicHosted: 'Anthropic Claude',\n- onTrial: '体验',\n- exhausted: '超出限额',\n- desc: '功能强大的模型,擅长执行从复杂对话和创意内容生成到详细指导的各种任务。',\n- callTimes: '调用次数',\n- usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n- useYourModel: '当前正在使用你自己的模型供应商。',\n- close: '关闭',\n- },\n- anthropic: {\n- using: '嵌入能力正在使用',\n- enableTip: '要启用 Anthropic 模型,您需要先绑定 OpenAI 或 Azure OpenAI 服务。',\n- notEnabled: '未启用',\n- keyFrom: '从 Anthropic 获取您的 API 密钥',\n- },\n- encrypted: {\n- front: '密钥将使用 ',\n- back: ' 技术进行加密和存储。',\n- },\n- },\n- modelProvider: {\n- notConfigured: '系统模型尚未完全配置,部分功能可能无法使用。',\n- systemModelSettings: '系统模型设置',\n- systemModelSettingsLink: '为什么需要设置系统模型?',\n- selectModel: '选择您的模型',\n- setupModelFirst: '请先设置您的模型',\n- systemReasoningModel: {\n- key: '系统推理模型',\n- tip: '设置创建场景使用的默认推理模型,以及对话名称生成、下一步问题建议等功能也会使用该默认推理模型。',\n- },\n- embeddingModel: {\n- key: 'Embedding 模型',\n- tip: '设置知识库文档嵌入处理的默认模型,检索和导入知识库均使用该Embedding模型进行向量化处理,切换后将导致已导入的知识库与问题之间的向量维度不一致,从而导致检索失败。为避免检索失败,请勿随意切换该模型。',\n- required: '请选择 Embedding 模型',\n- },\n- speechToTextModel: {\n- key: '语音转文本模型',\n- tip: '设置对话中语音转文字输入的默认使用模型。',\n- },\n- ttsModel: {\n- key: '文本转语音模型',\n- tip: '设置对话中文字转语音输出的默认使用模型。',\n- },\n- rerankModel: {\n- key: 'Rerank 模型',\n- tip: '重排序模型将根据候选文档列表与用户问题语义匹配度进行重新排序,从而改进语义排序的结果',\n- },\n- quota: '额度',\n- searchModel: '搜索模型',\n- noModelFound: '找不到模型 {{model}}',\n- models: '模型列表',\n- showMoreModelProvider: '显示更多模型提供商',\n- selector: {\n- tip: '该模型已被删除。请添模型或选择其他模型。',\n- emptyTip: '无可用模型',\n- emptySetting: '请前往设置进行配置',\n- rerankTip: '请设置 Rerank 模型',\n- },\n- card: {\n- quota: '额度',\n- onTrial: '试用中',\n- paid: '已购买',\n- quotaExhausted: '配额已用完',\n- callTimes: '调用次数',\n- tokens: 'Tokens',\n- buyQuota: '购买额度',\n- priorityUse: '优先使用',\n- removeKey: '删除 API 密钥',\n- tip: '已付费额度将优先考虑。 试用额度将在付费额度用完后使用。',\n- },\n- item: {\n- deleteDesc: '{{modelName}} 被用作系统推理模型。删除后部分功能将无法使用。请确认。',\n- freeQuota: '免费额度',\n- },\n- addApiKey: '添加您的 API 密钥',\n- invalidApiKey: 'Invalid API key',\n- encrypted: {\n- front: '您的密钥将使用',\n- back: '技术进行加密和存储。',\n- },\n- freeQuota: {\n- howToEarn: '如何获取',\n- },\n- addMoreModelProvider: '添加更多模型提供商',\n- addModel: '添加模型',\n- modelsNum: '{{num}} 个模型',\n- showModels: '显示模型',\n- showModelsNum: '显示 {{num}} 个模型',\n- collapse: '收起',\n- config: '配置',\n- modelAndParameters: '模型及参数',\n- model: '模型',\n- featureSupported: '支持 {{feature}} 功能',\n- callTimes: '调用次数',\n- credits: '消息额度',\n- buyQuota: '购买额度',\n- getFreeTokens: '获得免费 Tokens',\n- priorityUsing: '优先使用',\n- deprecated: '已弃用',\n- confirmDelete: '确认删除?',\n- quotaTip: '剩余免费额度',\n- loadPresets: '加载预设',\n- parameters: '参数',\n- loadBalancing: '负载均衡',\n- loadBalancingDescription: '为了减轻单组凭据的压力,您可以为模型调用配置多组凭据。',\n- loadBalancingHeadline: '负载均衡',\n- configLoadBalancing: '设置负载均衡',\n- modelHasBeenDeprecated: '该模型已废弃',\n- providerManaged: '由模型供应商管理',\n- providerManagedDescription: '使用模型供应商提供的单组凭据',\n- defaultConfig: '默认配置',\n- apiKeyStatusNormal: 'API Key 正常',\n- apiKeyRateLimit: '已达频率上限,{{seconds}}秒后恢复',\n- addConfig: '增加配置',\n- editConfig: '修改配置',\n- loadBalancingLeastKeyWarning: '至少启用 2 个 Key 以使用负载均衡',\n- loadBalancingInfo: '默认情况下,负载平衡使用 Round-robin 策略。如果触发速率限制,将场景 1 分钟的冷却时间',\n- upgradeForLoadBalancing: '升级以解锁负载均衡功能',\n- },\n- dataSource: {\n- add: '添加数据源',\n- connect: '绑定',\n- configure: '配置',\n- notion: {\n- title: 'Notion',\n- description: '使用 Notion 作为知识库的数据源。',\n- connectedWorkspace: '已绑定工作空间',\n- addWorkspace: '添加工作空间',\n- connected: '已绑定',\n- disconnected: '未绑定',\n- changeAuthorizedPages: '更改授权页面',\n- pagesAuthorized: '已授权页面',\n- sync: '同步',\n- remove: '删除',\n- selector: {\n- pageSelected: '已选页面',\n- searchPages: '搜索页面...',\n- noSearchResult: '无搜索结果',\n- addPages: '添加页面',\n- preview: '预览',\n- },\n- },\n- website: {\n- title: '网站',\n- description: '使用网络爬虫从网站导入内容。',\n- with: '使用',\n- configuredCrawlers: '已配置的爬虫',\n- active: '可用',\n- inactive: '不可用',\n- },\n- },\n- plugin: {\n- serpapi: {\n- apiKey: 'API Key',\n- apiKeyPlaceholder: '输入你的 API 密钥',\n- keyFrom: '从 SerpAPI 帐户页面获取您的 SerpAPI 密钥',\n- },\n- },\n- apiBasedExtension: {\n- title: 'API 扩展提供了一个集中式的 API 管理,在此统一添加 API 配置后,方便在 DinTal 上的各类场景中直接使用。',\n- link: '了解如何开发您自己的 API 扩展。',\n- linkUrl: 'https://docs.DinTal.ai/v/zh-hans/advanced/api_based_extension',\n- add: '新增 API 扩展',\n- selector: {\n- title: 'API 扩展',\n- placeholder: '请选择 API 扩展',\n- manage: '管理 API 扩展',\n- },\n- modal: {\n- title: '新增 API 扩展',\n- editTitle: '编辑 API 扩展',\n- name: {\n- title: '名称',\n- placeholder: '请输入名称',\n- },\n- apiEndpoint: {\n- title: 'API Endpoint',\n- placeholder: '请输入 API endpoint',\n- },\n- apiKey: {\n- title: 'API-key',\n- placeholder: '请输入 API-key',\n- lengthError: 'API-key 不能少于 5 位',\n- },\n- },\n- type: '类型',\n- },\n- about: {\n- changeLog: '更新日志',\n- updateNow: '现在更新',\n- nowAvailable: 'DinTal {{version}} 现已可用。',\n- latestAvailable: 'DinTal {{version}} 已是最新版本。',\n- },\n- appMenus: {\n- overview: '监测',\n- promptEng: '编排',\n- apiAccess: '访问 API',\n- logAndAnn: '日志与标注',\n- logs: '日志',\n- },\n- environment: {\n- testing: '测试环境',\n- development: '开发环境',\n- },\n- appModes: {\n- completionApp: '文本生成型场景',\n- chatApp: '对话型场景',\n- },\n- datasetMenus: {\n- documents: '文档',\n- hitTesting: '召回测试',\n- settings: '设置',\n- emptyTip: ' 知识库尚未关联,请前往场景程序或插件完成关联。',\n- viewDoc: '查看文档',\n- relatedApp: '个关联场景',\n- },\n- voiceInput: {\n- speaking: '现在讲...',\n- converting: '正在转换为文本...',\n- notAllow: '麦克风未授权',\n- },\n- modelName: {\n- 'gpt-3.5-turbo': 'GPT-3.5-Turbo',\n- 'gpt-3.5-turbo-16k': 'GPT-3.5-Turbo-16K',\n- 'gpt-4': 'GPT-4',\n- 'gpt-4-32k': 'GPT-4-32K',\n- 'text-davinci-003': 'Text-Davinci-003',\n- 'text-embedding-ada-002': 'Text-Embedding-Ada-002',\n- 'whisper-1': 'Whisper-1',\n- 'claude-instant-1': 'Claude-Instant',\n- 'claude-2': 'Claude-2',\n- },\n- chat: {\n- renameConversation: '重命名会话',\n- conversationName: '会话名称',\n- conversationNamePlaceholder: '请输入会话名称',\n- conversationNameCanNotEmpty: '会话名称必填',\n- citation: {\n- title: '引用',\n- linkToDataset: '跳转至知识库',\n- characters: '字符:',\n- hitCount: '召回次数:',\n- vectorHash: '向量哈希:',\n- hitScore: '召回得分:',\n- },\n- },\n- promptEditor: {\n- placeholder: '在这里写你的提示词,输入\\'{\\' 插入变量、输入\\'/\\' 插入提示内容块',\n- context: {\n- item: {\n- title: '上下文',\n- desc: '插入上下文模板',\n- },\n- modal: {\n- title: '有 {{num}} 个知识库在上下文中',\n- add: '添加上下文',\n- footer: '您可以在下面的“上下文”部分中管理上下文。',\n- },\n- },\n- history: {\n- item: {\n- title: '会话历史',\n- desc: '插入历史消息模板',\n- },\n- modal: {\n- title: '示例',\n- user: '你好',\n- assistant: '你好!今天我能为您提供什么帮助?',\n- edit: '编辑对话角色名称',\n- },\n- },\n- variable: {\n- item: {\n- title: '变量 & 外部工具',\n- desc: '插入变量和外部工具',\n- },\n- outputToolDisabledItem: {\n- title: '变量',\n- desc: '插入变量',\n- },\n- modal: {\n- add: '添加新变量',\n- addTool: '添加工具',\n- },\n- },\n- query: {\n- item: {\n- title: '查询内容',\n- desc: '插入用户查询模板',\n- },\n- },\n- existed: 'Prompt 中已存在',\n- },\n- imageUploader: {\n- uploadFromComputer: '从本地上传',\n- uploadFromComputerReadError: '图片读取失败,请重新选择。',\n- uploadFromComputerUploadError: '图片上传失败,请重新上传。',\n- uploadFromComputerLimit: '上传图片不能超过 {{size}} MB',\n- pasteImageLink: '粘贴图片链接',\n- pasteImageLinkInputPlaceholder: '将图像链接粘贴到此处',\n- pasteImageLinkInvalid: '图片链接无效',\n- imageUpload: '图片上传',\n- },\n- tag: {\n- placeholder: '全部标签',\n- addNew: '创建新标签',\n- noTag: '没有标签',\n- noTagYet: '还没有标签',\n- addTag: '添加标签',\n- editTag: '修改标签',\n- manageTags: '管理标签',\n- selectorPlaceholder: '搜索或者创建',\n- create: '创建',\n- delete: '删除标签',\n- deleteTip: '标签正在使用中,是否删除?',\n- created: '标签创建成功',\n- failed: '标签创建失败',\n- },\n }\n \n export default translation\n" - } - ], - "date": 1727233739163, - "name": "Commit-0", - "content": "const translation = {\n api: {\n success: '成功',\n actionSuccess: '操作成功',\n saved: '已保存',\n create: '已创建',\n remove: '已移除',\n },\n operation: {\n create: '创建',\n confirm: '确认',\n cancel: '取消',\n clear: '清空',\n save: '保存',\n saveAndEnable: '保存并启用',\n edit: '编辑',\n add: '添加',\n added: '已添加',\n refresh: '重新开始',\n reset: '重置',\n search: '搜索',\n change: '更改',\n remove: '移除',\n send: '发送',\n copy: '复制',\n lineBreak: '换行',\n sure: '我确定',\n download: '下载',\n delete: '删除',\n settings: '设置',\n setup: '设置',\n getForFree: '免费获取',\n reload: '刷新',\n ok: '好的',\n log: '日志',\n learnMore: '了解更多',\n params: '参数设置',\n duplicate: '复制',\n rename: '重命名',\n },\n errorMsg: {\n fieldRequired: '{{field}} 为必填项',\n urlError: 'url 应该以 http:// 或 https:// 开头',\n },\n placeholder: {\n input: '请输入',\n select: '请选择',\n },\n\n model: {\n params: {\n temperature: '随机性 temperature',\n temperatureTip:\n '控制回复的随机性。\\n值越大,回复越随机。\\n值越小,回复越确定或一致。',\n top_p: '核采样 top_p',\n top_pTip:\n '控制生成多样性。\\n值越大,输出会包括更多的单词选项。\\n值越小,模型会更集中在高概率的单词上,输出更确定但可能缺乏多样性。\\n核采样和随机性不建议同时修改。',\n presence_penalty: '话题新鲜度 presence_penalty',\n presence_penaltyTip:\n '控制生成时对上文已存在的话题的偏好程度。\\n值越大,越可能使用到新的话题。',\n frequency_penalty: '频率惩罚度 frequency_penalty',\n frequency_penaltyTip:\n '影响常见与罕见词汇使用。\\n值较大时,倾向于生成不常见的词汇和表达方式。\\n值越小,更倾向于使用常见和普遍接受的词汇或短语。',\n max_tokens: '单次回复限制 max_tokens',\n max_tokensTip:\n '用于限制回复的最大长度,以 token 为单位。\\n较大的值可能会限制给提示词、聊天记录和知识库留出的空间。\\n建议将其设置在三分之二以下。\\ngpt-4-1106-preview、gpt-4-vision-preview 最大长度 (输入128k,输出4k)',\n maxTokenSettingTip: '您设置的最大 tokens 数较大,可能会导致 prompt、用户问题、知识库内容没有 token 空间进行处理,建议设置到 2/3 以下。',\n setToCurrentModelMaxTokenTip: '最大令牌数更新为当前模型最大的令牌数 {{maxToken}} 的 80%。',\n stop_sequences: '停止序列 stop_sequences',\n stop_sequencesTip: '最多四个序列,API 将停止生成更多的 token。返回的文本将不包含停止序列。',\n stop_sequencesPlaceholder: '输入序列并按 Tab 键',\n },\n tone: {\n Creative: '创意',\n Balanced: '平衡',\n Precise: '精确',\n Custom: '自定义',\n },\n addMoreModel: '添加更多模型',\n },\n menus: {\n status: 'V1.0',\n explore: '场景广场',\n apps: '工作室',\n plugins: '插件',\n pluginsTips: '集成第三方插件或创建与 ChatGPT 兼容的 AI 插件。',\n datasets: '知识库',\n datasetsTips: '即将到来: 上传自己的长文本数据,或通过 Webhook 集成自己的数据源',\n newApp: '创建场景',\n newDataset: '创建知识库',\n tools: '工具',\n },\n userProfile: {\n settings: '设置',\n emailSupport: '邮件支持',\n workspace: '工作空间',\n createWorkspace: '创建工作空间',\n helpCenter: '帮助文档',\n roadmapAndFeedback: '用户反馈',\n community: '社区',\n about: '关于',\n logout: '登出',\n },\n settings: {\n accountGroup: '账户',\n workplaceGroup: '工作空间',\n account: '我的账户',\n members: '成员',\n billing: '账单',\n integrations: '集成',\n language: '语言',\n provider: '模型供应商',\n dataSource: '数据来源',\n plugin: '插件',\n apiBasedExtension: 'API 扩展',\n },\n account: {\n avatar: '头像',\n name: '用户名',\n email: '邮箱',\n password: '密码',\n passwordTip: '如果您不想使用验证码登录,可以设置永久密码',\n setPassword: '设置密码',\n resetPassword: '重置密码',\n currentPassword: '原密码',\n newPassword: '新密码',\n notEqual: '两个密码不相同',\n confirmPassword: '确认密码',\n langGeniusAccount: 'DinTal 账号',\n langGeniusAccountTip: '您的 DinTal 账号和相关的用户数据。',\n editName: '编辑名字',\n showAppLength: '显示 {{length}} 个场景',\n delete: '删除账户',\n deleteTip: '删除账户后,所有数据将被永久删除且不可恢复。',\n deleteConfirmTip: '请将以下内容通过您的账户邮箱发送到 ',\n },\n members: {\n team: '团队',\n invite: '添加',\n name: '姓名',\n lastActive: '上次活动时间',\n role: '角色',\n pending: '待定...',\n owner: '所有者',\n admin: '管理员',\n adminTip: '能够建立场景程序和管理团队设置',\n normal: '成员',\n normalTip: '只能使用场景程序,不能建立场景程序',\n editor: '编辑',\n editorTip: '能够建立并编辑场景程序,不能管理团队设置',\n datasetOperator: '知识库管理员',\n datasetOperatorTip: '只能管理知识库',\n inviteTeamMember: '添加团队成员',\n inviteTeamMemberTip: '对方在登录后可以访问你的团队数据。',\n email: '邮箱',\n emailInvalid: '邮箱格式无效',\n emailPlaceholder: '输入邮箱',\n sendInvite: '发送邀请',\n invitedAsRole: '邀请为{{role}}用户',\n invitationSent: '邀请已发送',\n invitationSentTip: '邀请已发送,对方登录 DinTal 后即可访问你的团队数据。',\n invitationLink: '邀请链接',\n failedinvitationEmails: '邀请以下邮箱失败',\n ok: '好的',\n removeFromTeam: '移除团队',\n removeFromTeamTip: '将取消团队访问',\n setAdmin: '设为管理员',\n setMember: '设为普通成员',\n setEditor: '设为编辑',\n disinvite: '取消邀请',\n deleteMember: '删除成员',\n you: '(你)',\n },\n integrations: {\n connected: '登录方式',\n google: 'Google',\n googleAccount: 'Google 账号登录',\n github: 'GitHub',\n githubAccount: 'GitHub 账号登录',\n connect: '绑定',\n },\n language: {\n displayLanguage: '界面语言',\n timezone: '时区',\n },\n provider: {\n apiKey: 'API 密钥',\n enterYourKey: '输入你的 API 密钥',\n invalidKey: '无效的 OpenAI API 密钥',\n validatedError: '校验失败:',\n validating: '验证密钥中...',\n saveFailed: 'API 密钥保存失败',\n apiKeyExceedBill: '此 API KEY 已没有可用配额,请阅读',\n addKey: '添加 密钥',\n comingSoon: '即将推出',\n editKey: '编辑',\n invalidApiKey: '无效的 API 密钥',\n azure: {\n apiBase: 'API Base',\n apiBasePlaceholder: '输入您的 Azure OpenAI API Base 地址',\n apiKey: 'API Key',\n apiKeyPlaceholder: '输入你的 API 密钥',\n helpTip: '了解 Azure OpenAI Service',\n },\n openaiHosted: {\n openaiHosted: '托管 OpenAI',\n onTrial: '体验',\n exhausted: '超出限额',\n desc: '托管 OpenAI 由 DinTal 提供的托管 OpenAI 服务,你可以使用 GPT-3.5 等模型,在体验额度消耗完毕前你需要设置其它模型供应商。',\n callTimes: '调用次数',\n usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n useYourModel: '当前正在使用你自己的模型供应商。',\n close: '关闭',\n },\n anthropicHosted: {\n anthropicHosted: 'Anthropic Claude',\n onTrial: '体验',\n exhausted: '超出限额',\n desc: '功能强大的模型,擅长执行从复杂对话和创意内容生成到详细指导的各种任务。',\n callTimes: '调用次数',\n usedUp: '试用额度已用完,请在下方添加自己的模型供应商',\n useYourModel: '当前正在使用你自己的模型供应商。',\n close: '关闭',\n },\n anthropic: {\n using: '嵌入能力正在使用',\n enableTip: '要启用 Anthropic 模型,您需要先绑定 OpenAI 或 Azure OpenAI 服务。',\n notEnabled: '未启用',\n keyFrom: '从 Anthropic 获取您的 API 密钥',\n },\n encrypted: {\n front: '密钥将使用 ',\n back: ' 技术进行加密和存储。',\n },\n },\n modelProvider: {\n notConfigured: '系统模型尚未完全配置,部分功能可能无法使用。',\n systemModelSettings: '系统模型设置',\n systemModelSettingsLink: '为什么需要设置系统模型?',\n selectModel: '选择您的模型',\n setupModelFirst: '请先设置您的模型',\n systemReasoningModel: {\n key: '系统推理模型',\n tip: '设置创建场景使用的默认推理模型,以及对话名称生成、下一步问题建议等功能也会使用该默认推理模型。',\n },\n embeddingModel: {\n key: 'Embedding 模型',\n tip: '设置知识库文档嵌入处理的默认模型,检索和导入知识库均使用该Embedding模型进行向量化处理,切换后将导致已导入的知识库与问题之间的向量维度不一致,从而导致检索失败。为避免检索失败,请勿随意切换该模型。',\n required: '请选择 Embedding 模型',\n },\n speechToTextModel: {\n key: '语音转文本模型',\n tip: '设置对话中语音转文字输入的默认使用模型。',\n },\n ttsModel: {\n key: '文本转语音模型',\n tip: '设置对话中文字转语音输出的默认使用模型。',\n },\n rerankModel: {\n key: 'Rerank 模型',\n tip: '重排序模型将根据候选文档列表与用户问题语义匹配度进行重新排序,从而改进语义排序的结果',\n },\n quota: '额度',\n searchModel: '搜索模型',\n noModelFound: '找不到模型 {{model}}',\n models: '模型列表',\n showMoreModelProvider: '显示更多模型提供商',\n selector: {\n tip: '该模型已被删除。请添模型或选择其他模型。',\n emptyTip: '无可用模型',\n emptySetting: '请前往设置进行配置',\n rerankTip: '请设置 Rerank 模型',\n },\n card: {\n quota: '额度',\n onTrial: '试用中',\n paid: '已购买',\n quotaExhausted: '配额已用完',\n callTimes: '调用次数',\n tokens: 'Tokens',\n buyQuota: '购买额度',\n priorityUse: '优先使用',\n removeKey: '删除 API 密钥',\n tip: '已付费额度将优先考虑。 试用额度将在付费额度用完后使用。',\n },\n item: {\n deleteDesc: '{{modelName}} 被用作系统推理模型。删除后部分功能将无法使用。请确认。',\n freeQuota: '免费额度',\n },\n addApiKey: '添加您的 API 密钥',\n invalidApiKey: 'Invalid API key',\n encrypted: {\n front: '您的密钥将使用',\n back: '技术进行加密和存储。',\n },\n freeQuota: {\n howToEarn: '如何获取',\n },\n addMoreModelProvider: '添加更多模型提供商',\n addModel: '添加模型',\n modelsNum: '{{num}} 个模型',\n showModels: '显示模型',\n showModelsNum: '显示 {{num}} 个模型',\n collapse: '收起',\n config: '配置',\n modelAndParameters: '模型及参数',\n model: '模型',\n featureSupported: '支持 {{feature}} 功能',\n callTimes: '调用次数',\n credits: '消息额度',\n buyQuota: '购买额度',\n getFreeTokens: '获得免费 Tokens',\n priorityUsing: '优先使用',\n deprecated: '已弃用',\n confirmDelete: '确认删除?',\n quotaTip: '剩余免费额度',\n loadPresets: '加载预设',\n parameters: '参数',\n loadBalancing: '负载均衡',\n loadBalancingDescription: '为了减轻单组凭据的压力,您可以为模型调用配置多组凭据。',\n loadBalancingHeadline: '负载均衡',\n configLoadBalancing: '设置负载均衡',\n modelHasBeenDeprecated: '该模型已废弃',\n providerManaged: '由模型供应商管理',\n providerManagedDescription: '使用模型供应商提供的单组凭据',\n defaultConfig: '默认配置',\n apiKeyStatusNormal: 'API Key 正常',\n apiKeyRateLimit: '已达频率上限,{{seconds}}秒后恢复',\n addConfig: '增加配置',\n editConfig: '修改配置',\n loadBalancingLeastKeyWarning: '至少启用 2 个 Key 以使用负载均衡',\n loadBalancingInfo: '默认情况下,负载平衡使用 Round-robin 策略。如果触发速率限制,将场景 1 分钟的冷却时间',\n upgradeForLoadBalancing: '升级以解锁负载均衡功能',\n },\n dataSource: {\n add: '添加数据源',\n connect: '绑定',\n configure: '配置',\n notion: {\n title: 'Notion',\n description: '使用 Notion 作为知识库的数据源。',\n connectedWorkspace: '已绑定工作空间',\n addWorkspace: '添加工作空间',\n connected: '已绑定',\n disconnected: '未绑定',\n changeAuthorizedPages: '更改授权页面',\n pagesAuthorized: '已授权页面',\n sync: '同步',\n remove: '删除',\n selector: {\n pageSelected: '已选页面',\n searchPages: '搜索页面...',\n noSearchResult: '无搜索结果',\n addPages: '添加页面',\n preview: '预览',\n },\n },\n website: {\n title: '网站',\n description: '使用网络爬虫从网站导入内容。',\n with: '使用',\n configuredCrawlers: '已配置的爬虫',\n active: '可用',\n inactive: '不可用',\n },\n },\n plugin: {\n serpapi: {\n apiKey: 'API Key',\n apiKeyPlaceholder: '输入你的 API 密钥',\n keyFrom: '从 SerpAPI 帐户页面获取您的 SerpAPI 密钥',\n },\n },\n apiBasedExtension: {\n title: 'API 扩展提供了一个集中式的 API 管理,在此统一添加 API 配置后,方便在 DinTal 上的各类场景中直接使用。',\n link: '了解如何开发您自己的 API 扩展。',\n linkUrl: 'https://docs.DinTal.ai/v/zh-hans/advanced/api_based_extension',\n add: '新增 API 扩展',\n selector: {\n title: 'API 扩展',\n placeholder: '请选择 API 扩展',\n manage: '管理 API 扩展',\n },\n modal: {\n title: '新增 API 扩展',\n editTitle: '编辑 API 扩展',\n name: {\n title: '名称',\n placeholder: '请输入名称',\n },\n apiEndpoint: {\n title: 'API Endpoint',\n placeholder: '请输入 API endpoint',\n },\n apiKey: {\n title: 'API-key',\n placeholder: '请输入 API-key',\n lengthError: 'API-key 不能少于 5 位',\n },\n },\n type: '类型',\n },\n about: {\n changeLog: '更新日志',\n updateNow: '现在更新',\n nowAvailable: 'DinTal {{version}} 现已可用。',\n latestAvailable: 'DinTal {{version}} 已是最新版本。',\n },\n appMenus: {\n overview: '监测',\n promptEng: '编排',\n apiAccess: '访问 API',\n logAndAnn: '日志与标注',\n logs: '日志',\n },\n environment: {\n testing: '测试环境',\n development: '开发环境',\n },\n appModes: {\n completionApp: '文本生成型场景',\n chatApp: '对话型场景',\n },\n datasetMenus: {\n documents: '文档',\n hitTesting: '召回测试',\n settings: '设置',\n emptyTip: ' 知识库尚未关联,请前往场景程序或插件完成关联。',\n viewDoc: '查看文档',\n relatedApp: '个关联场景',\n },\n voiceInput: {\n speaking: '现在讲...',\n converting: '正在转换为文本...',\n notAllow: '麦克风未授权',\n },\n modelName: {\n 'gpt-3.5-turbo': 'GPT-3.5-Turbo',\n 'gpt-3.5-turbo-16k': 'GPT-3.5-Turbo-16K',\n 'gpt-4': 'GPT-4',\n 'gpt-4-32k': 'GPT-4-32K',\n 'text-davinci-003': 'Text-Davinci-003',\n 'text-embedding-ada-002': 'Text-Embedding-Ada-002',\n 'whisper-1': 'Whisper-1',\n 'claude-instant-1': 'Claude-Instant',\n 'claude-2': 'Claude-2',\n },\n chat: {\n renameConversation: '重命名会话',\n conversationName: '会话名称',\n conversationNamePlaceholder: '请输入会话名称',\n conversationNameCanNotEmpty: '会话名称必填',\n citation: {\n title: '引用',\n linkToDataset: '跳转至知识库',\n characters: '字符:',\n hitCount: '召回次数:',\n vectorHash: '向量哈希:',\n hitScore: '召回得分:',\n },\n },\n promptEditor: {\n placeholder: '在这里写你的提示词,输入\\'{\\' 插入变量、输入\\'/\\' 插入提示内容块',\n context: {\n item: {\n title: '上下文',\n desc: '插入上下文模板',\n },\n modal: {\n title: '有 {{num}} 个知识库在上下文中',\n add: '添加上下文',\n footer: '您可以在下面的“上下文”部分中管理上下文。',\n },\n },\n history: {\n item: {\n title: '会话历史',\n desc: '插入历史消息模板',\n },\n modal: {\n title: '示例',\n user: '你好',\n assistant: '你好!今天我能为您提供什么帮助?',\n edit: '编辑对话角色名称',\n },\n },\n variable: {\n item: {\n title: '变量 & 外部工具',\n desc: '插入变量和外部工具',\n },\n outputToolDisabledItem: {\n title: '变量',\n desc: '插入变量',\n },\n modal: {\n add: '添加新变量',\n addTool: '添加工具',\n },\n },\n query: {\n item: {\n title: '查询内容',\n desc: '插入用户查询模板',\n },\n },\n existed: 'Prompt 中已存在',\n },\n imageUploader: {\n uploadFromComputer: '从本地上传',\n uploadFromComputerReadError: '图片读取失败,请重新选择。',\n uploadFromComputerUploadError: '图片上传失败,请重新上传。',\n uploadFromComputerLimit: '上传图片不能超过 {{size}} MB',\n pasteImageLink: '粘贴图片链接',\n pasteImageLinkInputPlaceholder: '将图像链接粘贴到此处',\n pasteImageLinkInvalid: '图片链接无效',\n imageUpload: '图片上传',\n },\n tag: {\n placeholder: '全部标签',\n addNew: '创建新标签',\n noTag: '没有标签',\n noTagYet: '还没有标签',\n addTag: '添加标签',\n editTag: '修改标签',\n manageTags: '管理标签',\n selectorPlaceholder: '搜索或者创建',\n create: '创建',\n delete: '删除标签',\n deleteTip: '标签正在使用中,是否删除?',\n created: '标签创建成功',\n failed: '标签创建失败',\n },\n}\n\nexport default translation\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/dataview.ts.json b/.lh/src/i18n/zh-Hans/dataview.ts.json deleted file mode 100644 index 340e253..0000000 --- a/.lh/src/i18n/zh-Hans/dataview.ts.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "sourceFile": "src/i18n/zh-Hans/dataview.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 3, - "patches": [ - { - "date": 1727249936425, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727249952162, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,20 +1,22 @@\n const translation = {\n dataViewer:{\n- \"entities\": \"Entities\",\n- \"relationships\": \"Relationships\",\n- \"documents\": \"Documents\",\n- \"textUnits\": \"TextUnits\",\n- \"communities\": \"Communities\",\n- \"communityReports\": \"Community Reports\",\n- \"covariates\": \"Covariates\",\n- \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n- \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n- \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n- \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n- \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n- \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n- \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n+ \"dataViewer.entities\": \"实体\",\n+ \"dataViewer.relationships\": \"关系\",\n+ \"dataViewer.documents\": \"文档\",\n+ \"dataViewer.textUnits\": \"文本单元\",\n+ \"dataViewer.communities\": \"社区\",\n+ \"dataViewer.communityReports\": \"社区报告\",\n+ \"dataViewer.covariates\": \"协变量\",\n+ \n+ \"dataViewer.entitiesTitle\": \"实体 (create_final_entities.parquet)\",\n+ \"dataViewer.relationshipsTitle\": \"关系 (create_final_relationships.parquet)\",\n+ \"dataViewer.documentsTitle\": \"文档 (create_final_documents.parquet)\",\n+ \"dataViewer.textUnitsTitle\": \"文本单元 (create_final_text_units.parquet)\",\n+ \"dataViewer.communitiesTitle\": \"社区 (create_final_communities.parquet)\",\n+ \"dataViewer.communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n+ \"dataViewer.covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n+ \n }\n }\n \n export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727250868845, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,22 +1,47 @@\n const translation = {\n dataViewer:{\n- \"dataViewer.entities\": \"实体\",\n- \"dataViewer.relationships\": \"关系\",\n- \"dataViewer.documents\": \"文档\",\n- \"dataViewer.textUnits\": \"文本单元\",\n- \"dataViewer.communities\": \"社区\",\n- \"dataViewer.communityReports\": \"社区报告\",\n- \"dataViewer.covariates\": \"协变量\",\n+ \"entities\": \"实体\",\n+ \"relationships\": \"关系\",\n+ \"documents\": \"文档\",\n+ \"textUnits\": \"文本单元\",\n+ \"communities\": \"社区\",\n+ \"communityReports\": \"社区报告\",\n+ \"covariates\": \"协变量\",\n \n- \"dataViewer.entitiesTitle\": \"实体 (create_final_entities.parquet)\",\n- \"dataViewer.relationshipsTitle\": \"关系 (create_final_relationships.parquet)\",\n- \"dataViewer.documentsTitle\": \"文档 (create_final_documents.parquet)\",\n- \"dataViewer.textUnitsTitle\": \"文本单元 (create_final_text_units.parquet)\",\n- \"dataViewer.communitiesTitle\": \"社区 (create_final_communities.parquet)\",\n- \"dataViewer.communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n- \"dataViewer.covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n+ \"entitiesTitle\": \"实体 (create_final_entities.parquet)\",\n+ \"relationshipsTitle\": \"关系 (create_final_relationships.parquet)\",\n+ \"documentsTitle\": \"文档 (create_final_documents.parquet)\",\n+ \"textUnitsTitle\": \"文本单元 (create_final_text_units.parquet)\",\n+ \"communitiesTitle\": \"社区 (create_final_communities.parquet)\",\n+ \"communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n+ \"covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n \n- }\n+ },\n+ const detailDrawer = {\n+ \"detailDrawer.nodeDetails\": \"节点详情:{{name}}\",\n+ \"detailDrawer.relationshipDetails\":\n+ \"(:{{sourceType}} {名称: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {名称: '{{targetName}}'})\",\n+ \"detailDrawer.nodeInformation\": \"节点信息\",\n+ \"detailDrawer.relationshipInformation\": \"关系信息\",\n+ \"detailDrawer.id\": \"ID\",\n+ \"detailDrawer.name\": \"名称\",\n+ \"detailDrawer.covariateType\": \"协变量类型\",\n+ \"detailDrawer.type\": \"类型\",\n+ \"detailDrawer.title\": \"标题\",\n+ \"detailDrawer.summary\": \"摘要\",\n+ \"detailDrawer.numberOfTokens\": \"令牌数量\",\n+ \"detailDrawer.description\": \"描述\",\n+ \"detailDrawer.humanReadableId\": \"可读 ID\",\n+ \"detailDrawer.rawContent\": \"原始内容\",\n+ \"detailDrawer.source\": \"源节点\",\n+ \"detailDrawer.target\": \"目标节点\",\n+ \"detailDrawer.weight\": \"权重\",\n+ \"detailDrawer.sourceDegree\": \"源节点度数\",\n+ \"detailDrawer.targetDegree\": \"目标节点度数\",\n+ \"detailDrawer.rank\": \"排名\",\n+ \"detailDrawer.linkedNodes\": \"关联节点\",\n+ \"detailDrawer.linkedRelationships\": \"关联关系\",\n+ }\n }\n \n export default translation;\n\\ No newline at end of file\n" - }, - { - "date": 1727250876701, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,32 +16,32 @@\n \"communityReportsTitle\": \"社区报告 (create_final_community_reports.parquet)\",\n \"covariatesTitle\": \"协变量 (create_final_covariates.parquet)\",\n \n },\n- const detailDrawer = {\n- \"detailDrawer.nodeDetails\": \"节点详情:{{name}}\",\n- \"detailDrawer.relationshipDetails\":\n+ const detailDrawer: {\n+ \"nodeDetails\": \"节点详情:{{name}}\",\n+ \"relationshipDetails\":\n \"(:{{sourceType}} {名称: '{{sourceName}}'})-[:{{relationshipType}}]->(:{{targetType}} {名称: '{{targetName}}'})\",\n- \"detailDrawer.nodeInformation\": \"节点信息\",\n- \"detailDrawer.relationshipInformation\": \"关系信息\",\n- \"detailDrawer.id\": \"ID\",\n- \"detailDrawer.name\": \"名称\",\n- \"detailDrawer.covariateType\": \"协变量类型\",\n- \"detailDrawer.type\": \"类型\",\n- \"detailDrawer.title\": \"标题\",\n- \"detailDrawer.summary\": \"摘要\",\n- \"detailDrawer.numberOfTokens\": \"令牌数量\",\n- \"detailDrawer.description\": \"描述\",\n- \"detailDrawer.humanReadableId\": \"可读 ID\",\n- \"detailDrawer.rawContent\": \"原始内容\",\n- \"detailDrawer.source\": \"源节点\",\n- \"detailDrawer.target\": \"目标节点\",\n- \"detailDrawer.weight\": \"权重\",\n- \"detailDrawer.sourceDegree\": \"源节点度数\",\n- \"detailDrawer.targetDegree\": \"目标节点度数\",\n- \"detailDrawer.rank\": \"排名\",\n- \"detailDrawer.linkedNodes\": \"关联节点\",\n- \"detailDrawer.linkedRelationships\": \"关联关系\",\n+ \"nodeInformation\": \"节点信息\",\n+ \"relationshipInformation\": \"关系信息\",\n+ \"id\": \"ID\",\n+ \"name\": \"名称\",\n+ \"covariateType\": \"协变量类型\",\n+ \"type\": \"类型\",\n+ \"title\": \"标题\",\n+ \"summary\": \"摘要\",\n+ \"numberOfTokens\": \"令牌数量\",\n+ \"description\": \"描述\",\n+ \"humanReadableId\": \"可读 ID\",\n+ \"rawContent\": \"原始内容\",\n+ \"source\": \"源节点\",\n+ \"target\": \"目标节点\",\n+ \"weight\": \"权重\",\n+ \"sourceDegree\": \"源节点度数\",\n+ \"targetDegree\": \"目标节点度数\",\n+ \"rank\": \"排名\",\n+ \"linkedNodes\": \"关联节点\",\n+ \"linkedRelationships\": \"关联关系\",\n }\n }\n \n export default translation;\n\\ No newline at end of file\n" - } - ], - "date": 1727249936425, - "name": "Commit-0", - "content": "const translation = {\n dataViewer:{\n \"entities\": \"Entities\",\n \"relationships\": \"Relationships\",\n \"documents\": \"Documents\",\n \"textUnits\": \"TextUnits\",\n \"communities\": \"Communities\",\n \"communityReports\": \"Community Reports\",\n \"covariates\": \"Covariates\",\n \"entitiesTitle\": \"Entities (create_final_entities.parquet)\",\n \"relationshipsTitle\": \"Relationships (create_final_relationships.parquet)\",\n \"documentsTitle\": \"Documents (create_final_documents.parquet)\",\n \"textUnitsTitle\": \"TextUnits (create_final_text_units.parquet)\",\n \"communitiesTitle\": \"Communities (create_final_communities.parquet)\",\n \"communityReportsTitle\": \"Community Reports (create_final_community_reports.parquet)\",\n \"covariatesTitle\": \"Covariates (create_final_covariates.parquet)\",\n }\n}\n \n export default translation;" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/dintal.ts.json b/.lh/src/i18n/zh-Hans/dintal.ts.json deleted file mode 100644 index 897a389..0000000 --- a/.lh/src/i18n/zh-Hans/dintal.ts.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "sourceFile": "src/i18n/zh-Hans/dintal.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 4, - "patches": [ - { - "date": 1727233673480, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727233688303, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,121 +1,7 @@\n const translation = {\n tabs: {\n },\n- stages: {\n- 'text': '文本',\n- 'resources': '资源',\n- 'start-ai-user-interaction': 'AI(扮顾客)说',\n- 'silent-answer': '学员(扮销售)默答',\n- 'thought-answer': '学员(扮销售)想答',\n- 'recited-answer': '学员(扮销售)背答',\n- 'real-time-evaluation': 'AI实时评价',\n- 'random-questioning': '随机提问',\n- 'ai-interaction': 'AI互动',\n- 'test-materials': '试题对',\n- 'golden-phrases': '金牌话术对',\n- 'ability-quadrant': '能力象限',\n- 'step-evaluation': '每步评价',\n- 'question-evaluation': '每题评价',\n- 'process-follow-up': '流程跟随',\n- 'zhipin': '智聘',\n- 'liepin': '猎聘',\n- 'recruit-ledger': '招聘台账',\n- 'search': '搜索列表',\n- 'jd-cv-match': '职位匹配简历',\n- 'hr-recited-answer': '询问术语',\n- 'hr-real-time-evaluation': '简历评估',\n- 'conversation': '邀约',\n- 'jd-build': '职位描述创建',\n- 'publise-evp': '发布EVP',\n- 'build-searchKey': '构建搜索关键词',\n- 'mapping': '候选人映射',\n- 'outreach-email': '外联邮件',\n- 'CV-evaluation': '简历摘要',\n- 'Onboarding-plan': '入职计划',\n- 'Question': '问题',\n- 'QuickReplies': '快速回复',\n- 'Name': '姓名',\n- 'Email': '电子邮件',\n- 'Phone': '电话',\n- 'Carousel': '轮播',\n- 'VoiceInput': '语音输入',\n- 'DynamicChat': '动态聊天',\n- 'Date': '日期',\n- 'StoreComment': '店铺评论',\n- 'Text': '文本',\n- 'Image': '图像',\n- 'Video': '视频',\n- 'File': '文件',\n- 'QuickRepliesMessage': '快速回复消息',\n- 'WhatsAppList': 'WhatsApp 列表',\n- 'WhatsappProductCatalogue': 'WhatsApp 产品目录',\n- 'Variables': '变量',\n- 'Database': '数据库',\n- 'API': 'API调用',\n- 'Function': '功能',\n- 'ExecuteFlow': '执行流程',\n- 'RaiseTicket': '提高票',\n- 'SendOTP': '发送一次性密码',\n- 'VerifyOTP': '验证一次性密码',\n- 'OutboundNotification': '出站通知',\n- 'NotificationStatus': '通知状态',\n- 'DataFormatter': '数据格式化程序',\n- 'SetLanguage': '设置语言',\n- 'VoiceCall': '语音通话',\n- 'Delay': '延迟',\n- 'Modifier': '修饰符',\n- 'SwitchFlow': '切换流量',\n- 'GeneratePDFImage': '生成 PDF/图像',\n- 'Analytics': '分析',\n- 'SendEvent': '发送事件',\n- 'KnowledgeSearch': '知识搜索',\n- 'Payment': '支付',\n- 'ConnectTransXT': '连接 TransXT',\n- 'SyncDatabase': '同步数据库',\n- 'UserEvent': '用户事件',\n- 'PromptExecutor': '提示执行者',\n- 'NameValidator': '名称验证器',\n- 'EmailValidator': '电子邮件验证器',\n- 'PhoneValidator': '电话验证器',\n- 'DateTimeValidator': '日期和时间验证器',\n- 'LocationValidator': '位置验证器',\n- 'FileValidator': '文件验证器',\n- 'PromptAI': '提示 AI',\n- 'Search': '搜索',\n- 'ResponseAI': 'AI响应',\n- 'SetAI': '设置AI',\n- 'Assigned': '已分配',\n- 'Close': '关闭',\n- 'Airpay': '航空支付',\n- 'AtlassianConnect': 'Atlassian 连接',\n- 'AzureActiveDirectory': 'Azure 活动目录',\n- 'BambooHR': '竹人力资源',\n- 'BilldeskEmailpay': 'Billdesk 电子邮件支付',\n- 'Billdesk': '帐单台',\n- 'Camspay': '支付宝',\n- 'CashfreePayments': '无现金支付',\n- 'EPICFHIR': '史诗 FHIR',\n- 'FreshserviceITSM': '新鲜服务 ITSM 解决方案',\n- 'Freshdesk': '新鲜桌面',\n- 'Freshteam': '新鲜团队',\n- 'GoogleCalendar': '谷歌日历',\n- 'GoogleIdentityManagement': '谷歌身份管理',\n- 'GoogleSheets': '谷歌表格',\n- 'CallToAction': '行动号召',\n- 'Message': '消息',\n- 'Card': '卡片',\n- 'Buttons': '按钮',\n- 'Choice': '选择',\n- 'Capture': '捕获',\n- 'Condition': '条件',\n- 'Set': '设置',\n- 'Random': '随机',\n- 'Component': '组件',\n- 'End': '结束',\n- 'Javascript': 'JavaScript',\n- 'CustomAction': '自定义动作',\n- },\n \n stageAbout: {\n 'text': '包括各种文字资源',\n 'resources': '资源管理和展示',\n" - }, - { - "date": 1727233699895, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,122 +1,7 @@\n const translation = {\n tabs: {\n },\n-\n- stageAbout: {\n- 'text': '包括各种文字资源',\n- 'resources': '资源管理和展示',\n- 'start-ai-user-interaction': 'AI 扮演用户并开始互动',\n- 'silent-answer': '学员默答阶段',\n- 'thought-answer': '学员通过思考作答',\n- 'recited-answer': '学员背诵作答',\n- 'real-time-evaluation': 'AI 对学员回答进行实时评价',\n- 'random-questioning': 'AI 随机向学员提问',\n- 'ai-interaction': 'AI 与学员互动',\n- 'test-materials': '提供试题资源',\n- 'golden-phrases': '金牌话术的资源',\n- 'ability-quadrant': '展示能力象限图表',\n- 'step-evaluation': '对每一步进行详细评价',\n- 'question-evaluation': '对每一道题目进行评价',\n- 'process-follow-up': '跟随整个流程的评价',\n- 'zhipin': '智聘平台的招聘前置流程,如登录,进入搜索页',\n- 'liepin': '猎聘平台的招聘前置流程,如登录,进入搜索页',\n- 'recruit-ledger': '记录并管理招聘过程中的台账',\n- 'search': '通过特定关键词搜索候选人列表',\n- 'jd-cv-match': '将职位描述与候选人简历进行匹配',\n- 'hr-recited-answer': '询问技术术语和岗位角色',\n- 'hr-real-time-evaluation': '实时评估候选人的简历',\n- 'conversation': '与候选人通过在线沟通要简历,沟通意向,邀约面试时间',\n- 'jd-build': '创建职位描述并发布招聘信息',\n- 'publise-evp': '发布雇主价值主张 (EVP)',\n- 'build-searchKey': '根据职位要求构建搜索关键词',\n- 'mapping': '将候选人映射到特定的职位需求',\n- 'outreach-email': '发送外联邮件与候选人建立联系',\n- 'CV-evaluation': '对候选人的简历进行评估并生成摘要',\n- 'Onboarding-plan': '制定候选人的入职计划并跟进',\n- 'Question': '提出查询并保存响应或触发意图',\n- 'QuickReplies': '显示问题以及快速回复按钮',\n- 'Name': '询问、验证并存储用户名',\n- 'Email': '询问、验证并存储用户电子邮件',\n- 'Phone': '询问、验证并存储电话号码',\n- 'Carousel': '显示带有按钮的交互式轮播卡',\n- 'VoiceInput': '提出查询并保存响应或触发意图',\n- 'DynamicChat': '编写提示以即时生成对话',\n- 'Date': '要求在日历上选择日期',\n- 'StoreComment': '询问并存储用户消息并存储状态响应',\n- 'Text': '发送简单的文本消息',\n- 'Image': '显示图像',\n- 'Video': '显示视频文件',\n- 'File': '显示文件',\n- 'QuickRepliesMessage': '显示快速回复按钮',\n- 'WhatsAppList': '配置WhatsApp频道上显示的列表',\n- 'WhatsappProductCatalogue': '用于发送单个/多个产品消息',\n- 'Variables': '设置一个或多个变量的值',\n- 'Database': '对数据库表进行插入、更新和搜索操作',\n- 'API': '调用 API,分配动态参数并存储响应',\n- 'Function': '执行为函数编写的自定义代码',\n- 'ExecuteFlow': '进入另一个流程',\n- 'RaiseTicket': '收集信息后将用户连接到代理',\n- 'SendOTP': '将 OTP 发送到电话号码',\n- 'VerifyOTP': '验证输入的 OTP',\n- 'OutboundNotification': '发送出站短信、电子邮件、whatsapp、语音通知',\n- 'NotificationStatus': '检查出站通知状态',\n- 'DataFormatter': '将数据从 CSV 转换为 JSON',\n- 'SetLanguage': '更改机器人的语言',\n- 'VoiceCall': '进行语音通话',\n- 'Delay': '在组件之间添加时间延迟',\n- 'Modifier': '修改输入变量并存储修改后的值',\n- 'SwitchFlow': '退出当前流程并启动另一个流程',\n- 'GeneratePDFImage': '生成具有动态详细信息的 PDF 或图像文件',\n- 'Analytics': '捕获分析数据',\n- 'SendEvent': '发送事件',\n- 'KnowledgeSearch': '从知识库中回答用户查询',\n- 'Payment': '生成支付链接',\n- 'ConnectTransXT': '连接 TransXT 功能',\n- 'SyncDatabase': '从外部源更新数据库',\n- 'UserEvent': '触发用户事件',\n- 'PromptExecutor': '执行 LLM 提示并流式传输响应',\n- 'NameValidator': '验证名称',\n- 'EmailValidator': '验证电子邮件',\n- 'PhoneValidator': '验证电话号码',\n- 'DateTimeValidator': '验证日期和时间',\n- 'LocationValidator': '验证用户位置',\n- 'FileValidator': '验证文件',\n- 'PromptAI': '根据上下文提示 AI 并将其转化为行动',\n- 'Search': '搜索人工智能资源',\n- 'ResponseAI': '使用AI生成响应',\n- 'SetAI': '配置AI相关设置',\n- 'Assigned': '对话首次分配给助理时执行',\n- 'Close': '关闭对话',\n- 'Airpay': '创建付款链接并检查状态',\n- 'AtlassianConnect': '管理来自 Yellow.ai 的 Atlassian 产品',\n- 'AzureActiveDirectory': '使用 Azure AD 启用 SSO、个性化和 IT 控制',\n- 'BambooHR': '通过 Bamboo HR 访问员工信息',\n- 'BilldeskEmailpay': '生成付款链接并检查状态',\n- 'Billdesk': '创建 UPI 意图并检查状态',\n- 'Camspay': '生成支付链接并监控支付状态',\n- 'CashfreePayments': '创建链接并检查状态',\n- 'EPICFHIR': '通过 Epic FHIR 访问医疗记录',\n- 'FreshserviceITSM': '获取有效票证、检查状态并创建新的 IT 票证',\n- 'Freshdesk': '创建/更新票证、获取详细信息、代理信息、添加注释和观察者',\n- 'Freshteam': '访问员工信息、管理休假时间并检索职位发布',\n- 'GoogleCalendar': '创建/读取事件并查找时间段来安排事件',\n- 'GoogleIdentityManagement': '启用 SSO、个性化和 IT 控制',\n- 'GoogleSheets': '读取/写入/更新 Google 表格中的数据',\n- 'CallToAction': '引导用户采取特定行动',\n- 'Message': '发送消息给客户',\n- 'Card': '发送卡片类型的消息',\n- 'Buttons': '显示按钮供用户选择',\n- 'Choice': '提供多个选项供用户选择',\n- 'Capture': '捕获用户输入的数据',\n- 'Condition': '根据条件执行不同操作',\n- 'Set': '设置变量或状态',\n- 'Random': '执行随机操作',\n- 'Component': '使用预定义组件',\n- 'End': '结束当前流程',\n- 'Javascript': '执行自定义JavaScript代码',\n- 'CustomAction': '执行自定义定义的动作',\n- },\n panel: {\n select: '请选择',\n \n },\n" - }, - { - "date": 1727233705622, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,11 +1,7 @@\n const translation = {\n tabs: {\n },\n- panel: {\n- select: '请选择',\n- \n- },\n common: {\n employee: '数智员工',\n career: '数智岗位/职业',\n knowledgegraph: '知识图谱'\n" - }, - { - "date": 1727233713204, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,13 +1,9 @@\n const translation = {\n- tabs: {\n- },\n common: {\n employee: '数智员工',\n career: '数智岗位/职业',\n knowledgegraph: '知识图谱'\n },\n- nodes: {\n- },\n }\n \n export default translation\n" - } - ], - "date": 1727233673480, - "name": "Commit-0", - "content": "const translation = {\n tabs: {\n },\n stages: {\n 'text': '文本',\n 'resources': '资源',\n 'start-ai-user-interaction': 'AI(扮顾客)说',\n 'silent-answer': '学员(扮销售)默答',\n 'thought-answer': '学员(扮销售)想答',\n 'recited-answer': '学员(扮销售)背答',\n 'real-time-evaluation': 'AI实时评价',\n 'random-questioning': '随机提问',\n 'ai-interaction': 'AI互动',\n 'test-materials': '试题对',\n 'golden-phrases': '金牌话术对',\n 'ability-quadrant': '能力象限',\n 'step-evaluation': '每步评价',\n 'question-evaluation': '每题评价',\n 'process-follow-up': '流程跟随',\n 'zhipin': '智聘',\n 'liepin': '猎聘',\n 'recruit-ledger': '招聘台账',\n 'search': '搜索列表',\n 'jd-cv-match': '职位匹配简历',\n 'hr-recited-answer': '询问术语',\n 'hr-real-time-evaluation': '简历评估',\n 'conversation': '邀约',\n 'jd-build': '职位描述创建',\n 'publise-evp': '发布EVP',\n 'build-searchKey': '构建搜索关键词',\n 'mapping': '候选人映射',\n 'outreach-email': '外联邮件',\n 'CV-evaluation': '简历摘要',\n 'Onboarding-plan': '入职计划',\n 'Question': '问题',\n 'QuickReplies': '快速回复',\n 'Name': '姓名',\n 'Email': '电子邮件',\n 'Phone': '电话',\n 'Carousel': '轮播',\n 'VoiceInput': '语音输入',\n 'DynamicChat': '动态聊天',\n 'Date': '日期',\n 'StoreComment': '店铺评论',\n 'Text': '文本',\n 'Image': '图像',\n 'Video': '视频',\n 'File': '文件',\n 'QuickRepliesMessage': '快速回复消息',\n 'WhatsAppList': 'WhatsApp 列表',\n 'WhatsappProductCatalogue': 'WhatsApp 产品目录',\n 'Variables': '变量',\n 'Database': '数据库',\n 'API': 'API调用',\n 'Function': '功能',\n 'ExecuteFlow': '执行流程',\n 'RaiseTicket': '提高票',\n 'SendOTP': '发送一次性密码',\n 'VerifyOTP': '验证一次性密码',\n 'OutboundNotification': '出站通知',\n 'NotificationStatus': '通知状态',\n 'DataFormatter': '数据格式化程序',\n 'SetLanguage': '设置语言',\n 'VoiceCall': '语音通话',\n 'Delay': '延迟',\n 'Modifier': '修饰符',\n 'SwitchFlow': '切换流量',\n 'GeneratePDFImage': '生成 PDF/图像',\n 'Analytics': '分析',\n 'SendEvent': '发送事件',\n 'KnowledgeSearch': '知识搜索',\n 'Payment': '支付',\n 'ConnectTransXT': '连接 TransXT',\n 'SyncDatabase': '同步数据库',\n 'UserEvent': '用户事件',\n 'PromptExecutor': '提示执行者',\n 'NameValidator': '名称验证器',\n 'EmailValidator': '电子邮件验证器',\n 'PhoneValidator': '电话验证器',\n 'DateTimeValidator': '日期和时间验证器',\n 'LocationValidator': '位置验证器',\n 'FileValidator': '文件验证器',\n 'PromptAI': '提示 AI',\n 'Search': '搜索',\n 'ResponseAI': 'AI响应',\n 'SetAI': '设置AI',\n 'Assigned': '已分配',\n 'Close': '关闭',\n 'Airpay': '航空支付',\n 'AtlassianConnect': 'Atlassian 连接',\n 'AzureActiveDirectory': 'Azure 活动目录',\n 'BambooHR': '竹人力资源',\n 'BilldeskEmailpay': 'Billdesk 电子邮件支付',\n 'Billdesk': '帐单台',\n 'Camspay': '支付宝',\n 'CashfreePayments': '无现金支付',\n 'EPICFHIR': '史诗 FHIR',\n 'FreshserviceITSM': '新鲜服务 ITSM 解决方案',\n 'Freshdesk': '新鲜桌面',\n 'Freshteam': '新鲜团队',\n 'GoogleCalendar': '谷歌日历',\n 'GoogleIdentityManagement': '谷歌身份管理',\n 'GoogleSheets': '谷歌表格',\n 'CallToAction': '行动号召',\n 'Message': '消息',\n 'Card': '卡片',\n 'Buttons': '按钮',\n 'Choice': '选择',\n 'Capture': '捕获',\n 'Condition': '条件',\n 'Set': '设置',\n 'Random': '随机',\n 'Component': '组件',\n 'End': '结束',\n 'Javascript': 'JavaScript',\n 'CustomAction': '自定义动作',\n },\n\n stageAbout: {\n 'text': '包括各种文字资源',\n 'resources': '资源管理和展示',\n 'start-ai-user-interaction': 'AI 扮演用户并开始互动',\n 'silent-answer': '学员默答阶段',\n 'thought-answer': '学员通过思考作答',\n 'recited-answer': '学员背诵作答',\n 'real-time-evaluation': 'AI 对学员回答进行实时评价',\n 'random-questioning': 'AI 随机向学员提问',\n 'ai-interaction': 'AI 与学员互动',\n 'test-materials': '提供试题资源',\n 'golden-phrases': '金牌话术的资源',\n 'ability-quadrant': '展示能力象限图表',\n 'step-evaluation': '对每一步进行详细评价',\n 'question-evaluation': '对每一道题目进行评价',\n 'process-follow-up': '跟随整个流程的评价',\n 'zhipin': '智聘平台的招聘前置流程,如登录,进入搜索页',\n 'liepin': '猎聘平台的招聘前置流程,如登录,进入搜索页',\n 'recruit-ledger': '记录并管理招聘过程中的台账',\n 'search': '通过特定关键词搜索候选人列表',\n 'jd-cv-match': '将职位描述与候选人简历进行匹配',\n 'hr-recited-answer': '询问技术术语和岗位角色',\n 'hr-real-time-evaluation': '实时评估候选人的简历',\n 'conversation': '与候选人通过在线沟通要简历,沟通意向,邀约面试时间',\n 'jd-build': '创建职位描述并发布招聘信息',\n 'publise-evp': '发布雇主价值主张 (EVP)',\n 'build-searchKey': '根据职位要求构建搜索关键词',\n 'mapping': '将候选人映射到特定的职位需求',\n 'outreach-email': '发送外联邮件与候选人建立联系',\n 'CV-evaluation': '对候选人的简历进行评估并生成摘要',\n 'Onboarding-plan': '制定候选人的入职计划并跟进',\n 'Question': '提出查询并保存响应或触发意图',\n 'QuickReplies': '显示问题以及快速回复按钮',\n 'Name': '询问、验证并存储用户名',\n 'Email': '询问、验证并存储用户电子邮件',\n 'Phone': '询问、验证并存储电话号码',\n 'Carousel': '显示带有按钮的交互式轮播卡',\n 'VoiceInput': '提出查询并保存响应或触发意图',\n 'DynamicChat': '编写提示以即时生成对话',\n 'Date': '要求在日历上选择日期',\n 'StoreComment': '询问并存储用户消息并存储状态响应',\n 'Text': '发送简单的文本消息',\n 'Image': '显示图像',\n 'Video': '显示视频文件',\n 'File': '显示文件',\n 'QuickRepliesMessage': '显示快速回复按钮',\n 'WhatsAppList': '配置WhatsApp频道上显示的列表',\n 'WhatsappProductCatalogue': '用于发送单个/多个产品消息',\n 'Variables': '设置一个或多个变量的值',\n 'Database': '对数据库表进行插入、更新和搜索操作',\n 'API': '调用 API,分配动态参数并存储响应',\n 'Function': '执行为函数编写的自定义代码',\n 'ExecuteFlow': '进入另一个流程',\n 'RaiseTicket': '收集信息后将用户连接到代理',\n 'SendOTP': '将 OTP 发送到电话号码',\n 'VerifyOTP': '验证输入的 OTP',\n 'OutboundNotification': '发送出站短信、电子邮件、whatsapp、语音通知',\n 'NotificationStatus': '检查出站通知状态',\n 'DataFormatter': '将数据从 CSV 转换为 JSON',\n 'SetLanguage': '更改机器人的语言',\n 'VoiceCall': '进行语音通话',\n 'Delay': '在组件之间添加时间延迟',\n 'Modifier': '修改输入变量并存储修改后的值',\n 'SwitchFlow': '退出当前流程并启动另一个流程',\n 'GeneratePDFImage': '生成具有动态详细信息的 PDF 或图像文件',\n 'Analytics': '捕获分析数据',\n 'SendEvent': '发送事件',\n 'KnowledgeSearch': '从知识库中回答用户查询',\n 'Payment': '生成支付链接',\n 'ConnectTransXT': '连接 TransXT 功能',\n 'SyncDatabase': '从外部源更新数据库',\n 'UserEvent': '触发用户事件',\n 'PromptExecutor': '执行 LLM 提示并流式传输响应',\n 'NameValidator': '验证名称',\n 'EmailValidator': '验证电子邮件',\n 'PhoneValidator': '验证电话号码',\n 'DateTimeValidator': '验证日期和时间',\n 'LocationValidator': '验证用户位置',\n 'FileValidator': '验证文件',\n 'PromptAI': '根据上下文提示 AI 并将其转化为行动',\n 'Search': '搜索人工智能资源',\n 'ResponseAI': '使用AI生成响应',\n 'SetAI': '配置AI相关设置',\n 'Assigned': '对话首次分配给助理时执行',\n 'Close': '关闭对话',\n 'Airpay': '创建付款链接并检查状态',\n 'AtlassianConnect': '管理来自 Yellow.ai 的 Atlassian 产品',\n 'AzureActiveDirectory': '使用 Azure AD 启用 SSO、个性化和 IT 控制',\n 'BambooHR': '通过 Bamboo HR 访问员工信息',\n 'BilldeskEmailpay': '生成付款链接并检查状态',\n 'Billdesk': '创建 UPI 意图并检查状态',\n 'Camspay': '生成支付链接并监控支付状态',\n 'CashfreePayments': '创建链接并检查状态',\n 'EPICFHIR': '通过 Epic FHIR 访问医疗记录',\n 'FreshserviceITSM': '获取有效票证、检查状态并创建新的 IT 票证',\n 'Freshdesk': '创建/更新票证、获取详细信息、代理信息、添加注释和观察者',\n 'Freshteam': '访问员工信息、管理休假时间并检索职位发布',\n 'GoogleCalendar': '创建/读取事件并查找时间段来安排事件',\n 'GoogleIdentityManagement': '启用 SSO、个性化和 IT 控制',\n 'GoogleSheets': '读取/写入/更新 Google 表格中的数据',\n 'CallToAction': '引导用户采取特定行动',\n 'Message': '发送消息给客户',\n 'Card': '发送卡片类型的消息',\n 'Buttons': '显示按钮供用户选择',\n 'Choice': '提供多个选项供用户选择',\n 'Capture': '捕获用户输入的数据',\n 'Condition': '根据条件执行不同操作',\n 'Set': '设置变量或状态',\n 'Random': '执行随机操作',\n 'Component': '使用预定义组件',\n 'End': '结束当前流程',\n 'Javascript': '执行自定义JavaScript代码',\n 'CustomAction': '执行自定义定义的动作',\n },\n panel: {\n select: '请选择',\n \n },\n common: {\n employee: '数智员工',\n career: '数智岗位/职业',\n knowledgegraph: '知识图谱'\n },\n nodes: {\n },\n}\n\nexport default translation\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/graphViewer.ts.json b/.lh/src/i18n/zh-Hans/graphViewer.ts.json deleted file mode 100644 index ad382f8..0000000 --- a/.lh/src/i18n/zh-Hans/graphViewer.ts.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "sourceFile": "src/i18n/zh-Hans/graphViewer.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 10, - "patches": [ - { - "date": 1727241126503, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727244164770, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,4 +1,41 @@\n+const translation = {\n+ graphViewer: {\n+ \"searchNodesLinks\": \"Search Nodes/Links\",\n+ \"view3D\": \"3D View\",\n+ \"showNodeLabels\": \"Show Node Labels\",\n+ \"showLinkLabels\": \"Show Link Labels\",\n+ \"showHighlight\": \"Show Highlight\",\n+ \"includeDocuments\": \"Include Documents\",\n+ \"includeTextUnits\": \"Include Text Units\",\n+ \"includeCommunities\": \"Include Communities\",\n+ \"includeCovariates\": \"Include Covariates\",\n+ \"askQuery\": \"Ask Query (Local/Global Search)\",\n+ \"clearQueryResults\": \"Clear Query Results\",\n+ \"exitFullScreen\": \"Exit Full Screen\",\n+ \"fullScreen\": \"Full Screen\",\n+ \"nodes\": \"Nodes\",\n+ \"relationships\": \"Relationships\",\n+ // 添加其他需要的键值对\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"Enter search query for API\",\n+ \"localSearch\": \"Local Search\",\n+ \"globalSearch\": \"Global Search\",\n+ \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n+ \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n+ \"searchResults\": \"Search Results\",\n+ \"metadata\": \"Metadata\",\n+ \"completionTime\": \"Completion Time:\",\n+ \"llmCalls\": \"LLM Calls:\",\n+ \"promptTokens\": \"Prompt Tokens:\",\n+ \"noDataAvailable\": \"No data available\",\n+ },\n+}\n+ \n+export default translation;\n const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n \"graphViewer.view3D\": \"3D 视图\",\n \"graphViewer.showNodeLabels\": \"显示节点标签\",\n" - }, - { - "date": 1727244173469, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -35,23 +35,8 @@\n }\n \n export default translation;\n const graphViewer = {\n- \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n- \"graphViewer.view3D\": \"3D 视图\",\n- \"graphViewer.showNodeLabels\": \"显示节点标签\",\n- \"graphViewer.showLinkLabels\": \"显示关系标签\",\n- \"graphViewer.showHighlight\": \"显示高亮\",\n- \"graphViewer.includeDocuments\": \"包含文档\",\n- \"graphViewer.includeTextUnits\": \"包含文本单元\",\n- \"graphViewer.includeCommunities\": \"包含社区\",\n- \"graphViewer.includeCovariates\": \"包含协变量\",\n- \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n- \"graphViewer.clearQueryResults\": \"清除查询结果\",\n- \"graphViewer.exitFullScreen\": \"退出全屏\",\n- \"graphViewer.fullScreen\": \"全屏\",\n- \"graphViewer.nodes\": \"节点\",\n- \"graphViewer.relationships\": \"关系\",\n // 添加其他需要的键值对\n };\n \n export default graphViewer;\n" - }, - { - "date": 1727244179645, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,10 +34,5 @@\n },\n }\n \n export default translation;\n-const graphViewer = {\n- // 添加其他需要的键值对\n- };\n- \n- export default graphViewer;\n \n\\ No newline at end of file\n" - }, - { - "date": 1727244187969, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,22 +1,21 @@\n const translation = {\n graphViewer: {\n- \"searchNodesLinks\": \"Search Nodes/Links\",\n- \"view3D\": \"3D View\",\n- \"showNodeLabels\": \"Show Node Labels\",\n- \"showLinkLabels\": \"Show Link Labels\",\n- \"showHighlight\": \"Show Highlight\",\n- \"includeDocuments\": \"Include Documents\",\n- \"includeTextUnits\": \"Include Text Units\",\n- \"includeCommunities\": \"Include Communities\",\n- \"includeCovariates\": \"Include Covariates\",\n- \"askQuery\": \"Ask Query (Local/Global Search)\",\n- \"clearQueryResults\": \"Clear Query Results\",\n- \"exitFullScreen\": \"Exit Full Screen\",\n- \"fullScreen\": \"Full Screen\",\n- \"nodes\": \"Nodes\",\n- \"relationships\": \"Relationships\",\n- // 添加其他需要的键值对\n+ \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n+ \"graphViewer.view3D\": \"3D 视图\",\n+ \"graphViewer.showNodeLabels\": \"显示节点标签\",\n+ \"graphViewer.showLinkLabels\": \"显示关系标签\",\n+ \"graphViewer.showHighlight\": \"显示高亮\",\n+ \"graphViewer.includeDocuments\": \"包含文档\",\n+ \"graphViewer.includeTextUnits\": \"包含文本单元\",\n+ \"graphViewer.includeCommunities\": \"包含社区\",\n+ \"graphViewer.includeCovariates\": \"包含协变量\",\n+ \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n+ \"graphViewer.clearQueryResults\": \"清除查询结果\",\n+ \"graphViewer.exitFullScreen\": \"退出全屏\",\n+ \"graphViewer.fullScreen\": \"全屏\",\n+ \"graphViewer.nodes\": \"节点\",\n+ \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n \"placeholder\": \"Enter search query for API\",\n \"localSearch\": \"Local Search\",\n" - }, - { - "date": 1727244202489, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,22 +16,26 @@\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n- \"placeholder\": \"Enter search query for API\",\n- \"localSearch\": \"Local Search\",\n- \"globalSearch\": \"Global Search\",\n- \"serverNotRunning\": \"Server is not running. Please start the server to use the API. Follow the instructions at\",\n- \"graphragApi\": \"graphrag-api\",\n- \"enableLocalSearch\": 'Please enable \"Include Text Unit\" and \"Include Communities\"{hasCovariates, select, true {, and \"Include Covariates\"} false {}} to use Local Search.',\n- \"enableGlobalSearch\": 'Please enable \"Include Communities\" to use Global Search.',\n- \"searchResults\": \"Search Results\",\n- \"metadata\": \"Metadata\",\n- \"completionTime\": \"Completion Time:\",\n- \"llmCalls\": \"LLM Calls:\",\n- \"promptTokens\": \"Prompt Tokens:\",\n- \"noDataAvailable\": \"No data available\",\n- },\n+ const apiSearchDrawer = {\n+ \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n+ \"apiSearchDrawer.localSearch\": \"本地搜索\",\n+ \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n+ \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n+ \"apiSearchDrawer.enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"apiSearchDrawer.enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"apiSearchDrawer.searchResults\": \"搜索结果\",\n+ \"apiSearchDrawer.metadata\": \"元数据\",\n+ \"apiSearchDrawer.completionTime\": \"完成时间:\",\n+ \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n+ \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n+ \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n+ };\n+ \n+ export default apiSearchDrawer;\n+ },\n }\n \n export default translation;\n \n\\ No newline at end of file\n" - }, - { - "date": 1727244208879, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,9 +16,8 @@\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n- const apiSearchDrawer = {\n \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n \"apiSearchDrawer.localSearch\": \"本地搜索\",\n \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n" - }, - { - "date": 1727244217526, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -29,11 +29,8 @@\n \"apiSearchDrawer.completionTime\": \"完成时间:\",\n \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n- };\n- \n- export default apiSearchDrawer;\n },\n }\n \n export default translation;\n" - }, - { - "date": 1727244226422, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -16,22 +16,22 @@\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n },\n apiSearchDrawer: {\n- \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n- \"apiSearchDrawer.localSearch\": \"本地搜索\",\n- \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n- \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n- \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n- \"apiSearchDrawer.enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n- \"apiSearchDrawer.enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n- \"apiSearchDrawer.searchResults\": \"搜索结果\",\n- \"apiSearchDrawer.metadata\": \"元数据\",\n- \"apiSearchDrawer.completionTime\": \"完成时间:\",\n- \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n- \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n- \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n- },\n+ \"apiSearchDrawer.placeholder\": \"输入 API 搜索查询\",\n+ \"apiSearchDrawer.localSearch\": \"本地搜索\",\n+ \"apiSearchDrawer.globalSearch\": \"全局搜索\",\n+ \"apiSearchDrawer.serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"apiSearchDrawer.graphragApi\": \"graphrag-api\",\n+ \"apiSearchDrawer.enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"apiSearchDrawer.enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"apiSearchDrawer.searchResults\": \"搜索结果\",\n+ \"apiSearchDrawer.metadata\": \"元数据\",\n+ \"apiSearchDrawer.completionTime\": \"完成时间:\",\n+ \"apiSearchDrawer.llmCalls\": \"LLM 调用次数:\",\n+ \"apiSearchDrawer.promptTokens\": \"提示令牌数:\",\n+ \"apiSearchDrawer.noDataAvailable\": \"无可用数据\",\n+ },\n }\n \n export default translation;\n \n\\ No newline at end of file\n" - }, - { - "date": 1727244233431, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,37 @@\n+const translation = {\n+ graphViewer: {\n+ \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n+ \"graphViewer.view3D\": \"3D 视图\",\n+ \"graphViewer.showNodeLabels\": \"显示节点标签\",\n+ \"graphViewer.showLinkLabels\": \"显示关系标签\",\n+ \"graphViewer.showHighlight\": \"显示高亮\",\n+ \"graphViewer.includeDocuments\": \"包含文档\",\n+ \"graphViewer.includeTextUnits\": \"包含文本单元\",\n+ \"graphViewer.includeCommunities\": \"包含社区\",\n+ \"graphViewer.includeCovariates\": \"包含协变量\",\n+ \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n+ \"graphViewer.clearQueryResults\": \"清除查询结果\",\n+ \"graphViewer.exitFullScreen\": \"退出全屏\",\n+ \"graphViewer.fullScreen\": \"全屏\",\n+ \"graphViewer.nodes\": \"节点\",\n+ \"graphViewer.relationships\": \"关系\",\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"输入 API 搜索查询\",\n+ \"localSearch\": \"本地搜索\",\n+ \"globalSearch\": \"全局搜索\",\n+ \"serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"searchResults\": \"搜索结果\",\n+ \"metadata\": \"元数据\",\n+ \"completionTime\": \"完成时间:\",\n+ \"llmCalls\": \"LLM 调用次数:\",\n+ \"promptTokens\": \"提示令牌数:\",\n+ \"noDataAvailable\": \"无可用数据\",\n+ },\n+}\n+ \n+export default translation;\n+ \n\\ No newline at end of file\n" - }, - { - "date": 1727244240842, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,37 @@\n+const translation = {\n+ graphViewer: {\n+ \"searchNodesLinks\": \"搜索节点/关系\",\n+ \"view3D\": \"3D 视图\",\n+ \"showNodeLabels\": \"显示节点标签\",\n+ \"showLinkLabels\": \"显示关系标签\",\n+ \"showHighlight\": \"显示高亮\",\n+ \"includeDocuments\": \"包含文档\",\n+ \"includeTextUnits\": \"包含文本单元\",\n+ \"includeCommunities\": \"包含社区\",\n+ \"includeCovariates\": \"包含协变量\",\n+ \"askQuery\": \"查询(本地/全局搜索)\",\n+ \"clearQueryResults\": \"清除查询结果\",\n+ \"exitFullScreen\": \"退出全屏\",\n+ \"fullScreen\": \"全屏\",\n+ \"nodes\": \"节点\",\n+ \"relationships\": \"关系\",\n+ },\n+ apiSearchDrawer: {\n+ \"placeholder\": \"输入 API 搜索查询\",\n+ \"localSearch\": \"本地搜索\",\n+ \"globalSearch\": \"全局搜索\",\n+ \"serverNotRunning\": \"服务器未运行。请启动服务器以使用 API。请按照以下说明操作\",\n+ \"graphragApi\": \"graphrag-api\",\n+ \"enableLocalSearch\": '请启用“包含文本单元”和“包含社区”{hasCovariates, select, true {,以及“包含协变量”} false {}}以使用本地搜索。',\n+ \"enableGlobalSearch\": '请启用“包含社区”以使用全局搜索。',\n+ \"searchResults\": \"搜索结果\",\n+ \"metadata\": \"元数据\",\n+ \"completionTime\": \"完成时间:\",\n+ \"llmCalls\": \"LLM 调用次数:\",\n+ \"promptTokens\": \"提示令牌数:\",\n+ \"noDataAvailable\": \"无可用数据\",\n+ },\n+}\n+ \n+export default translation;\n+ \n\\ No newline at end of file\n" - } - ], - "date": 1727241126503, - "name": "Commit-0", - "content": "const graphViewer = {\n \"graphViewer.searchNodesLinks\": \"搜索节点/关系\",\n \"graphViewer.view3D\": \"3D 视图\",\n \"graphViewer.showNodeLabels\": \"显示节点标签\",\n \"graphViewer.showLinkLabels\": \"显示关系标签\",\n \"graphViewer.showHighlight\": \"显示高亮\",\n \"graphViewer.includeDocuments\": \"包含文档\",\n \"graphViewer.includeTextUnits\": \"包含文本单元\",\n \"graphViewer.includeCommunities\": \"包含社区\",\n \"graphViewer.includeCovariates\": \"包含协变量\",\n \"graphViewer.askQuery\": \"查询(本地/全局搜索)\",\n \"graphViewer.clearQueryResults\": \"清除查询结果\",\n \"graphViewer.exitFullScreen\": \"退出全屏\",\n \"graphViewer.fullScreen\": \"全屏\",\n \"graphViewer.nodes\": \"节点\",\n \"graphViewer.relationships\": \"关系\",\n // 添加其他需要的键值对\n };\n \n export default graphViewer;\n " - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/introduction.ts.json b/.lh/src/i18n/zh-Hans/introduction.ts.json deleted file mode 100644 index 1cb7902..0000000 --- a/.lh/src/i18n/zh-Hans/introduction.ts.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "sourceFile": "src/i18n/zh-Hans/introduction.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 4, - "patches": [ - { - "date": 1727240676388, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727240751697, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n-{\n+const translation = {\n+ {\n \"introduction.welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n \"introduction.overview\": \"概述\",\n \"introduction.overviewDescription\": \"该应用程序可视化微软\",\n \"introduction.overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n" - }, - { - "date": 1727240756717, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,39 +1,38 @@\n const translation = {\n- {\n- \"introduction.welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n- \"introduction.overview\": \"概述\",\n- \"introduction.overviewDescription\": \"该应用程序可视化微软\",\n- \"introduction.overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n- \"introduction.demoImageAlt\": \"演示\",\n- \"introduction.features\": \"功能\",\n- \"introduction.feature1Title\": \"图形可视化:\",\n- \"introduction.feature1Description\": \"在“图形可视化”选项卡中以 2D 或 3D 查看图形。\",\n- \"introduction.feature2Title\": \"数据表:\",\n- \"introduction.feature2Description\": \"在“数据表”选项卡中显示 parquet 文件中的数据。\",\n- \"introduction.feature3Title\": \"搜索功能:\",\n- \"introduction.feature3Description\": \"完全支持搜索,允许用户专注于特定的节点或关系。\",\n- \"introduction.feature4Title\": \"本地处理:\",\n- \"introduction.feature4Description\": \"您的文件将在本地机器上处理,不会上传到任何地方,确保您的数据安全和私密。\",\n- \"introduction.usingSearchFunctionality\": \"使用搜索功能\",\n- \"introduction.searchDescription1\": \"一旦\",\n- \"introduction.searchDescription2\": \"服务器启动并运行,您可以直接通过 GraphRAG 可视化工具执行搜索。这使您可以轻松搜索和探索托管在本地服务器上的数据。\",\n- \"introduction.searchImageAlt\": \"搜索\",\n- \"introduction.graphDataModel\": \"图形数据模型\",\n- \"introduction.graphDataModelDescription\": \"创建文本单元、文档、社区和协变量的关系逻辑来自\",\n- \"introduction.graphDataModelLinkText\": \"GraphRAG 导入 Neo4j Cypher 笔记本\",\n- \"introduction.nodes\": \"节点\",\n- \"introduction.node\": \"节点\",\n- \"introduction.type\": \"类型\",\n- \"introduction.document\": \"文档\",\n- \"introduction.textUnit\": \"文本单元\",\n- \"introduction.community\": \"社区\",\n- \"introduction.finding\": \"发现\",\n- \"introduction.covariate\": \"协变量\",\n- \"introduction.entity\": \"实体\",\n- \"introduction.varies\": \"多种\",\n- \"introduction.relationships\": \"关系\",\n- \"introduction.sourceNode\": \"源节点\",\n- \"introduction.relationship\": \"关系\",\n- \"introduction.targetNode\": \"目标节点\"\n+ \"welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n+ \"overview\": \"概述\",\n+ \"overviewDescription\": \"该应用程序可视化微软\",\n+ \"overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n+ \"demoImageAlt\": \"演示\",\n+ \"features\": \"功能\",\n+ \"feature1Title\": \"图形可视化:\",\n+ \"feature1Description\": \"在“图形可视化”选项卡中以 2D 或 3D 查看图形。\",\n+ \"feature2Title\": \"数据表:\",\n+ \"feature2Description\": \"在“数据表”选项卡中显示 parquet 文件中的数据。\",\n+ \"feature3Title\": \"搜索功能:\",\n+ \"feature3Description\": \"完全支持搜索,允许用户专注于特定的节点或关系。\",\n+ \"feature4Title\": \"本地处理:\",\n+ \"feature4Description\": \"您的文件将在本地机器上处理,不会上传到任何地方,确保您的数据安全和私密。\",\n+ \"usingSearchFunctionality\": \"使用搜索功能\",\n+ \"searchDescription1\": \"一旦\",\n+ \"searchDescription2\": \"服务器启动并运行,您可以直接通过 GraphRAG 可视化工具执行搜索。这使您可以轻松搜索和探索托管在本地服务器上的数据。\",\n+ \"searchImageAlt\": \"搜索\",\n+ \"graphDataModel\": \"图形数据模型\",\n+ \"graphDataModelDescription\": \"创建文本单元、文档、社区和协变量的关系逻辑来自\",\n+ \"graphDataModelLinkText\": \"GraphRAG 导入 Neo4j Cypher 笔记本\",\n+ \"nodes\": \"节点\",\n+ \"node\": \"节点\",\n+ \"type\": \"类型\",\n+ \"document\": \"文档\",\n+ \"textUnit\": \"文本单元\",\n+ \"community\": \"社区\",\n+ \"finding\": \"发现\",\n+ \"covariate\": \"协变量\",\n+ \"entity\": \"实体\",\n+ \"varies\": \"多种\",\n+ \"relationships\": \"关系\",\n+ \"sourceNode\": \"源节点\",\n+ \"relationship\": \"关系\",\n+ \"targetNode\": \"目标节点\"\n }\n \n\\ No newline at end of file\n" - }, - { - "date": 1727240782603, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -34,5 +34,6 @@\n \"sourceNode\": \"源节点\",\n \"relationship\": \"关系\",\n \"targetNode\": \"目标节点\"\n }\n+ \n \n\\ No newline at end of file\n" - }, - { - "date": 1727240787768, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -33,7 +33,7 @@\n \"relationships\": \"关系\",\n \"sourceNode\": \"源节点\",\n \"relationship\": \"关系\",\n \"targetNode\": \"目标节点\"\n- }\n+}\n \n\\ No newline at end of file\n- \n+export default translation\n" - } - ], - "date": 1727240676388, - "name": "Commit-0", - "content": "{\n \"introduction.welcome\": \"欢迎使用 GraphRAG 可视化工具\",\n \"introduction.overview\": \"概述\",\n \"introduction.overviewDescription\": \"该应用程序可视化微软\",\n \"introduction.overviewDescription2\": \"的成果。只需上传 parquet 文件即可可视化数据,无需额外的软件,如 Gephi、Neo4j 或 Jupyter Notebook。\",\n \"introduction.demoImageAlt\": \"演示\",\n \"introduction.features\": \"功能\",\n \"introduction.feature1Title\": \"图形可视化:\",\n \"introduction.feature1Description\": \"在“图形可视化”选项卡中以 2D 或 3D 查看图形。\",\n \"introduction.feature2Title\": \"数据表:\",\n \"introduction.feature2Description\": \"在“数据表”选项卡中显示 parquet 文件中的数据。\",\n \"introduction.feature3Title\": \"搜索功能:\",\n \"introduction.feature3Description\": \"完全支持搜索,允许用户专注于特定的节点或关系。\",\n \"introduction.feature4Title\": \"本地处理:\",\n \"introduction.feature4Description\": \"您的文件将在本地机器上处理,不会上传到任何地方,确保您的数据安全和私密。\",\n \"introduction.usingSearchFunctionality\": \"使用搜索功能\",\n \"introduction.searchDescription1\": \"一旦\",\n \"introduction.searchDescription2\": \"服务器启动并运行,您可以直接通过 GraphRAG 可视化工具执行搜索。这使您可以轻松搜索和探索托管在本地服务器上的数据。\",\n \"introduction.searchImageAlt\": \"搜索\",\n \"introduction.graphDataModel\": \"图形数据模型\",\n \"introduction.graphDataModelDescription\": \"创建文本单元、文档、社区和协变量的关系逻辑来自\",\n \"introduction.graphDataModelLinkText\": \"GraphRAG 导入 Neo4j Cypher 笔记本\",\n \"introduction.nodes\": \"节点\",\n \"introduction.node\": \"节点\",\n \"introduction.type\": \"类型\",\n \"introduction.document\": \"文档\",\n \"introduction.textUnit\": \"文本单元\",\n \"introduction.community\": \"社区\",\n \"introduction.finding\": \"发现\",\n \"introduction.covariate\": \"协变量\",\n \"introduction.entity\": \"实体\",\n \"introduction.varies\": \"多种\",\n \"introduction.relationships\": \"关系\",\n \"introduction.sourceNode\": \"源节点\",\n \"introduction.relationship\": \"关系\",\n \"introduction.targetNode\": \"目标节点\"\n }\n " - } - ] -} \ No newline at end of file diff --git a/.lh/src/i18n/zh-Hans/layout.ts.json b/.lh/src/i18n/zh-Hans/layout.ts.json deleted file mode 100644 index 1d9d484..0000000 --- a/.lh/src/i18n/zh-Hans/layout.ts.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "sourceFile": "src/i18n/zh-Hans/layout.ts", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 18, - "patches": [ - { - "date": 1727233774313, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727234902576, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,10 @@\n const translation = {\n tabs: {\n },\n- }\n+ \"tooltip\": {\n+ \"turnOnLight\": \"Turn on the light\",\n+ \"turnOffLight\": \"Turn off the light\"\n+ }\n+ }\n \n export default translation\n" - }, - { - "date": 1727234908267, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -4,7 +4,7 @@\n \"tooltip\": {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n- }\n+ }\n \n export default translation\n" - }, - { - "date": 1727234915664, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,10 +1,10 @@\n const translation = {\n tabs: {\n },\n- \"tooltip\": {\n+ tooltip\": {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n- }\n+}\n \n export default translation\n" - }, - { - "date": 1727234938200, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,12 @@\n const translation = {\n tabs: {\n },\n- tooltip\": {\n+ \"tooltip\": {\n+ \"turnOnLight\": \"打开灯光\",\n+ \"turnOffLight\": \"关闭灯光\"\n+ }\n+ tooltip: {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n }\n" - }, - { - "date": 1727234943564, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,12 +1,12 @@\n const translation = {\n tabs: {\n },\n- \"tooltip\": {\n+ tooltip\": {\n \"turnOnLight\": \"打开灯光\",\n \"turnOffLight\": \"关闭灯光\"\n }\n- tooltip: {\n+ tooltip: {\n \"turnOnLight\": \"Turn on the light\",\n \"turnOffLight\": \"Turn off the light\"\n }\n }\n" - }, - { - "date": 1727234950573, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,14 +1,10 @@\n const translation = {\n tabs: {\n },\n- tooltip\": {\n+ tooltip: {\n \"turnOnLight\": \"打开灯光\",\n \"turnOffLight\": \"关闭灯光\"\n }\n- tooltip: {\n- \"turnOnLight\": \"Turn on the light\",\n- \"turnOffLight\": \"Turn off the light\"\n- }\n }\n \n export default translation\n" - }, - { - "date": 1727235039755, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n const translation = {\n tabs: {\n },\n tooltip: {\n- \"turnOnLight\": \"打开灯光\",\n+ \"turnOnLight\": \"打开光\",\n \"turnOffLight\": \"关闭灯光\"\n }\n }\n \n" - }, - { - "date": 1727235045188, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n const translation = {\n tabs: {\n },\n tooltip: {\n- \"turnOnLight\": \"打开光\",\n+ \"turnOnLight\": \"亮\",\n \"turnOffLight\": \"关闭灯光\"\n }\n }\n \n" - }, - { - "date": 1727235051700, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -2,9 +2,9 @@\n tabs: {\n },\n tooltip: {\n \"turnOnLight\": \"亮\",\n- \"turnOffLight\": \"关闭灯光\"\n+ \"turnOffLight\": \"\"\n }\n }\n \n export default translation\n" - }, - { - "date": 1727235249312, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,13 @@\n+const translation = {\n+ tabs: {\n+ \"uploadArtifacts\": \"上传文件\",\n+ \"graphVisualization\": \"图形可视化\",\n+ \"dataTables\": \"数据表\"\n+ },\n+ tooltip: {\n+ \"turnOnLight\": \"亮\",\n+ \"turnOffLight\": \"暗\"\n+ }\n+}\n+\n+export default translation\n" - }, - { - "date": 1727236026055, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,8 @@\n const translation = {\n tabs: {\n \"uploadArtifacts\": \"上传文件\",\n- \"graphVisualization\": \"图形可视化\",\n+ \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n \"turnOnLight\": \"亮\",\n@@ -10,14 +10,4 @@\n }\n }\n \n export default translation\n-const translation = {\n- tabs: {\n- },\n- tooltip: {\n- \"turnOnLight\": \"亮\",\n- \"turnOffLight\": \"\"\n- }\n-}\n-\n-export default translation\n" - }, - { - "date": 1727236035758, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n tabs: {\n- \"uploadArtifacts\": \"上传文件\",\n+ \"uploadArtifacts\": \"文件\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" - }, - { - "date": 1727236042924, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n tabs: {\n- \"uploadArtifacts\": \"文件\",\n+ \"uploadArtifacts\": \"导入GAP\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" - }, - { - "date": 1727236049027, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n tabs: {\n- \"uploadArtifacts\": \"导入GAP\",\n+ \"uploadArtifacts\": \"导入GRAP\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" - }, - { - "date": 1727236096521, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n const translation = {\n- tabs: {\n- \"uploadArtifacts\": \"导入GRAP\",\n+ “tabs: {\n+ \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n tooltip: {\n" - }, - { - "date": 1727236102723, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,6 @@\n const translation = {\n- “tabs: {\n+ “tabs\": {\n \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n" - }, - { - "date": 1727236108311, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,11 +1,11 @@\n const translation = {\n- “tabs\": {\n+ \"tabs\": {\n \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n- tooltip: {\n+ \"tooltip: {\n \"turnOnLight\": \"亮\",\n \"turnOffLight\": \"暗\"\n }\n }\n" - }, - { - "date": 1727240125195, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -3,11 +3,11 @@\n \"uploadArtifacts\": \"导入\",\n \"graphVisualization\": \"可视化\",\n \"dataTables\": \"数据表\"\n },\n- \"tooltip: {\n+ \"tooltip\": {\n \"turnOnLight\": \"亮\",\n \"turnOffLight\": \"暗\"\n- }\n+ },\n }\n \n export default translation\n" - } - ], - "date": 1727233774313, - "name": "Commit-0", - "content": "const translation = {\n tabs: {\n },\n }\n\nexport default translation\n" - } - ] -} \ No newline at end of file diff --git a/.lh/src/index.tsx.json b/.lh/src/index.tsx.json deleted file mode 100644 index 046be8c..0000000 --- a/.lh/src/index.tsx.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "sourceFile": "src/index.tsx", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 5, - "patches": [ - { - "date": 1727239352234, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727239358233, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-i\n+import \"\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" - }, - { - "date": 1727239363392, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"\"\n+import \"@/i18n\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" - }, - { - "date": 1727239391099, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"@/i18n\"\n+import \"@/i18n/\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" - }, - { - "date": 1727239553790, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"@/i18n/\"\n+import \"@/i18n\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" - }, - { - "date": 1727239681610, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,9 +1,9 @@\n import React from \"react\";\n import ReactDOM from \"react-dom/client\";\n import App from \"./app/layout/App\";\n import reportWebVitals from \"./reportWebVitals\";\n-import \"@/i18n\"\n+import \"./i18n\"\n \n const root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n );\n" - } - ], - "date": 1727239352234, - "name": "Commit-0", - "content": "import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport App from \"./app/layout/App\";\nimport reportWebVitals from \"./reportWebVitals\";\ni\n\nconst root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n);\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n" - } - ] -} \ No newline at end of file diff --git a/.lh/tsconfig.json.json b/.lh/tsconfig.json.json deleted file mode 100644 index d513380..0000000 --- a/.lh/tsconfig.json.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "sourceFile": "tsconfig.json", - "activeCommit": 0, - "commits": [ - { - "activePatchIndex": 3, - "patches": [ - { - "date": 1727234485688, - "content": "Index: \n===================================================================\n--- \n+++ \n" - }, - { - "date": 1727234494492, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n- \"jsx\": \"react-jsx\"\n+ \"jsx\": \"react-jsx\",\n \"baseUrl\": \".\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n" - }, - { - "date": 1727234503482, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,9 @@\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n- \"jsx\": \"react-jsx\",\n+ \"jsx\": \"react-jsx\",\n \"baseUrl\": \".\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n" - }, - { - "date": 1727239251096, - "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\",\n- \"baseUrl\": \".\",\n+ \"baseUrl\": \"src\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n },\n" - } - ], - "date": 1727234485688, - "name": "Commit-0", - "content": "{\n \"compilerOptions\": {\n \"target\": \"es2015\",\n \"lib\": [\n \"dom\",\n \"dom.iterable\",\n \"esnext\"\n ],\n \"allowJs\": true,\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"allowSyntheticDefaultImports\": true,\n \"strict\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"module\": \"esnext\",\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\"\n \"baseUrl\": \".\",\n \"paths\": {\n \"@/*\": [\"src/*\"]\n }\n },\n \"include\": [\n \"src\"\n ]\n}\n" - } - ] -} \ No newline at end of file From 7ebcf7db970606a8e6e5b06e533e120f8cd72db7 Mon Sep 17 00:00:00 2001 From: zederer Date: Thu, 26 Sep 2024 10:27:33 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=AF=BB=E5=8F=96URL?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E7=9A=84s3=E6=A1=B6=E5=8F=8A=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=B8=8A=E7=9A=84=E6=96=87=E4=BB=B6=EF=BC=8C=20?= =?UTF-8?q?=E5=90=8E=E7=BB=AD=E6=8A=8A=E4=B8=8A=E4=BC=A0=E4=B9=9F=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5s3=E3=80=82=20=E5=BD=93=E5=89=8D=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=9A=84minio=20=E6=9B=BF=E4=BB=A3=20s3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 ++ docker-compose.yml | 4 + package-lock.json | 297 ++++++++++++++++++++++-- package.json | 9 +- src/app/components/GraphDataHandler.tsx | 68 +++++- src/app/components/GraphViewer.tsx | 2 +- src/app/hooks/useFileHandler.ts | 12 +- src/app/layout/App.tsx | 10 +- src/app/utils/parquet-utils.ts | 11 +- 9 files changed, 394 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index bcb4087..1fd164c 100644 --- a/README.md +++ b/README.md @@ -46,3 +46,20 @@ The logic for creating relationships for text units, documents, communities, and | Text Unit | `HAS_COVARIATE` | Covariate | | Community | `HAS_FINDING` | Finding | | Entity | `IN_COMMUNITY` | Community | + + +## + + +```bash + +docker compose build + +docker compose up -d + +images=$(grep 'image:' docker-compose.yml | awk '{print $2}') + +docker save -o graphrag-visualizer.tar $images + + +``` \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index aa3a616..b2972d2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,6 +10,10 @@ services: - "3004:3004" environment: NODE_ENV: development + MINIO_ACCESS_KEY: minio // 设置环境变量或直接传值 + MINIO_SECRET_KEY: minio@123 + MINIO_ENDPOINT: http://192.168.1.182:9080 // Minio 的 S3 兼容地址 + volumes: - /opt/dintal/work/graphrag-visualizer:/app/graphrag-visualizer/data networks: diff --git a/package-lock.json b/package-lock.json index cf2f24e..ec2407b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@types/node": "^16.18.104", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", + "aws-sdk": "^2.1691.0", "axios": "^1.7.2", "fuse.js": "^7.0.0", "hyparquet": "^1.1.0", @@ -6188,6 +6189,48 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aws-sdk": { + "version": "2.1691.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1691.0.tgz", + "integrity": "sha512-/F2YC+DlsY3UBM2Bdnh5RLHOPNibS/+IcjUuhP8XuctyrN+MlL+fWDAiela32LTDk7hMy4rx8MTgvbJ+0blO5g==", + "hasInstallScript": true, + "dependencies": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aws-sdk/node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/aws-sdk/node_modules/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + }, + "node_modules/aws-sdk/node_modules/uuid": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/axe-core": { "version": "4.10.0", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", @@ -6537,6 +6580,25 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -6739,12 +6801,27 @@ "node-int64": "^0.4.0" } }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.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==", "license": "MIT" }, + "node_modules/buffer/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "node_modules/builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", @@ -8323,15 +8400,6 @@ "tslib": "^2.0.3" } }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=10" - } - }, "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", @@ -11008,6 +11076,11 @@ "node": ">=4" } }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -13901,6 +13974,14 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -16769,6 +16850,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -17167,11 +17257,6 @@ "react": "*" } }, - "node_modules/react-ga4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", - "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==" - }, "node_modules/react-i18next": { "version": "12.3.1", "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz", @@ -17295,6 +17380,14 @@ } } }, + "node_modules/react-scripts/node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, "node_modules/react-table": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/react-table/-/react-table-7.8.0.tgz", @@ -19798,6 +19891,15 @@ "punycode": "^2.1.0" } }, + "node_modules/url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -19808,6 +19910,23 @@ "requires-port": "^1.0.0" } }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -20831,6 +20950,26 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "license": "Apache-2.0" }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", @@ -24837,6 +24976,40 @@ "possible-typed-array-names": "^1.0.0" } }, + "aws-sdk": { + "version": "2.1691.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1691.0.tgz", + "integrity": "sha512-/F2YC+DlsY3UBM2Bdnh5RLHOPNibS/+IcjUuhP8XuctyrN+MlL+fWDAiela32LTDk7hMy4rx8MTgvbJ+0blO5g==", + "requires": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.6.2" + }, + "dependencies": { + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + }, + "uuid": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" + } + } + }, "axe-core": { "version": "4.10.0", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", @@ -25089,6 +25262,11 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -25228,6 +25406,23 @@ "node-int64": "^0.4.0" } }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + } + } + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -26276,11 +26471,6 @@ "tslib": "^2.0.3" } }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, "dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", @@ -28091,6 +28281,11 @@ "harmony-reflect": "^1.4.6" } }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, "ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -30004,6 +30199,11 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==" }, + "jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -31764,6 +31964,11 @@ "side-channel": "^1.0.6" } }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -32027,11 +32232,6 @@ "react-kapsule": "2" } }, - "react-ga4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", - "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==" - }, "react-i18next": { "version": "12.3.1", "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz", @@ -32113,6 +32313,13 @@ "webpack-dev-server": "^4.6.0", "webpack-manifest-plugin": "^4.0.2", "workbox-webpack-plugin": "^6.4.1" + }, + "dependencies": { + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + } } }, "react-table": { @@ -33808,6 +34015,22 @@ "punycode": "^2.1.0" } }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + } + } + }, "url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -33817,6 +34040,18 @@ "requires-port": "^1.0.0" } }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -34552,6 +34787,20 @@ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" }, + "xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, "xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", diff --git a/package.json b/package.json index 1c9bb0e..b44fd75 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,11 @@ "@types/node": "^16.18.104", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", + "aws-sdk": "^2.1691.0", "axios": "^1.7.2", "fuse.js": "^7.0.0", "hyparquet": "^1.1.0", + "i18next": "^22.4.13", "material-react-table": "^2.13.1", "react": "^18.3.1", "react-app-rewired": "^2.2.1", @@ -25,19 +27,18 @@ "react-dropzone": "^14.2.3", "react-force-graph-2d": "^1.25.5", "react-force-graph-3d": "^1.24.3", + "react-i18next": "^12.2.0", "react-scripts": "^5.0.1", "react-table": "^7.8.0", "three": "^0.167.1", "three-spritetext": "^1.8.2", "typescript": "^4.9.5", - "web-vitals": "^2.1.4", - "i18next": "^22.4.13", - "react-i18next": "^12.2.0" + "web-vitals": "^2.1.4" }, "scripts": { "predeploy": "npm run build", "deploy": "gh-pages -d build", - "start": "PORT=3004 react-app-rewired start", + "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test", "eject": "react-scripts eject" diff --git a/src/app/components/GraphDataHandler.tsx b/src/app/components/GraphDataHandler.tsx index 5a52d3f..f0b5b73 100644 --- a/src/app/components/GraphDataHandler.tsx +++ b/src/app/components/GraphDataHandler.tsx @@ -8,8 +8,19 @@ import useFileHandler from "../hooks/useFileHandler"; import useGraphData from "../hooks/useGraphData"; import DataTableContainer from "./DataTableContainer"; import { useTranslation } from 'react-i18next'; +import AWS from 'aws-sdk'; -const GraphDataHandler: React.FC = () => { +// 配置 Minio 客户端 +const s3 = new AWS.S3({ + accessKeyId: process.env.REACT_APP_MINIO_ACCESS_KEY, // 设置环境变量或直接传值 + secretAccessKey: process.env.REACT_APP_MINIO_SECRET_KEY, + endpoint: process.env.REACT_APP_MINIO_ENDPOINT, // Minio 的 S3 兼容地址 + s3ForcePathStyle: true, + signatureVersion: 'v4', +}); + + +const GraphDataHandler: React.FC<{ categary: string|null }> = ({ categary }) => { const { t } = useTranslation('layout'); const [tabIndex, setTabIndex] = useState(0); const [graphType, setGraphType] = useState<"2d" | "3d">("2d"); @@ -64,6 +75,61 @@ const GraphDataHandler: React.FC = () => { } }, [entities]); + useEffect(() => { + if (categary) { + // 从 Minio 加载数据 + loadParquetFilesFromMinio(categary); + } + }, [categary]); + + // 加载 Parquet 文件 + async function loadParquetFilesFromMinio(categary: string) { + const bucketName = process.env.REACT_APP_MINIO_BUCKET || 'graphrag' + try { + const params = { + Bucket: bucketName, + Prefix: categary, // categary作为目录路径前缀 + }; + + const objects = await s3.listObjectsV2(params).promise(); + const buffers: { name: string, buffer: ArrayBuffer }[] = []; + for (const object of objects.Contents || []) { + if (object.Key && object.Key.endsWith(".parquet")) { + const getObjectParams = { + Bucket: bucketName, + Key: object.Key!, + }; + + const data = await s3.getObject(getObjectParams).promise(); + + let arrayBuffer; + if (data.Body instanceof Uint8Array) { + arrayBuffer = data.Body.buffer; // 转换为 ArrayBuffer + } else if (data.Body instanceof ArrayBuffer) { + arrayBuffer = data.Body; // 已经是 ArrayBuffer + } else { + console.error("Unknown data type from S3"); + continue; // 跳过未知类型 + } + + const lastSlashIndex = object.Key.lastIndexOf("/"); + const fileName = lastSlashIndex !== -1 + ? object.Key.slice(lastSlashIndex + 1) // 仅保留文件名部分 + : object.Key; // 如果没有斜杠,则整个就是文件名 + // 将数据添加到数组中 + buffers.push({ + name: fileName, + buffer: arrayBuffer, + }); + } + } + await handleFilesRead(buffers); + + } catch (error) { + console.error('Error loading parquet files from Minio:', error); + } + } + const onDrop = (acceptedFiles: File[]) => { handleFilesRead(acceptedFiles); }; diff --git a/src/app/components/GraphViewer.tsx b/src/app/components/GraphViewer.tsx index fdacc73..6d7b5ef 100644 --- a/src/app/components/GraphViewer.tsx +++ b/src/app/components/GraphViewer.tsx @@ -106,7 +106,7 @@ const GraphViewer: React.FC = ({ const [linkedRelationships, setLinkedRelationships] = useState( [] ); - const [showLabels, setShowLabels] = useState(false); + const [showLabels, setShowLabels] = useState(true); const [showLinkLabels, setShowLinkLabels] = useState(false); const [showHighlight, setShowHighlight] = useState(true); const graphRef = useRef(); diff --git a/src/app/hooks/useFileHandler.ts b/src/app/hooks/useFileHandler.ts index 5f5cf32..69c09fd 100644 --- a/src/app/hooks/useFileHandler.ts +++ b/src/app/hooks/useFileHandler.ts @@ -6,7 +6,7 @@ import { TextUnit } from "../models/text-unit"; import { Community } from "../models/community"; import { CommunityReport } from "../models/community-report"; import { Covariate } from "../models/covariate"; -import { readParquetFile } from "../utils/parquet-utils"; +import { readParquetFile, readParquetBuffer } from "../utils/parquet-utils"; const fileSchemas: { [key: string]: string } = { "create_final_entities.parquet": "entity", @@ -27,7 +27,7 @@ const useFileHandler = () => { const [covariates, setCovariates] = useState([]); const [communityReports, setCommunityReports] = useState([]); - const handleFilesRead = async (files: File[]) => { + const handleFilesRead = async (files: File[] | { name: string, buffer: ArrayBuffer}[]) => { const entitiesArray: Entity[][] = []; const relationshipsArray: Relationship[][] = []; const documentsArray: Document[][] = []; @@ -35,10 +35,14 @@ const useFileHandler = () => { const communitiesArray: Community[][] = []; const communityReportsArray: CommunityReport[][] = []; const covariatesArray: Covariate[][] = []; - for (const file of files) { const schema = fileSchemas[file.name]; - const data = await readParquetFile(file, schema); + let data = []; + if (file instanceof File) { + data = await readParquetFile(file, schema); + } else if (file.buffer instanceof ArrayBuffer) { + data = await readParquetBuffer(file.buffer, schema); + } if (schema === "entity") { entitiesArray.push(data); diff --git a/src/app/layout/App.tsx b/src/app/layout/App.tsx index c3b4174..f59e85f 100644 --- a/src/app/layout/App.tsx +++ b/src/app/layout/App.tsx @@ -20,6 +20,7 @@ import { useTranslation } from 'react-i18next'; const App: React.FC = () => { const { t } = useTranslation('layout'); const [darkMode, setDarkMode] = useState(true); + const [categary, setCategary] = useState(null); const paletteType = darkMode ? "dark" : "light"; const theme = createTheme({ @@ -57,6 +58,13 @@ const App: React.FC = () => { useEffect(() => { const currentTheme = localStorage.getItem("theme"); setDarkMode(currentTheme === "dark"); + + // 获取 URL 中的 categary 参数 + const queryParams = new URLSearchParams(window?.location?.search); + const categaryParam = queryParams.get('categary'); + if (categaryParam) { + setCategary(categaryParam); + } }, []); return ( @@ -100,7 +108,7 @@ const App: React.FC = () => { )} - + ); diff --git a/src/app/utils/parquet-utils.ts b/src/app/utils/parquet-utils.ts index 2225a72..63032f5 100644 --- a/src/app/utils/parquet-utils.ts +++ b/src/app/utils/parquet-utils.ts @@ -31,10 +31,19 @@ const parseValue = (value: any, type: 'number' | 'bigint'): any => { } return type === 'bigint' ? BigInt(value) : Number(value); }; - export const readParquetFile = async (file: File, schema?: string): Promise => { try { const arrayBuffer = await file.arrayBuffer(); + return readParquetBuffer(arrayBuffer, schema) + }catch (err) { + console.error("Error reading Parquet file", err); + return []; + } +} + +export const readParquetBuffer = async (arrayBuffer: ArrayBuffer, schema?: string): Promise => { + + try { const asyncBuffer = new AsyncBuffer(arrayBuffer); return new Promise((resolve, reject) => {

(&}e8N)Sk0+O^|D{&Avui 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 M+Y^cY`bzcx2efK60{{R3 literal 0 HcmV?d00001 diff --git a/dataset/create_summarized_entities.parquet b/dataset/create_summarized_entities.parquet new file mode 100644 index 0000000000000000000000000000000000000000..08c84626ba11a89116fbc8b05dce67113b3811b9 GIT binary patch literal 59226 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%0A3s^rrAW#> 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 Wi%>Umd1?~*q51*6Y^uGXc&piJC literal 0 HcmV?d00001 diff --git a/dataset/join_text_units_to_covariate_ids.parquet b/dataset/join_text_units_to_covariate_ids.parquet new file mode 100644 index 0000000000000000000000000000000000000000..363d06e084767895a69be128eb1fc61a140ea3f6 GIT binary patch literal 12266 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