├── .editorconfig
├── .gitignore
├── .prettierignore
├── .prettierrc
├── LICENSE
├── README.md
├── config
├── paths.js
├── webpack.common.js
└── webpack.config.js
├── images
├── demo.gif
├── demo2.gif
└── sam-link.gif
├── package-lock.json
├── package.json
├── public
├── icons
│ ├── icon_128.png
│ ├── icon_16.png
│ ├── icon_32.png
│ └── icon_48.png
└── manifest.json
├── schema
├── cfn-resource-specification.json
└── sam-resource-specification.json
└── src
└── contentScript.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | # See https://editorconfig.org for more about editor config.
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Match all files
7 | [*]
8 | charset = utf-8
9 | end_of_line = lf
10 | indent_size = 2
11 | indent_style = space
12 | insert_final_newline = true
13 | max_line_length = 80
14 | trim_trailing_whitespace = true
15 |
16 | # Markdown files
17 | [*.md]
18 | max_line_length = 0
19 | trim_trailing_whitespace = false
20 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # production
7 | /build
8 |
9 | # misc
10 | .DS_Store
11 |
12 | npm-debug.log*
13 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # See https://prettier.io/docs/en/ignore.html for more about ignoring files from Prettier.
2 |
3 | # Ignore artifacts:
4 | build
5 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "es5",
4 | "bracketSpacing": true,
5 | "bracketSameLine": false,
6 | "arrowParens": "always",
7 | "htmlWhitespaceSensitivity": "css",
8 | "insertPragma": false,
9 | "semi": true
10 | }
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Lars Jacobsson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #
StepFunctions Workflow Studio Sync
2 |
3 | # DEPRECATED - use [AWS Toolkit for VSCode](https://aws.amazon.com/blogs/compute/introducing-an-enhanced-local-ide-experience-for-aws-step-functions/) instead
4 | ## Keeping the repo visible for nostalgia :-)
5 |
6 | Third party Chrome extension that enables real time sync between StepFunctions Workflow Studio and your local file system
7 |
8 | 
9 |
10 | ## Install
11 | * Clone this repo
12 | * run `npm install && npm run build`
13 | * Open chrome://extensions
14 | * Enable the "Developer mode" toggle
15 | * Click on the "Load unpacked" button
16 | * Select the folder /build
17 |
18 | ## Usage
19 | This extension uses the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) to give Chrome temporary access to a single file on your filesystem. Please check your [browser compatability](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API#browser_compatibility)
20 |
21 | 1. Open [Workflow Studio](https://eu-west-1.console.aws.amazon.com/states/home?region=eu-west-1#/visual-editor?flowType=create)
22 | 2. Click the `Enable local sync` button at the top right corner
23 | 3. Select the JSON or YAML file you want to sync with.
24 | 4. Start building!
25 |
26 | ## Link SAM template
27 | You can optionally link a SAM template to enable mapping of state machine variables and template resources via [definition substitutions](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionsubstitutions)
28 |
29 | ---
30 |
31 | This project was bootstrapped with [Chrome Extension CLI](https://github.com/dutiyesh/chrome-extension-cli)
32 |
--------------------------------------------------------------------------------
/config/paths.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const path = require('path');
4 |
5 | const PATHS = {
6 | src: path.resolve(__dirname, '../src'),
7 | build: path.resolve(__dirname, '../build'),
8 | schema: path.resolve(__dirname, '../schema'),
9 | };
10 |
11 | module.exports = PATHS;
12 |
--------------------------------------------------------------------------------
/config/webpack.common.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const CopyWebpackPlugin = require('copy-webpack-plugin');
3 | const MiniCssExtractPlugin = require('mini-css-extract-plugin');
4 |
5 | const PATHS = require('./paths');
6 |
7 | // used in the module rules and in the stats exlude list
8 | const IMAGE_TYPES = /\.(png|jpe?g|gif|svg)$/i;
9 |
10 | // To re-use webpack configuration across templates,
11 | // CLI maintains a common webpack configuration file - `webpack.common.js`.
12 | // Whenever user creates an extension, CLI adds `webpack.common.js` file
13 | // in template's `config` folder
14 | const common = {
15 | output: {
16 | // the build folder to output bundles and assets in.
17 | path: PATHS.build,
18 | // the filename template for entry chunks
19 | filename: '[name].js',
20 | },
21 | stats: {
22 | all: false,
23 | errors: true,
24 | builtAt: true,
25 | assets: true,
26 | excludeAssets: [IMAGE_TYPES],
27 | },
28 | module: {
29 | rules: [
30 | // Help webpack in understanding CSS files imported in .js files
31 | {
32 | test: /\.css$/,
33 | use: [MiniCssExtractPlugin.loader, 'css-loader'],
34 | },
35 | // Check for images imported in .js files and
36 | {
37 | test: IMAGE_TYPES,
38 | use: [
39 | {
40 | loader: 'file-loader',
41 | options: {
42 | outputPath: 'images',
43 | name: '[name].[ext]',
44 | },
45 | },
46 | ],
47 | },
48 | ],
49 | },
50 | plugins: [
51 | // Copy static assets from `public` folder to `build` folder
52 | new CopyWebpackPlugin({
53 | patterns: [
54 | {
55 | from: '**/*',
56 | context: 'public',
57 | },
58 | ],
59 | }),
60 | // Extract CSS into separate files
61 | new MiniCssExtractPlugin({
62 | filename: '[name].css',
63 | }),
64 | ],
65 | };
66 |
67 | module.exports = common;
68 |
--------------------------------------------------------------------------------
/config/webpack.config.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const { merge } = require('webpack-merge');
4 |
5 | const common = require('./webpack.common.js');
6 | const PATHS = require('./paths');
7 |
8 | // Merge webpack configuration files
9 | const config = (env, argv) =>
10 | merge(common, {
11 | entry: {
12 | contentScript: PATHS.src + '/contentScript.js'
13 | },
14 | devtool: argv.mode === 'production' ? false : 'source-map',
15 | });
16 |
17 | module.exports = config;
18 |
--------------------------------------------------------------------------------
/images/demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ljacobsson/sfn-workflow-studio-sync/3d45e5e49c071b53f10ae9736faff2ca4ef37c48/images/demo.gif
--------------------------------------------------------------------------------
/images/demo2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ljacobsson/sfn-workflow-studio-sync/3d45e5e49c071b53f10ae9736faff2ca4ef37c48/images/demo2.gif
--------------------------------------------------------------------------------
/images/sam-link.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ljacobsson/sfn-workflow-studio-sync/3d45e5e49c071b53f10ae9736faff2ca4ef37c48/images/sam-link.gif
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sfn-workflow-studio-sync",
3 | "version": "0.1.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "sfn-workflow-studio-sync",
9 | "version": "0.1.0",
10 | "dependencies": {
11 | "jsonpath": "^1.1.1",
12 | "react": "^18.2.0",
13 | "yaml": "^2.2.0",
14 | "yaml-cfn": "^0.3.2"
15 | },
16 | "devDependencies": {
17 | "copy-webpack-plugin": "^10.2.4",
18 | "css-loader": "^6.7.3",
19 | "file-loader": "^6.2.0",
20 | "mini-css-extract-plugin": "^2.7.2",
21 | "prettier": "^2.8.1",
22 | "webpack": "^5.75.0",
23 | "webpack-cli": "^4.10.0",
24 | "webpack-merge": "^5.8.0"
25 | }
26 | },
27 | "node_modules/@discoveryjs/json-ext": {
28 | "version": "0.5.7",
29 | "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
30 | "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
31 | "dev": true,
32 | "engines": {
33 | "node": ">=10.0.0"
34 | }
35 | },
36 | "node_modules/@jridgewell/gen-mapping": {
37 | "version": "0.3.2",
38 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
39 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
40 | "dev": true,
41 | "dependencies": {
42 | "@jridgewell/set-array": "^1.0.1",
43 | "@jridgewell/sourcemap-codec": "^1.4.10",
44 | "@jridgewell/trace-mapping": "^0.3.9"
45 | },
46 | "engines": {
47 | "node": ">=6.0.0"
48 | }
49 | },
50 | "node_modules/@jridgewell/resolve-uri": {
51 | "version": "3.1.0",
52 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
53 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
54 | "dev": true,
55 | "engines": {
56 | "node": ">=6.0.0"
57 | }
58 | },
59 | "node_modules/@jridgewell/set-array": {
60 | "version": "1.1.2",
61 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
62 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
63 | "dev": true,
64 | "engines": {
65 | "node": ">=6.0.0"
66 | }
67 | },
68 | "node_modules/@jridgewell/source-map": {
69 | "version": "0.3.2",
70 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
71 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
72 | "dev": true,
73 | "dependencies": {
74 | "@jridgewell/gen-mapping": "^0.3.0",
75 | "@jridgewell/trace-mapping": "^0.3.9"
76 | }
77 | },
78 | "node_modules/@jridgewell/sourcemap-codec": {
79 | "version": "1.4.14",
80 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
81 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
82 | "dev": true
83 | },
84 | "node_modules/@jridgewell/trace-mapping": {
85 | "version": "0.3.17",
86 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
87 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
88 | "dev": true,
89 | "dependencies": {
90 | "@jridgewell/resolve-uri": "3.1.0",
91 | "@jridgewell/sourcemap-codec": "1.4.14"
92 | }
93 | },
94 | "node_modules/@nodelib/fs.scandir": {
95 | "version": "2.1.5",
96 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
97 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
98 | "dev": true,
99 | "dependencies": {
100 | "@nodelib/fs.stat": "2.0.5",
101 | "run-parallel": "^1.1.9"
102 | },
103 | "engines": {
104 | "node": ">= 8"
105 | }
106 | },
107 | "node_modules/@nodelib/fs.stat": {
108 | "version": "2.0.5",
109 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
110 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
111 | "dev": true,
112 | "engines": {
113 | "node": ">= 8"
114 | }
115 | },
116 | "node_modules/@nodelib/fs.walk": {
117 | "version": "1.2.8",
118 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
119 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
120 | "dev": true,
121 | "dependencies": {
122 | "@nodelib/fs.scandir": "2.1.5",
123 | "fastq": "^1.6.0"
124 | },
125 | "engines": {
126 | "node": ">= 8"
127 | }
128 | },
129 | "node_modules/@types/eslint": {
130 | "version": "8.4.10",
131 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz",
132 | "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==",
133 | "dev": true,
134 | "dependencies": {
135 | "@types/estree": "*",
136 | "@types/json-schema": "*"
137 | }
138 | },
139 | "node_modules/@types/eslint-scope": {
140 | "version": "3.7.4",
141 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
142 | "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
143 | "dev": true,
144 | "dependencies": {
145 | "@types/eslint": "*",
146 | "@types/estree": "*"
147 | }
148 | },
149 | "node_modules/@types/estree": {
150 | "version": "0.0.51",
151 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
152 | "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
153 | "dev": true
154 | },
155 | "node_modules/@types/json-schema": {
156 | "version": "7.0.11",
157 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
158 | "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
159 | "dev": true
160 | },
161 | "node_modules/@types/node": {
162 | "version": "18.11.17",
163 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz",
164 | "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==",
165 | "dev": true
166 | },
167 | "node_modules/@webassemblyjs/ast": {
168 | "version": "1.11.1",
169 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
170 | "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
171 | "dev": true,
172 | "dependencies": {
173 | "@webassemblyjs/helper-numbers": "1.11.1",
174 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
175 | }
176 | },
177 | "node_modules/@webassemblyjs/floating-point-hex-parser": {
178 | "version": "1.11.1",
179 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
180 | "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
181 | "dev": true
182 | },
183 | "node_modules/@webassemblyjs/helper-api-error": {
184 | "version": "1.11.1",
185 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
186 | "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
187 | "dev": true
188 | },
189 | "node_modules/@webassemblyjs/helper-buffer": {
190 | "version": "1.11.1",
191 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
192 | "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
193 | "dev": true
194 | },
195 | "node_modules/@webassemblyjs/helper-numbers": {
196 | "version": "1.11.1",
197 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
198 | "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
199 | "dev": true,
200 | "dependencies": {
201 | "@webassemblyjs/floating-point-hex-parser": "1.11.1",
202 | "@webassemblyjs/helper-api-error": "1.11.1",
203 | "@xtuc/long": "4.2.2"
204 | }
205 | },
206 | "node_modules/@webassemblyjs/helper-wasm-bytecode": {
207 | "version": "1.11.1",
208 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
209 | "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
210 | "dev": true
211 | },
212 | "node_modules/@webassemblyjs/helper-wasm-section": {
213 | "version": "1.11.1",
214 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
215 | "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
216 | "dev": true,
217 | "dependencies": {
218 | "@webassemblyjs/ast": "1.11.1",
219 | "@webassemblyjs/helper-buffer": "1.11.1",
220 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
221 | "@webassemblyjs/wasm-gen": "1.11.1"
222 | }
223 | },
224 | "node_modules/@webassemblyjs/ieee754": {
225 | "version": "1.11.1",
226 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
227 | "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
228 | "dev": true,
229 | "dependencies": {
230 | "@xtuc/ieee754": "^1.2.0"
231 | }
232 | },
233 | "node_modules/@webassemblyjs/leb128": {
234 | "version": "1.11.1",
235 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
236 | "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
237 | "dev": true,
238 | "dependencies": {
239 | "@xtuc/long": "4.2.2"
240 | }
241 | },
242 | "node_modules/@webassemblyjs/utf8": {
243 | "version": "1.11.1",
244 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
245 | "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
246 | "dev": true
247 | },
248 | "node_modules/@webassemblyjs/wasm-edit": {
249 | "version": "1.11.1",
250 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
251 | "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
252 | "dev": true,
253 | "dependencies": {
254 | "@webassemblyjs/ast": "1.11.1",
255 | "@webassemblyjs/helper-buffer": "1.11.1",
256 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
257 | "@webassemblyjs/helper-wasm-section": "1.11.1",
258 | "@webassemblyjs/wasm-gen": "1.11.1",
259 | "@webassemblyjs/wasm-opt": "1.11.1",
260 | "@webassemblyjs/wasm-parser": "1.11.1",
261 | "@webassemblyjs/wast-printer": "1.11.1"
262 | }
263 | },
264 | "node_modules/@webassemblyjs/wasm-gen": {
265 | "version": "1.11.1",
266 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
267 | "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
268 | "dev": true,
269 | "dependencies": {
270 | "@webassemblyjs/ast": "1.11.1",
271 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
272 | "@webassemblyjs/ieee754": "1.11.1",
273 | "@webassemblyjs/leb128": "1.11.1",
274 | "@webassemblyjs/utf8": "1.11.1"
275 | }
276 | },
277 | "node_modules/@webassemblyjs/wasm-opt": {
278 | "version": "1.11.1",
279 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
280 | "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
281 | "dev": true,
282 | "dependencies": {
283 | "@webassemblyjs/ast": "1.11.1",
284 | "@webassemblyjs/helper-buffer": "1.11.1",
285 | "@webassemblyjs/wasm-gen": "1.11.1",
286 | "@webassemblyjs/wasm-parser": "1.11.1"
287 | }
288 | },
289 | "node_modules/@webassemblyjs/wasm-parser": {
290 | "version": "1.11.1",
291 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
292 | "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
293 | "dev": true,
294 | "dependencies": {
295 | "@webassemblyjs/ast": "1.11.1",
296 | "@webassemblyjs/helper-api-error": "1.11.1",
297 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
298 | "@webassemblyjs/ieee754": "1.11.1",
299 | "@webassemblyjs/leb128": "1.11.1",
300 | "@webassemblyjs/utf8": "1.11.1"
301 | }
302 | },
303 | "node_modules/@webassemblyjs/wast-printer": {
304 | "version": "1.11.1",
305 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
306 | "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
307 | "dev": true,
308 | "dependencies": {
309 | "@webassemblyjs/ast": "1.11.1",
310 | "@xtuc/long": "4.2.2"
311 | }
312 | },
313 | "node_modules/@webpack-cli/configtest": {
314 | "version": "1.2.0",
315 | "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
316 | "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
317 | "dev": true,
318 | "peerDependencies": {
319 | "webpack": "4.x.x || 5.x.x",
320 | "webpack-cli": "4.x.x"
321 | }
322 | },
323 | "node_modules/@webpack-cli/info": {
324 | "version": "1.5.0",
325 | "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
326 | "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
327 | "dev": true,
328 | "dependencies": {
329 | "envinfo": "^7.7.3"
330 | },
331 | "peerDependencies": {
332 | "webpack-cli": "4.x.x"
333 | }
334 | },
335 | "node_modules/@webpack-cli/serve": {
336 | "version": "1.7.0",
337 | "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
338 | "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
339 | "dev": true,
340 | "peerDependencies": {
341 | "webpack-cli": "4.x.x"
342 | },
343 | "peerDependenciesMeta": {
344 | "webpack-dev-server": {
345 | "optional": true
346 | }
347 | }
348 | },
349 | "node_modules/@xtuc/ieee754": {
350 | "version": "1.2.0",
351 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
352 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
353 | "dev": true
354 | },
355 | "node_modules/@xtuc/long": {
356 | "version": "4.2.2",
357 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
358 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
359 | "dev": true
360 | },
361 | "node_modules/acorn": {
362 | "version": "8.8.1",
363 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
364 | "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
365 | "dev": true,
366 | "bin": {
367 | "acorn": "bin/acorn"
368 | },
369 | "engines": {
370 | "node": ">=0.4.0"
371 | }
372 | },
373 | "node_modules/acorn-import-assertions": {
374 | "version": "1.8.0",
375 | "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
376 | "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
377 | "dev": true,
378 | "peerDependencies": {
379 | "acorn": "^8"
380 | }
381 | },
382 | "node_modules/ajv": {
383 | "version": "8.11.2",
384 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz",
385 | "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==",
386 | "dev": true,
387 | "dependencies": {
388 | "fast-deep-equal": "^3.1.1",
389 | "json-schema-traverse": "^1.0.0",
390 | "require-from-string": "^2.0.2",
391 | "uri-js": "^4.2.2"
392 | },
393 | "funding": {
394 | "type": "github",
395 | "url": "https://github.com/sponsors/epoberezkin"
396 | }
397 | },
398 | "node_modules/ajv-formats": {
399 | "version": "2.1.1",
400 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
401 | "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
402 | "dev": true,
403 | "dependencies": {
404 | "ajv": "^8.0.0"
405 | },
406 | "peerDependencies": {
407 | "ajv": "^8.0.0"
408 | },
409 | "peerDependenciesMeta": {
410 | "ajv": {
411 | "optional": true
412 | }
413 | }
414 | },
415 | "node_modules/ajv-keywords": {
416 | "version": "5.1.0",
417 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
418 | "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
419 | "dev": true,
420 | "dependencies": {
421 | "fast-deep-equal": "^3.1.3"
422 | },
423 | "peerDependencies": {
424 | "ajv": "^8.8.2"
425 | }
426 | },
427 | "node_modules/argparse": {
428 | "version": "2.0.1",
429 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
430 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
431 | },
432 | "node_modules/array-union": {
433 | "version": "3.0.1",
434 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz",
435 | "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==",
436 | "dev": true,
437 | "engines": {
438 | "node": ">=12"
439 | },
440 | "funding": {
441 | "url": "https://github.com/sponsors/sindresorhus"
442 | }
443 | },
444 | "node_modules/big.js": {
445 | "version": "5.2.2",
446 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
447 | "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
448 | "dev": true,
449 | "engines": {
450 | "node": "*"
451 | }
452 | },
453 | "node_modules/braces": {
454 | "version": "3.0.2",
455 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
456 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
457 | "dev": true,
458 | "dependencies": {
459 | "fill-range": "^7.0.1"
460 | },
461 | "engines": {
462 | "node": ">=8"
463 | }
464 | },
465 | "node_modules/browserslist": {
466 | "version": "4.21.4",
467 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
468 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
469 | "dev": true,
470 | "funding": [
471 | {
472 | "type": "opencollective",
473 | "url": "https://opencollective.com/browserslist"
474 | },
475 | {
476 | "type": "tidelift",
477 | "url": "https://tidelift.com/funding/github/npm/browserslist"
478 | }
479 | ],
480 | "dependencies": {
481 | "caniuse-lite": "^1.0.30001400",
482 | "electron-to-chromium": "^1.4.251",
483 | "node-releases": "^2.0.6",
484 | "update-browserslist-db": "^1.0.9"
485 | },
486 | "bin": {
487 | "browserslist": "cli.js"
488 | },
489 | "engines": {
490 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
491 | }
492 | },
493 | "node_modules/buffer-from": {
494 | "version": "1.1.2",
495 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
496 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
497 | "dev": true
498 | },
499 | "node_modules/caniuse-lite": {
500 | "version": "1.0.30001441",
501 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz",
502 | "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==",
503 | "dev": true,
504 | "funding": [
505 | {
506 | "type": "opencollective",
507 | "url": "https://opencollective.com/browserslist"
508 | },
509 | {
510 | "type": "tidelift",
511 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
512 | }
513 | ]
514 | },
515 | "node_modules/chrome-trace-event": {
516 | "version": "1.0.3",
517 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
518 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
519 | "dev": true,
520 | "engines": {
521 | "node": ">=6.0"
522 | }
523 | },
524 | "node_modules/clone-deep": {
525 | "version": "4.0.1",
526 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
527 | "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
528 | "dev": true,
529 | "dependencies": {
530 | "is-plain-object": "^2.0.4",
531 | "kind-of": "^6.0.2",
532 | "shallow-clone": "^3.0.0"
533 | },
534 | "engines": {
535 | "node": ">=6"
536 | }
537 | },
538 | "node_modules/colorette": {
539 | "version": "2.0.19",
540 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
541 | "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
542 | "dev": true
543 | },
544 | "node_modules/commander": {
545 | "version": "2.20.3",
546 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
547 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
548 | "dev": true
549 | },
550 | "node_modules/copy-webpack-plugin": {
551 | "version": "10.2.4",
552 | "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz",
553 | "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==",
554 | "dev": true,
555 | "dependencies": {
556 | "fast-glob": "^3.2.7",
557 | "glob-parent": "^6.0.1",
558 | "globby": "^12.0.2",
559 | "normalize-path": "^3.0.0",
560 | "schema-utils": "^4.0.0",
561 | "serialize-javascript": "^6.0.0"
562 | },
563 | "engines": {
564 | "node": ">= 12.20.0"
565 | },
566 | "funding": {
567 | "type": "opencollective",
568 | "url": "https://opencollective.com/webpack"
569 | },
570 | "peerDependencies": {
571 | "webpack": "^5.1.0"
572 | }
573 | },
574 | "node_modules/cross-spawn": {
575 | "version": "7.0.3",
576 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
577 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
578 | "dev": true,
579 | "dependencies": {
580 | "path-key": "^3.1.0",
581 | "shebang-command": "^2.0.0",
582 | "which": "^2.0.1"
583 | },
584 | "engines": {
585 | "node": ">= 8"
586 | }
587 | },
588 | "node_modules/css-loader": {
589 | "version": "6.7.3",
590 | "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
591 | "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
592 | "dev": true,
593 | "dependencies": {
594 | "icss-utils": "^5.1.0",
595 | "postcss": "^8.4.19",
596 | "postcss-modules-extract-imports": "^3.0.0",
597 | "postcss-modules-local-by-default": "^4.0.0",
598 | "postcss-modules-scope": "^3.0.0",
599 | "postcss-modules-values": "^4.0.0",
600 | "postcss-value-parser": "^4.2.0",
601 | "semver": "^7.3.8"
602 | },
603 | "engines": {
604 | "node": ">= 12.13.0"
605 | },
606 | "funding": {
607 | "type": "opencollective",
608 | "url": "https://opencollective.com/webpack"
609 | },
610 | "peerDependencies": {
611 | "webpack": "^5.0.0"
612 | }
613 | },
614 | "node_modules/cssesc": {
615 | "version": "3.0.0",
616 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
617 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
618 | "dev": true,
619 | "bin": {
620 | "cssesc": "bin/cssesc"
621 | },
622 | "engines": {
623 | "node": ">=4"
624 | }
625 | },
626 | "node_modules/deep-is": {
627 | "version": "0.1.4",
628 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
629 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
630 | },
631 | "node_modules/dir-glob": {
632 | "version": "3.0.1",
633 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
634 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
635 | "dev": true,
636 | "dependencies": {
637 | "path-type": "^4.0.0"
638 | },
639 | "engines": {
640 | "node": ">=8"
641 | }
642 | },
643 | "node_modules/electron-to-chromium": {
644 | "version": "1.4.284",
645 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
646 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
647 | "dev": true
648 | },
649 | "node_modules/emojis-list": {
650 | "version": "3.0.0",
651 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
652 | "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
653 | "dev": true,
654 | "engines": {
655 | "node": ">= 4"
656 | }
657 | },
658 | "node_modules/enhanced-resolve": {
659 | "version": "5.12.0",
660 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
661 | "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
662 | "dev": true,
663 | "dependencies": {
664 | "graceful-fs": "^4.2.4",
665 | "tapable": "^2.2.0"
666 | },
667 | "engines": {
668 | "node": ">=10.13.0"
669 | }
670 | },
671 | "node_modules/envinfo": {
672 | "version": "7.8.1",
673 | "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
674 | "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
675 | "dev": true,
676 | "bin": {
677 | "envinfo": "dist/cli.js"
678 | },
679 | "engines": {
680 | "node": ">=4"
681 | }
682 | },
683 | "node_modules/es-module-lexer": {
684 | "version": "0.9.3",
685 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
686 | "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
687 | "dev": true
688 | },
689 | "node_modules/escalade": {
690 | "version": "3.1.1",
691 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
692 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
693 | "dev": true,
694 | "engines": {
695 | "node": ">=6"
696 | }
697 | },
698 | "node_modules/escodegen": {
699 | "version": "1.14.3",
700 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
701 | "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
702 | "dependencies": {
703 | "esprima": "^4.0.1",
704 | "estraverse": "^4.2.0",
705 | "esutils": "^2.0.2",
706 | "optionator": "^0.8.1"
707 | },
708 | "bin": {
709 | "escodegen": "bin/escodegen.js",
710 | "esgenerate": "bin/esgenerate.js"
711 | },
712 | "engines": {
713 | "node": ">=4.0"
714 | },
715 | "optionalDependencies": {
716 | "source-map": "~0.6.1"
717 | }
718 | },
719 | "node_modules/escodegen/node_modules/esprima": {
720 | "version": "4.0.1",
721 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
722 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
723 | "bin": {
724 | "esparse": "bin/esparse.js",
725 | "esvalidate": "bin/esvalidate.js"
726 | },
727 | "engines": {
728 | "node": ">=4"
729 | }
730 | },
731 | "node_modules/eslint-scope": {
732 | "version": "5.1.1",
733 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
734 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
735 | "dev": true,
736 | "dependencies": {
737 | "esrecurse": "^4.3.0",
738 | "estraverse": "^4.1.1"
739 | },
740 | "engines": {
741 | "node": ">=8.0.0"
742 | }
743 | },
744 | "node_modules/esprima": {
745 | "version": "1.2.2",
746 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
747 | "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==",
748 | "bin": {
749 | "esparse": "bin/esparse.js",
750 | "esvalidate": "bin/esvalidate.js"
751 | },
752 | "engines": {
753 | "node": ">=0.4.0"
754 | }
755 | },
756 | "node_modules/esrecurse": {
757 | "version": "4.3.0",
758 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
759 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
760 | "dev": true,
761 | "dependencies": {
762 | "estraverse": "^5.2.0"
763 | },
764 | "engines": {
765 | "node": ">=4.0"
766 | }
767 | },
768 | "node_modules/esrecurse/node_modules/estraverse": {
769 | "version": "5.3.0",
770 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
771 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
772 | "dev": true,
773 | "engines": {
774 | "node": ">=4.0"
775 | }
776 | },
777 | "node_modules/estraverse": {
778 | "version": "4.3.0",
779 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
780 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
781 | "engines": {
782 | "node": ">=4.0"
783 | }
784 | },
785 | "node_modules/esutils": {
786 | "version": "2.0.3",
787 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
788 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
789 | "engines": {
790 | "node": ">=0.10.0"
791 | }
792 | },
793 | "node_modules/events": {
794 | "version": "3.3.0",
795 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
796 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
797 | "dev": true,
798 | "engines": {
799 | "node": ">=0.8.x"
800 | }
801 | },
802 | "node_modules/fast-deep-equal": {
803 | "version": "3.1.3",
804 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
805 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
806 | "dev": true
807 | },
808 | "node_modules/fast-glob": {
809 | "version": "3.2.12",
810 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
811 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
812 | "dev": true,
813 | "dependencies": {
814 | "@nodelib/fs.stat": "^2.0.2",
815 | "@nodelib/fs.walk": "^1.2.3",
816 | "glob-parent": "^5.1.2",
817 | "merge2": "^1.3.0",
818 | "micromatch": "^4.0.4"
819 | },
820 | "engines": {
821 | "node": ">=8.6.0"
822 | }
823 | },
824 | "node_modules/fast-glob/node_modules/glob-parent": {
825 | "version": "5.1.2",
826 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
827 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
828 | "dev": true,
829 | "dependencies": {
830 | "is-glob": "^4.0.1"
831 | },
832 | "engines": {
833 | "node": ">= 6"
834 | }
835 | },
836 | "node_modules/fast-json-stable-stringify": {
837 | "version": "2.1.0",
838 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
839 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
840 | "dev": true
841 | },
842 | "node_modules/fast-levenshtein": {
843 | "version": "2.0.6",
844 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
845 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
846 | },
847 | "node_modules/fastest-levenshtein": {
848 | "version": "1.0.16",
849 | "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
850 | "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
851 | "dev": true,
852 | "engines": {
853 | "node": ">= 4.9.1"
854 | }
855 | },
856 | "node_modules/fastq": {
857 | "version": "1.14.0",
858 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz",
859 | "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==",
860 | "dev": true,
861 | "dependencies": {
862 | "reusify": "^1.0.4"
863 | }
864 | },
865 | "node_modules/file-loader": {
866 | "version": "6.2.0",
867 | "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
868 | "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
869 | "dev": true,
870 | "dependencies": {
871 | "loader-utils": "^2.0.0",
872 | "schema-utils": "^3.0.0"
873 | },
874 | "engines": {
875 | "node": ">= 10.13.0"
876 | },
877 | "funding": {
878 | "type": "opencollective",
879 | "url": "https://opencollective.com/webpack"
880 | },
881 | "peerDependencies": {
882 | "webpack": "^4.0.0 || ^5.0.0"
883 | }
884 | },
885 | "node_modules/file-loader/node_modules/ajv": {
886 | "version": "6.12.6",
887 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
888 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
889 | "dev": true,
890 | "dependencies": {
891 | "fast-deep-equal": "^3.1.1",
892 | "fast-json-stable-stringify": "^2.0.0",
893 | "json-schema-traverse": "^0.4.1",
894 | "uri-js": "^4.2.2"
895 | },
896 | "funding": {
897 | "type": "github",
898 | "url": "https://github.com/sponsors/epoberezkin"
899 | }
900 | },
901 | "node_modules/file-loader/node_modules/ajv-keywords": {
902 | "version": "3.5.2",
903 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
904 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
905 | "dev": true,
906 | "peerDependencies": {
907 | "ajv": "^6.9.1"
908 | }
909 | },
910 | "node_modules/file-loader/node_modules/json-schema-traverse": {
911 | "version": "0.4.1",
912 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
913 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
914 | "dev": true
915 | },
916 | "node_modules/file-loader/node_modules/schema-utils": {
917 | "version": "3.1.1",
918 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
919 | "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
920 | "dev": true,
921 | "dependencies": {
922 | "@types/json-schema": "^7.0.8",
923 | "ajv": "^6.12.5",
924 | "ajv-keywords": "^3.5.2"
925 | },
926 | "engines": {
927 | "node": ">= 10.13.0"
928 | },
929 | "funding": {
930 | "type": "opencollective",
931 | "url": "https://opencollective.com/webpack"
932 | }
933 | },
934 | "node_modules/fill-range": {
935 | "version": "7.0.1",
936 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
937 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
938 | "dev": true,
939 | "dependencies": {
940 | "to-regex-range": "^5.0.1"
941 | },
942 | "engines": {
943 | "node": ">=8"
944 | }
945 | },
946 | "node_modules/find-up": {
947 | "version": "4.1.0",
948 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
949 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
950 | "dev": true,
951 | "dependencies": {
952 | "locate-path": "^5.0.0",
953 | "path-exists": "^4.0.0"
954 | },
955 | "engines": {
956 | "node": ">=8"
957 | }
958 | },
959 | "node_modules/function-bind": {
960 | "version": "1.1.1",
961 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
962 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
963 | "dev": true
964 | },
965 | "node_modules/glob-parent": {
966 | "version": "6.0.2",
967 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
968 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
969 | "dev": true,
970 | "dependencies": {
971 | "is-glob": "^4.0.3"
972 | },
973 | "engines": {
974 | "node": ">=10.13.0"
975 | }
976 | },
977 | "node_modules/glob-to-regexp": {
978 | "version": "0.4.1",
979 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
980 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
981 | "dev": true
982 | },
983 | "node_modules/globby": {
984 | "version": "12.2.0",
985 | "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz",
986 | "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==",
987 | "dev": true,
988 | "dependencies": {
989 | "array-union": "^3.0.1",
990 | "dir-glob": "^3.0.1",
991 | "fast-glob": "^3.2.7",
992 | "ignore": "^5.1.9",
993 | "merge2": "^1.4.1",
994 | "slash": "^4.0.0"
995 | },
996 | "engines": {
997 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
998 | },
999 | "funding": {
1000 | "url": "https://github.com/sponsors/sindresorhus"
1001 | }
1002 | },
1003 | "node_modules/graceful-fs": {
1004 | "version": "4.2.10",
1005 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
1006 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
1007 | "dev": true
1008 | },
1009 | "node_modules/has": {
1010 | "version": "1.0.3",
1011 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1012 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1013 | "dev": true,
1014 | "dependencies": {
1015 | "function-bind": "^1.1.1"
1016 | },
1017 | "engines": {
1018 | "node": ">= 0.4.0"
1019 | }
1020 | },
1021 | "node_modules/has-flag": {
1022 | "version": "4.0.0",
1023 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1024 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1025 | "dev": true,
1026 | "engines": {
1027 | "node": ">=8"
1028 | }
1029 | },
1030 | "node_modules/icss-utils": {
1031 | "version": "5.1.0",
1032 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
1033 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
1034 | "dev": true,
1035 | "engines": {
1036 | "node": "^10 || ^12 || >= 14"
1037 | },
1038 | "peerDependencies": {
1039 | "postcss": "^8.1.0"
1040 | }
1041 | },
1042 | "node_modules/ignore": {
1043 | "version": "5.2.4",
1044 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
1045 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
1046 | "dev": true,
1047 | "engines": {
1048 | "node": ">= 4"
1049 | }
1050 | },
1051 | "node_modules/import-local": {
1052 | "version": "3.1.0",
1053 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
1054 | "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
1055 | "dev": true,
1056 | "dependencies": {
1057 | "pkg-dir": "^4.2.0",
1058 | "resolve-cwd": "^3.0.0"
1059 | },
1060 | "bin": {
1061 | "import-local-fixture": "fixtures/cli.js"
1062 | },
1063 | "engines": {
1064 | "node": ">=8"
1065 | },
1066 | "funding": {
1067 | "url": "https://github.com/sponsors/sindresorhus"
1068 | }
1069 | },
1070 | "node_modules/interpret": {
1071 | "version": "2.2.0",
1072 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
1073 | "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
1074 | "dev": true,
1075 | "engines": {
1076 | "node": ">= 0.10"
1077 | }
1078 | },
1079 | "node_modules/is-core-module": {
1080 | "version": "2.11.0",
1081 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1082 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1083 | "dev": true,
1084 | "dependencies": {
1085 | "has": "^1.0.3"
1086 | },
1087 | "funding": {
1088 | "url": "https://github.com/sponsors/ljharb"
1089 | }
1090 | },
1091 | "node_modules/is-extglob": {
1092 | "version": "2.1.1",
1093 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1094 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1095 | "dev": true,
1096 | "engines": {
1097 | "node": ">=0.10.0"
1098 | }
1099 | },
1100 | "node_modules/is-glob": {
1101 | "version": "4.0.3",
1102 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1103 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1104 | "dev": true,
1105 | "dependencies": {
1106 | "is-extglob": "^2.1.1"
1107 | },
1108 | "engines": {
1109 | "node": ">=0.10.0"
1110 | }
1111 | },
1112 | "node_modules/is-number": {
1113 | "version": "7.0.0",
1114 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1115 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1116 | "dev": true,
1117 | "engines": {
1118 | "node": ">=0.12.0"
1119 | }
1120 | },
1121 | "node_modules/is-plain-object": {
1122 | "version": "2.0.4",
1123 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1124 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1125 | "dev": true,
1126 | "dependencies": {
1127 | "isobject": "^3.0.1"
1128 | },
1129 | "engines": {
1130 | "node": ">=0.10.0"
1131 | }
1132 | },
1133 | "node_modules/isexe": {
1134 | "version": "2.0.0",
1135 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1136 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1137 | "dev": true
1138 | },
1139 | "node_modules/isobject": {
1140 | "version": "3.0.1",
1141 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1142 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
1143 | "dev": true,
1144 | "engines": {
1145 | "node": ">=0.10.0"
1146 | }
1147 | },
1148 | "node_modules/jest-worker": {
1149 | "version": "27.5.1",
1150 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
1151 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
1152 | "dev": true,
1153 | "dependencies": {
1154 | "@types/node": "*",
1155 | "merge-stream": "^2.0.0",
1156 | "supports-color": "^8.0.0"
1157 | },
1158 | "engines": {
1159 | "node": ">= 10.13.0"
1160 | }
1161 | },
1162 | "node_modules/js-tokens": {
1163 | "version": "4.0.0",
1164 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1165 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1166 | },
1167 | "node_modules/js-yaml": {
1168 | "version": "4.1.0",
1169 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
1170 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
1171 | "dependencies": {
1172 | "argparse": "^2.0.1"
1173 | },
1174 | "bin": {
1175 | "js-yaml": "bin/js-yaml.js"
1176 | }
1177 | },
1178 | "node_modules/json-parse-even-better-errors": {
1179 | "version": "2.3.1",
1180 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
1181 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
1182 | "dev": true
1183 | },
1184 | "node_modules/json-schema-traverse": {
1185 | "version": "1.0.0",
1186 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
1187 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
1188 | "dev": true
1189 | },
1190 | "node_modules/json5": {
1191 | "version": "2.2.2",
1192 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
1193 | "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==",
1194 | "dev": true,
1195 | "bin": {
1196 | "json5": "lib/cli.js"
1197 | },
1198 | "engines": {
1199 | "node": ">=6"
1200 | }
1201 | },
1202 | "node_modules/jsonpath": {
1203 | "version": "1.1.1",
1204 | "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz",
1205 | "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==",
1206 | "dependencies": {
1207 | "esprima": "1.2.2",
1208 | "static-eval": "2.0.2",
1209 | "underscore": "1.12.1"
1210 | }
1211 | },
1212 | "node_modules/kind-of": {
1213 | "version": "6.0.3",
1214 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1215 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
1216 | "dev": true,
1217 | "engines": {
1218 | "node": ">=0.10.0"
1219 | }
1220 | },
1221 | "node_modules/levn": {
1222 | "version": "0.3.0",
1223 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
1224 | "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
1225 | "dependencies": {
1226 | "prelude-ls": "~1.1.2",
1227 | "type-check": "~0.3.2"
1228 | },
1229 | "engines": {
1230 | "node": ">= 0.8.0"
1231 | }
1232 | },
1233 | "node_modules/loader-runner": {
1234 | "version": "4.3.0",
1235 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
1236 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
1237 | "dev": true,
1238 | "engines": {
1239 | "node": ">=6.11.5"
1240 | }
1241 | },
1242 | "node_modules/loader-utils": {
1243 | "version": "2.0.4",
1244 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
1245 | "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
1246 | "dev": true,
1247 | "dependencies": {
1248 | "big.js": "^5.2.2",
1249 | "emojis-list": "^3.0.0",
1250 | "json5": "^2.1.2"
1251 | },
1252 | "engines": {
1253 | "node": ">=8.9.0"
1254 | }
1255 | },
1256 | "node_modules/locate-path": {
1257 | "version": "5.0.0",
1258 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
1259 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
1260 | "dev": true,
1261 | "dependencies": {
1262 | "p-locate": "^4.1.0"
1263 | },
1264 | "engines": {
1265 | "node": ">=8"
1266 | }
1267 | },
1268 | "node_modules/loose-envify": {
1269 | "version": "1.4.0",
1270 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1271 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1272 | "dependencies": {
1273 | "js-tokens": "^3.0.0 || ^4.0.0"
1274 | },
1275 | "bin": {
1276 | "loose-envify": "cli.js"
1277 | }
1278 | },
1279 | "node_modules/lru-cache": {
1280 | "version": "6.0.0",
1281 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1282 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1283 | "dev": true,
1284 | "dependencies": {
1285 | "yallist": "^4.0.0"
1286 | },
1287 | "engines": {
1288 | "node": ">=10"
1289 | }
1290 | },
1291 | "node_modules/merge-stream": {
1292 | "version": "2.0.0",
1293 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1294 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
1295 | "dev": true
1296 | },
1297 | "node_modules/merge2": {
1298 | "version": "1.4.1",
1299 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1300 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1301 | "dev": true,
1302 | "engines": {
1303 | "node": ">= 8"
1304 | }
1305 | },
1306 | "node_modules/micromatch": {
1307 | "version": "4.0.5",
1308 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
1309 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
1310 | "dev": true,
1311 | "dependencies": {
1312 | "braces": "^3.0.2",
1313 | "picomatch": "^2.3.1"
1314 | },
1315 | "engines": {
1316 | "node": ">=8.6"
1317 | }
1318 | },
1319 | "node_modules/mime-db": {
1320 | "version": "1.52.0",
1321 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1322 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
1323 | "dev": true,
1324 | "engines": {
1325 | "node": ">= 0.6"
1326 | }
1327 | },
1328 | "node_modules/mime-types": {
1329 | "version": "2.1.35",
1330 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1331 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1332 | "dev": true,
1333 | "dependencies": {
1334 | "mime-db": "1.52.0"
1335 | },
1336 | "engines": {
1337 | "node": ">= 0.6"
1338 | }
1339 | },
1340 | "node_modules/mini-css-extract-plugin": {
1341 | "version": "2.7.2",
1342 | "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz",
1343 | "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==",
1344 | "dev": true,
1345 | "dependencies": {
1346 | "schema-utils": "^4.0.0"
1347 | },
1348 | "engines": {
1349 | "node": ">= 12.13.0"
1350 | },
1351 | "funding": {
1352 | "type": "opencollective",
1353 | "url": "https://opencollective.com/webpack"
1354 | },
1355 | "peerDependencies": {
1356 | "webpack": "^5.0.0"
1357 | }
1358 | },
1359 | "node_modules/nanoid": {
1360 | "version": "3.3.4",
1361 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1362 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1363 | "dev": true,
1364 | "bin": {
1365 | "nanoid": "bin/nanoid.cjs"
1366 | },
1367 | "engines": {
1368 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1369 | }
1370 | },
1371 | "node_modules/neo-async": {
1372 | "version": "2.6.2",
1373 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
1374 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
1375 | "dev": true
1376 | },
1377 | "node_modules/node-releases": {
1378 | "version": "2.0.8",
1379 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
1380 | "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
1381 | "dev": true
1382 | },
1383 | "node_modules/normalize-path": {
1384 | "version": "3.0.0",
1385 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1386 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1387 | "dev": true,
1388 | "engines": {
1389 | "node": ">=0.10.0"
1390 | }
1391 | },
1392 | "node_modules/optionator": {
1393 | "version": "0.8.3",
1394 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
1395 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
1396 | "dependencies": {
1397 | "deep-is": "~0.1.3",
1398 | "fast-levenshtein": "~2.0.6",
1399 | "levn": "~0.3.0",
1400 | "prelude-ls": "~1.1.2",
1401 | "type-check": "~0.3.2",
1402 | "word-wrap": "~1.2.3"
1403 | },
1404 | "engines": {
1405 | "node": ">= 0.8.0"
1406 | }
1407 | },
1408 | "node_modules/p-limit": {
1409 | "version": "2.3.0",
1410 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
1411 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
1412 | "dev": true,
1413 | "dependencies": {
1414 | "p-try": "^2.0.0"
1415 | },
1416 | "engines": {
1417 | "node": ">=6"
1418 | },
1419 | "funding": {
1420 | "url": "https://github.com/sponsors/sindresorhus"
1421 | }
1422 | },
1423 | "node_modules/p-locate": {
1424 | "version": "4.1.0",
1425 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
1426 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
1427 | "dev": true,
1428 | "dependencies": {
1429 | "p-limit": "^2.2.0"
1430 | },
1431 | "engines": {
1432 | "node": ">=8"
1433 | }
1434 | },
1435 | "node_modules/p-try": {
1436 | "version": "2.2.0",
1437 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1438 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
1439 | "dev": true,
1440 | "engines": {
1441 | "node": ">=6"
1442 | }
1443 | },
1444 | "node_modules/path-exists": {
1445 | "version": "4.0.0",
1446 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1447 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1448 | "dev": true,
1449 | "engines": {
1450 | "node": ">=8"
1451 | }
1452 | },
1453 | "node_modules/path-key": {
1454 | "version": "3.1.1",
1455 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1456 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1457 | "dev": true,
1458 | "engines": {
1459 | "node": ">=8"
1460 | }
1461 | },
1462 | "node_modules/path-parse": {
1463 | "version": "1.0.7",
1464 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1465 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1466 | "dev": true
1467 | },
1468 | "node_modules/path-type": {
1469 | "version": "4.0.0",
1470 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
1471 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
1472 | "dev": true,
1473 | "engines": {
1474 | "node": ">=8"
1475 | }
1476 | },
1477 | "node_modules/picocolors": {
1478 | "version": "1.0.0",
1479 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1480 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
1481 | "dev": true
1482 | },
1483 | "node_modules/picomatch": {
1484 | "version": "2.3.1",
1485 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1486 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1487 | "dev": true,
1488 | "engines": {
1489 | "node": ">=8.6"
1490 | },
1491 | "funding": {
1492 | "url": "https://github.com/sponsors/jonschlinkert"
1493 | }
1494 | },
1495 | "node_modules/pkg-dir": {
1496 | "version": "4.2.0",
1497 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
1498 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
1499 | "dev": true,
1500 | "dependencies": {
1501 | "find-up": "^4.0.0"
1502 | },
1503 | "engines": {
1504 | "node": ">=8"
1505 | }
1506 | },
1507 | "node_modules/postcss": {
1508 | "version": "8.4.20",
1509 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
1510 | "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
1511 | "dev": true,
1512 | "funding": [
1513 | {
1514 | "type": "opencollective",
1515 | "url": "https://opencollective.com/postcss/"
1516 | },
1517 | {
1518 | "type": "tidelift",
1519 | "url": "https://tidelift.com/funding/github/npm/postcss"
1520 | }
1521 | ],
1522 | "dependencies": {
1523 | "nanoid": "^3.3.4",
1524 | "picocolors": "^1.0.0",
1525 | "source-map-js": "^1.0.2"
1526 | },
1527 | "engines": {
1528 | "node": "^10 || ^12 || >=14"
1529 | }
1530 | },
1531 | "node_modules/postcss-modules-extract-imports": {
1532 | "version": "3.0.0",
1533 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
1534 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
1535 | "dev": true,
1536 | "engines": {
1537 | "node": "^10 || ^12 || >= 14"
1538 | },
1539 | "peerDependencies": {
1540 | "postcss": "^8.1.0"
1541 | }
1542 | },
1543 | "node_modules/postcss-modules-local-by-default": {
1544 | "version": "4.0.0",
1545 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
1546 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
1547 | "dev": true,
1548 | "dependencies": {
1549 | "icss-utils": "^5.0.0",
1550 | "postcss-selector-parser": "^6.0.2",
1551 | "postcss-value-parser": "^4.1.0"
1552 | },
1553 | "engines": {
1554 | "node": "^10 || ^12 || >= 14"
1555 | },
1556 | "peerDependencies": {
1557 | "postcss": "^8.1.0"
1558 | }
1559 | },
1560 | "node_modules/postcss-modules-scope": {
1561 | "version": "3.0.0",
1562 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
1563 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
1564 | "dev": true,
1565 | "dependencies": {
1566 | "postcss-selector-parser": "^6.0.4"
1567 | },
1568 | "engines": {
1569 | "node": "^10 || ^12 || >= 14"
1570 | },
1571 | "peerDependencies": {
1572 | "postcss": "^8.1.0"
1573 | }
1574 | },
1575 | "node_modules/postcss-modules-values": {
1576 | "version": "4.0.0",
1577 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
1578 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
1579 | "dev": true,
1580 | "dependencies": {
1581 | "icss-utils": "^5.0.0"
1582 | },
1583 | "engines": {
1584 | "node": "^10 || ^12 || >= 14"
1585 | },
1586 | "peerDependencies": {
1587 | "postcss": "^8.1.0"
1588 | }
1589 | },
1590 | "node_modules/postcss-selector-parser": {
1591 | "version": "6.0.11",
1592 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
1593 | "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
1594 | "dev": true,
1595 | "dependencies": {
1596 | "cssesc": "^3.0.0",
1597 | "util-deprecate": "^1.0.2"
1598 | },
1599 | "engines": {
1600 | "node": ">=4"
1601 | }
1602 | },
1603 | "node_modules/postcss-value-parser": {
1604 | "version": "4.2.0",
1605 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1606 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
1607 | "dev": true
1608 | },
1609 | "node_modules/prelude-ls": {
1610 | "version": "1.1.2",
1611 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
1612 | "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
1613 | "engines": {
1614 | "node": ">= 0.8.0"
1615 | }
1616 | },
1617 | "node_modules/prettier": {
1618 | "version": "2.8.1",
1619 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
1620 | "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
1621 | "dev": true,
1622 | "bin": {
1623 | "prettier": "bin-prettier.js"
1624 | },
1625 | "engines": {
1626 | "node": ">=10.13.0"
1627 | },
1628 | "funding": {
1629 | "url": "https://github.com/prettier/prettier?sponsor=1"
1630 | }
1631 | },
1632 | "node_modules/punycode": {
1633 | "version": "2.1.1",
1634 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1635 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1636 | "dev": true,
1637 | "engines": {
1638 | "node": ">=6"
1639 | }
1640 | },
1641 | "node_modules/queue-microtask": {
1642 | "version": "1.2.3",
1643 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1644 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1645 | "dev": true,
1646 | "funding": [
1647 | {
1648 | "type": "github",
1649 | "url": "https://github.com/sponsors/feross"
1650 | },
1651 | {
1652 | "type": "patreon",
1653 | "url": "https://www.patreon.com/feross"
1654 | },
1655 | {
1656 | "type": "consulting",
1657 | "url": "https://feross.org/support"
1658 | }
1659 | ]
1660 | },
1661 | "node_modules/randombytes": {
1662 | "version": "2.1.0",
1663 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1664 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1665 | "dev": true,
1666 | "dependencies": {
1667 | "safe-buffer": "^5.1.0"
1668 | }
1669 | },
1670 | "node_modules/react": {
1671 | "version": "18.2.0",
1672 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1673 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1674 | "dependencies": {
1675 | "loose-envify": "^1.1.0"
1676 | },
1677 | "engines": {
1678 | "node": ">=0.10.0"
1679 | }
1680 | },
1681 | "node_modules/rechoir": {
1682 | "version": "0.7.1",
1683 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
1684 | "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
1685 | "dev": true,
1686 | "dependencies": {
1687 | "resolve": "^1.9.0"
1688 | },
1689 | "engines": {
1690 | "node": ">= 0.10"
1691 | }
1692 | },
1693 | "node_modules/require-from-string": {
1694 | "version": "2.0.2",
1695 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
1696 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
1697 | "dev": true,
1698 | "engines": {
1699 | "node": ">=0.10.0"
1700 | }
1701 | },
1702 | "node_modules/resolve": {
1703 | "version": "1.22.1",
1704 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1705 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1706 | "dev": true,
1707 | "dependencies": {
1708 | "is-core-module": "^2.9.0",
1709 | "path-parse": "^1.0.7",
1710 | "supports-preserve-symlinks-flag": "^1.0.0"
1711 | },
1712 | "bin": {
1713 | "resolve": "bin/resolve"
1714 | },
1715 | "funding": {
1716 | "url": "https://github.com/sponsors/ljharb"
1717 | }
1718 | },
1719 | "node_modules/resolve-cwd": {
1720 | "version": "3.0.0",
1721 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
1722 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
1723 | "dev": true,
1724 | "dependencies": {
1725 | "resolve-from": "^5.0.0"
1726 | },
1727 | "engines": {
1728 | "node": ">=8"
1729 | }
1730 | },
1731 | "node_modules/resolve-from": {
1732 | "version": "5.0.0",
1733 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
1734 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
1735 | "dev": true,
1736 | "engines": {
1737 | "node": ">=8"
1738 | }
1739 | },
1740 | "node_modules/reusify": {
1741 | "version": "1.0.4",
1742 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1743 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1744 | "dev": true,
1745 | "engines": {
1746 | "iojs": ">=1.0.0",
1747 | "node": ">=0.10.0"
1748 | }
1749 | },
1750 | "node_modules/run-parallel": {
1751 | "version": "1.2.0",
1752 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1753 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1754 | "dev": true,
1755 | "funding": [
1756 | {
1757 | "type": "github",
1758 | "url": "https://github.com/sponsors/feross"
1759 | },
1760 | {
1761 | "type": "patreon",
1762 | "url": "https://www.patreon.com/feross"
1763 | },
1764 | {
1765 | "type": "consulting",
1766 | "url": "https://feross.org/support"
1767 | }
1768 | ],
1769 | "dependencies": {
1770 | "queue-microtask": "^1.2.2"
1771 | }
1772 | },
1773 | "node_modules/safe-buffer": {
1774 | "version": "5.2.1",
1775 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1776 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1777 | "dev": true,
1778 | "funding": [
1779 | {
1780 | "type": "github",
1781 | "url": "https://github.com/sponsors/feross"
1782 | },
1783 | {
1784 | "type": "patreon",
1785 | "url": "https://www.patreon.com/feross"
1786 | },
1787 | {
1788 | "type": "consulting",
1789 | "url": "https://feross.org/support"
1790 | }
1791 | ]
1792 | },
1793 | "node_modules/schema-utils": {
1794 | "version": "4.0.0",
1795 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
1796 | "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
1797 | "dev": true,
1798 | "dependencies": {
1799 | "@types/json-schema": "^7.0.9",
1800 | "ajv": "^8.8.0",
1801 | "ajv-formats": "^2.1.1",
1802 | "ajv-keywords": "^5.0.0"
1803 | },
1804 | "engines": {
1805 | "node": ">= 12.13.0"
1806 | },
1807 | "funding": {
1808 | "type": "opencollective",
1809 | "url": "https://opencollective.com/webpack"
1810 | }
1811 | },
1812 | "node_modules/semver": {
1813 | "version": "7.3.8",
1814 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
1815 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
1816 | "dev": true,
1817 | "dependencies": {
1818 | "lru-cache": "^6.0.0"
1819 | },
1820 | "bin": {
1821 | "semver": "bin/semver.js"
1822 | },
1823 | "engines": {
1824 | "node": ">=10"
1825 | }
1826 | },
1827 | "node_modules/serialize-javascript": {
1828 | "version": "6.0.0",
1829 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
1830 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
1831 | "dev": true,
1832 | "dependencies": {
1833 | "randombytes": "^2.1.0"
1834 | }
1835 | },
1836 | "node_modules/shallow-clone": {
1837 | "version": "3.0.1",
1838 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
1839 | "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
1840 | "dev": true,
1841 | "dependencies": {
1842 | "kind-of": "^6.0.2"
1843 | },
1844 | "engines": {
1845 | "node": ">=8"
1846 | }
1847 | },
1848 | "node_modules/shebang-command": {
1849 | "version": "2.0.0",
1850 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1851 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1852 | "dev": true,
1853 | "dependencies": {
1854 | "shebang-regex": "^3.0.0"
1855 | },
1856 | "engines": {
1857 | "node": ">=8"
1858 | }
1859 | },
1860 | "node_modules/shebang-regex": {
1861 | "version": "3.0.0",
1862 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1863 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1864 | "dev": true,
1865 | "engines": {
1866 | "node": ">=8"
1867 | }
1868 | },
1869 | "node_modules/slash": {
1870 | "version": "4.0.0",
1871 | "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
1872 | "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
1873 | "dev": true,
1874 | "engines": {
1875 | "node": ">=12"
1876 | },
1877 | "funding": {
1878 | "url": "https://github.com/sponsors/sindresorhus"
1879 | }
1880 | },
1881 | "node_modules/source-map": {
1882 | "version": "0.6.1",
1883 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1884 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1885 | "devOptional": true,
1886 | "engines": {
1887 | "node": ">=0.10.0"
1888 | }
1889 | },
1890 | "node_modules/source-map-js": {
1891 | "version": "1.0.2",
1892 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1893 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1894 | "dev": true,
1895 | "engines": {
1896 | "node": ">=0.10.0"
1897 | }
1898 | },
1899 | "node_modules/source-map-support": {
1900 | "version": "0.5.21",
1901 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
1902 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
1903 | "dev": true,
1904 | "dependencies": {
1905 | "buffer-from": "^1.0.0",
1906 | "source-map": "^0.6.0"
1907 | }
1908 | },
1909 | "node_modules/static-eval": {
1910 | "version": "2.0.2",
1911 | "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz",
1912 | "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==",
1913 | "dependencies": {
1914 | "escodegen": "^1.8.1"
1915 | }
1916 | },
1917 | "node_modules/supports-color": {
1918 | "version": "8.1.1",
1919 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
1920 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
1921 | "dev": true,
1922 | "dependencies": {
1923 | "has-flag": "^4.0.0"
1924 | },
1925 | "engines": {
1926 | "node": ">=10"
1927 | },
1928 | "funding": {
1929 | "url": "https://github.com/chalk/supports-color?sponsor=1"
1930 | }
1931 | },
1932 | "node_modules/supports-preserve-symlinks-flag": {
1933 | "version": "1.0.0",
1934 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1935 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1936 | "dev": true,
1937 | "engines": {
1938 | "node": ">= 0.4"
1939 | },
1940 | "funding": {
1941 | "url": "https://github.com/sponsors/ljharb"
1942 | }
1943 | },
1944 | "node_modules/tapable": {
1945 | "version": "2.2.1",
1946 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
1947 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
1948 | "dev": true,
1949 | "engines": {
1950 | "node": ">=6"
1951 | }
1952 | },
1953 | "node_modules/terser": {
1954 | "version": "5.16.1",
1955 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz",
1956 | "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==",
1957 | "dev": true,
1958 | "dependencies": {
1959 | "@jridgewell/source-map": "^0.3.2",
1960 | "acorn": "^8.5.0",
1961 | "commander": "^2.20.0",
1962 | "source-map-support": "~0.5.20"
1963 | },
1964 | "bin": {
1965 | "terser": "bin/terser"
1966 | },
1967 | "engines": {
1968 | "node": ">=10"
1969 | }
1970 | },
1971 | "node_modules/terser-webpack-plugin": {
1972 | "version": "5.3.6",
1973 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz",
1974 | "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==",
1975 | "dev": true,
1976 | "dependencies": {
1977 | "@jridgewell/trace-mapping": "^0.3.14",
1978 | "jest-worker": "^27.4.5",
1979 | "schema-utils": "^3.1.1",
1980 | "serialize-javascript": "^6.0.0",
1981 | "terser": "^5.14.1"
1982 | },
1983 | "engines": {
1984 | "node": ">= 10.13.0"
1985 | },
1986 | "funding": {
1987 | "type": "opencollective",
1988 | "url": "https://opencollective.com/webpack"
1989 | },
1990 | "peerDependencies": {
1991 | "webpack": "^5.1.0"
1992 | },
1993 | "peerDependenciesMeta": {
1994 | "@swc/core": {
1995 | "optional": true
1996 | },
1997 | "esbuild": {
1998 | "optional": true
1999 | },
2000 | "uglify-js": {
2001 | "optional": true
2002 | }
2003 | }
2004 | },
2005 | "node_modules/terser-webpack-plugin/node_modules/ajv": {
2006 | "version": "6.12.6",
2007 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
2008 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
2009 | "dev": true,
2010 | "dependencies": {
2011 | "fast-deep-equal": "^3.1.1",
2012 | "fast-json-stable-stringify": "^2.0.0",
2013 | "json-schema-traverse": "^0.4.1",
2014 | "uri-js": "^4.2.2"
2015 | },
2016 | "funding": {
2017 | "type": "github",
2018 | "url": "https://github.com/sponsors/epoberezkin"
2019 | }
2020 | },
2021 | "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": {
2022 | "version": "3.5.2",
2023 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
2024 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
2025 | "dev": true,
2026 | "peerDependencies": {
2027 | "ajv": "^6.9.1"
2028 | }
2029 | },
2030 | "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": {
2031 | "version": "0.4.1",
2032 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2033 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2034 | "dev": true
2035 | },
2036 | "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
2037 | "version": "3.1.1",
2038 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
2039 | "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
2040 | "dev": true,
2041 | "dependencies": {
2042 | "@types/json-schema": "^7.0.8",
2043 | "ajv": "^6.12.5",
2044 | "ajv-keywords": "^3.5.2"
2045 | },
2046 | "engines": {
2047 | "node": ">= 10.13.0"
2048 | },
2049 | "funding": {
2050 | "type": "opencollective",
2051 | "url": "https://opencollective.com/webpack"
2052 | }
2053 | },
2054 | "node_modules/to-regex-range": {
2055 | "version": "5.0.1",
2056 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2057 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2058 | "dev": true,
2059 | "dependencies": {
2060 | "is-number": "^7.0.0"
2061 | },
2062 | "engines": {
2063 | "node": ">=8.0"
2064 | }
2065 | },
2066 | "node_modules/type-check": {
2067 | "version": "0.3.2",
2068 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
2069 | "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
2070 | "dependencies": {
2071 | "prelude-ls": "~1.1.2"
2072 | },
2073 | "engines": {
2074 | "node": ">= 0.8.0"
2075 | }
2076 | },
2077 | "node_modules/underscore": {
2078 | "version": "1.12.1",
2079 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz",
2080 | "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw=="
2081 | },
2082 | "node_modules/update-browserslist-db": {
2083 | "version": "1.0.10",
2084 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
2085 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
2086 | "dev": true,
2087 | "funding": [
2088 | {
2089 | "type": "opencollective",
2090 | "url": "https://opencollective.com/browserslist"
2091 | },
2092 | {
2093 | "type": "tidelift",
2094 | "url": "https://tidelift.com/funding/github/npm/browserslist"
2095 | }
2096 | ],
2097 | "dependencies": {
2098 | "escalade": "^3.1.1",
2099 | "picocolors": "^1.0.0"
2100 | },
2101 | "bin": {
2102 | "browserslist-lint": "cli.js"
2103 | },
2104 | "peerDependencies": {
2105 | "browserslist": ">= 4.21.0"
2106 | }
2107 | },
2108 | "node_modules/uri-js": {
2109 | "version": "4.4.1",
2110 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
2111 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
2112 | "dev": true,
2113 | "dependencies": {
2114 | "punycode": "^2.1.0"
2115 | }
2116 | },
2117 | "node_modules/util-deprecate": {
2118 | "version": "1.0.2",
2119 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2120 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2121 | "dev": true
2122 | },
2123 | "node_modules/watchpack": {
2124 | "version": "2.4.0",
2125 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
2126 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
2127 | "dev": true,
2128 | "dependencies": {
2129 | "glob-to-regexp": "^0.4.1",
2130 | "graceful-fs": "^4.1.2"
2131 | },
2132 | "engines": {
2133 | "node": ">=10.13.0"
2134 | }
2135 | },
2136 | "node_modules/webpack": {
2137 | "version": "5.75.0",
2138 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz",
2139 | "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==",
2140 | "dev": true,
2141 | "dependencies": {
2142 | "@types/eslint-scope": "^3.7.3",
2143 | "@types/estree": "^0.0.51",
2144 | "@webassemblyjs/ast": "1.11.1",
2145 | "@webassemblyjs/wasm-edit": "1.11.1",
2146 | "@webassemblyjs/wasm-parser": "1.11.1",
2147 | "acorn": "^8.7.1",
2148 | "acorn-import-assertions": "^1.7.6",
2149 | "browserslist": "^4.14.5",
2150 | "chrome-trace-event": "^1.0.2",
2151 | "enhanced-resolve": "^5.10.0",
2152 | "es-module-lexer": "^0.9.0",
2153 | "eslint-scope": "5.1.1",
2154 | "events": "^3.2.0",
2155 | "glob-to-regexp": "^0.4.1",
2156 | "graceful-fs": "^4.2.9",
2157 | "json-parse-even-better-errors": "^2.3.1",
2158 | "loader-runner": "^4.2.0",
2159 | "mime-types": "^2.1.27",
2160 | "neo-async": "^2.6.2",
2161 | "schema-utils": "^3.1.0",
2162 | "tapable": "^2.1.1",
2163 | "terser-webpack-plugin": "^5.1.3",
2164 | "watchpack": "^2.4.0",
2165 | "webpack-sources": "^3.2.3"
2166 | },
2167 | "bin": {
2168 | "webpack": "bin/webpack.js"
2169 | },
2170 | "engines": {
2171 | "node": ">=10.13.0"
2172 | },
2173 | "funding": {
2174 | "type": "opencollective",
2175 | "url": "https://opencollective.com/webpack"
2176 | },
2177 | "peerDependenciesMeta": {
2178 | "webpack-cli": {
2179 | "optional": true
2180 | }
2181 | }
2182 | },
2183 | "node_modules/webpack-cli": {
2184 | "version": "4.10.0",
2185 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
2186 | "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
2187 | "dev": true,
2188 | "dependencies": {
2189 | "@discoveryjs/json-ext": "^0.5.0",
2190 | "@webpack-cli/configtest": "^1.2.0",
2191 | "@webpack-cli/info": "^1.5.0",
2192 | "@webpack-cli/serve": "^1.7.0",
2193 | "colorette": "^2.0.14",
2194 | "commander": "^7.0.0",
2195 | "cross-spawn": "^7.0.3",
2196 | "fastest-levenshtein": "^1.0.12",
2197 | "import-local": "^3.0.2",
2198 | "interpret": "^2.2.0",
2199 | "rechoir": "^0.7.0",
2200 | "webpack-merge": "^5.7.3"
2201 | },
2202 | "bin": {
2203 | "webpack-cli": "bin/cli.js"
2204 | },
2205 | "engines": {
2206 | "node": ">=10.13.0"
2207 | },
2208 | "funding": {
2209 | "type": "opencollective",
2210 | "url": "https://opencollective.com/webpack"
2211 | },
2212 | "peerDependencies": {
2213 | "webpack": "4.x.x || 5.x.x"
2214 | },
2215 | "peerDependenciesMeta": {
2216 | "@webpack-cli/generators": {
2217 | "optional": true
2218 | },
2219 | "@webpack-cli/migrate": {
2220 | "optional": true
2221 | },
2222 | "webpack-bundle-analyzer": {
2223 | "optional": true
2224 | },
2225 | "webpack-dev-server": {
2226 | "optional": true
2227 | }
2228 | }
2229 | },
2230 | "node_modules/webpack-cli/node_modules/commander": {
2231 | "version": "7.2.0",
2232 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
2233 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
2234 | "dev": true,
2235 | "engines": {
2236 | "node": ">= 10"
2237 | }
2238 | },
2239 | "node_modules/webpack-merge": {
2240 | "version": "5.8.0",
2241 | "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
2242 | "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
2243 | "dev": true,
2244 | "dependencies": {
2245 | "clone-deep": "^4.0.1",
2246 | "wildcard": "^2.0.0"
2247 | },
2248 | "engines": {
2249 | "node": ">=10.0.0"
2250 | }
2251 | },
2252 | "node_modules/webpack-sources": {
2253 | "version": "3.2.3",
2254 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
2255 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
2256 | "dev": true,
2257 | "engines": {
2258 | "node": ">=10.13.0"
2259 | }
2260 | },
2261 | "node_modules/webpack/node_modules/ajv": {
2262 | "version": "6.12.6",
2263 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
2264 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
2265 | "dev": true,
2266 | "dependencies": {
2267 | "fast-deep-equal": "^3.1.1",
2268 | "fast-json-stable-stringify": "^2.0.0",
2269 | "json-schema-traverse": "^0.4.1",
2270 | "uri-js": "^4.2.2"
2271 | },
2272 | "funding": {
2273 | "type": "github",
2274 | "url": "https://github.com/sponsors/epoberezkin"
2275 | }
2276 | },
2277 | "node_modules/webpack/node_modules/ajv-keywords": {
2278 | "version": "3.5.2",
2279 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
2280 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
2281 | "dev": true,
2282 | "peerDependencies": {
2283 | "ajv": "^6.9.1"
2284 | }
2285 | },
2286 | "node_modules/webpack/node_modules/json-schema-traverse": {
2287 | "version": "0.4.1",
2288 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2289 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2290 | "dev": true
2291 | },
2292 | "node_modules/webpack/node_modules/schema-utils": {
2293 | "version": "3.1.1",
2294 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
2295 | "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
2296 | "dev": true,
2297 | "dependencies": {
2298 | "@types/json-schema": "^7.0.8",
2299 | "ajv": "^6.12.5",
2300 | "ajv-keywords": "^3.5.2"
2301 | },
2302 | "engines": {
2303 | "node": ">= 10.13.0"
2304 | },
2305 | "funding": {
2306 | "type": "opencollective",
2307 | "url": "https://opencollective.com/webpack"
2308 | }
2309 | },
2310 | "node_modules/which": {
2311 | "version": "2.0.2",
2312 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2313 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2314 | "dev": true,
2315 | "dependencies": {
2316 | "isexe": "^2.0.0"
2317 | },
2318 | "bin": {
2319 | "node-which": "bin/node-which"
2320 | },
2321 | "engines": {
2322 | "node": ">= 8"
2323 | }
2324 | },
2325 | "node_modules/wildcard": {
2326 | "version": "2.0.0",
2327 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
2328 | "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
2329 | "dev": true
2330 | },
2331 | "node_modules/word-wrap": {
2332 | "version": "1.2.3",
2333 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2334 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2335 | "engines": {
2336 | "node": ">=0.10.0"
2337 | }
2338 | },
2339 | "node_modules/yallist": {
2340 | "version": "4.0.0",
2341 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2342 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
2343 | "dev": true
2344 | },
2345 | "node_modules/yaml": {
2346 | "version": "2.2.0",
2347 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.0.tgz",
2348 | "integrity": "sha512-auf7Gi6QwO7HW//GA9seGvTXVGWl1CM/ADWh1+RxtXr6XOxnT65ovDl9fTi4e0monEyJxCHqDpF6QnFDXmJE4g==",
2349 | "engines": {
2350 | "node": ">= 14"
2351 | }
2352 | },
2353 | "node_modules/yaml-cfn": {
2354 | "version": "0.3.2",
2355 | "resolved": "https://registry.npmjs.org/yaml-cfn/-/yaml-cfn-0.3.2.tgz",
2356 | "integrity": "sha512-MvrWhv40GKWHFGCliTGGAMwAeqIXf/bzf6WW48+xND9iMp8cTj0R8xkwM0lX/GzNN/EZKr5gP4Hx63Fn+sICoA==",
2357 | "dependencies": {
2358 | "js-yaml": "^4.0.0"
2359 | },
2360 | "bin": {
2361 | "yaml-cfn": "cli.js"
2362 | }
2363 | }
2364 | },
2365 | "dependencies": {
2366 | "@discoveryjs/json-ext": {
2367 | "version": "0.5.7",
2368 | "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
2369 | "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
2370 | "dev": true
2371 | },
2372 | "@jridgewell/gen-mapping": {
2373 | "version": "0.3.2",
2374 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
2375 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
2376 | "dev": true,
2377 | "requires": {
2378 | "@jridgewell/set-array": "^1.0.1",
2379 | "@jridgewell/sourcemap-codec": "^1.4.10",
2380 | "@jridgewell/trace-mapping": "^0.3.9"
2381 | }
2382 | },
2383 | "@jridgewell/resolve-uri": {
2384 | "version": "3.1.0",
2385 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
2386 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
2387 | "dev": true
2388 | },
2389 | "@jridgewell/set-array": {
2390 | "version": "1.1.2",
2391 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
2392 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
2393 | "dev": true
2394 | },
2395 | "@jridgewell/source-map": {
2396 | "version": "0.3.2",
2397 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
2398 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
2399 | "dev": true,
2400 | "requires": {
2401 | "@jridgewell/gen-mapping": "^0.3.0",
2402 | "@jridgewell/trace-mapping": "^0.3.9"
2403 | }
2404 | },
2405 | "@jridgewell/sourcemap-codec": {
2406 | "version": "1.4.14",
2407 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
2408 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
2409 | "dev": true
2410 | },
2411 | "@jridgewell/trace-mapping": {
2412 | "version": "0.3.17",
2413 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
2414 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
2415 | "dev": true,
2416 | "requires": {
2417 | "@jridgewell/resolve-uri": "3.1.0",
2418 | "@jridgewell/sourcemap-codec": "1.4.14"
2419 | }
2420 | },
2421 | "@nodelib/fs.scandir": {
2422 | "version": "2.1.5",
2423 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
2424 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
2425 | "dev": true,
2426 | "requires": {
2427 | "@nodelib/fs.stat": "2.0.5",
2428 | "run-parallel": "^1.1.9"
2429 | }
2430 | },
2431 | "@nodelib/fs.stat": {
2432 | "version": "2.0.5",
2433 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
2434 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
2435 | "dev": true
2436 | },
2437 | "@nodelib/fs.walk": {
2438 | "version": "1.2.8",
2439 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
2440 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
2441 | "dev": true,
2442 | "requires": {
2443 | "@nodelib/fs.scandir": "2.1.5",
2444 | "fastq": "^1.6.0"
2445 | }
2446 | },
2447 | "@types/eslint": {
2448 | "version": "8.4.10",
2449 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz",
2450 | "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==",
2451 | "dev": true,
2452 | "requires": {
2453 | "@types/estree": "*",
2454 | "@types/json-schema": "*"
2455 | }
2456 | },
2457 | "@types/eslint-scope": {
2458 | "version": "3.7.4",
2459 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
2460 | "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
2461 | "dev": true,
2462 | "requires": {
2463 | "@types/eslint": "*",
2464 | "@types/estree": "*"
2465 | }
2466 | },
2467 | "@types/estree": {
2468 | "version": "0.0.51",
2469 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
2470 | "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
2471 | "dev": true
2472 | },
2473 | "@types/json-schema": {
2474 | "version": "7.0.11",
2475 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
2476 | "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
2477 | "dev": true
2478 | },
2479 | "@types/node": {
2480 | "version": "18.11.17",
2481 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz",
2482 | "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==",
2483 | "dev": true
2484 | },
2485 | "@webassemblyjs/ast": {
2486 | "version": "1.11.1",
2487 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
2488 | "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
2489 | "dev": true,
2490 | "requires": {
2491 | "@webassemblyjs/helper-numbers": "1.11.1",
2492 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
2493 | }
2494 | },
2495 | "@webassemblyjs/floating-point-hex-parser": {
2496 | "version": "1.11.1",
2497 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
2498 | "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
2499 | "dev": true
2500 | },
2501 | "@webassemblyjs/helper-api-error": {
2502 | "version": "1.11.1",
2503 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
2504 | "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
2505 | "dev": true
2506 | },
2507 | "@webassemblyjs/helper-buffer": {
2508 | "version": "1.11.1",
2509 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
2510 | "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
2511 | "dev": true
2512 | },
2513 | "@webassemblyjs/helper-numbers": {
2514 | "version": "1.11.1",
2515 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
2516 | "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
2517 | "dev": true,
2518 | "requires": {
2519 | "@webassemblyjs/floating-point-hex-parser": "1.11.1",
2520 | "@webassemblyjs/helper-api-error": "1.11.1",
2521 | "@xtuc/long": "4.2.2"
2522 | }
2523 | },
2524 | "@webassemblyjs/helper-wasm-bytecode": {
2525 | "version": "1.11.1",
2526 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
2527 | "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
2528 | "dev": true
2529 | },
2530 | "@webassemblyjs/helper-wasm-section": {
2531 | "version": "1.11.1",
2532 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
2533 | "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
2534 | "dev": true,
2535 | "requires": {
2536 | "@webassemblyjs/ast": "1.11.1",
2537 | "@webassemblyjs/helper-buffer": "1.11.1",
2538 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
2539 | "@webassemblyjs/wasm-gen": "1.11.1"
2540 | }
2541 | },
2542 | "@webassemblyjs/ieee754": {
2543 | "version": "1.11.1",
2544 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
2545 | "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
2546 | "dev": true,
2547 | "requires": {
2548 | "@xtuc/ieee754": "^1.2.0"
2549 | }
2550 | },
2551 | "@webassemblyjs/leb128": {
2552 | "version": "1.11.1",
2553 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
2554 | "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
2555 | "dev": true,
2556 | "requires": {
2557 | "@xtuc/long": "4.2.2"
2558 | }
2559 | },
2560 | "@webassemblyjs/utf8": {
2561 | "version": "1.11.1",
2562 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
2563 | "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
2564 | "dev": true
2565 | },
2566 | "@webassemblyjs/wasm-edit": {
2567 | "version": "1.11.1",
2568 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
2569 | "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
2570 | "dev": true,
2571 | "requires": {
2572 | "@webassemblyjs/ast": "1.11.1",
2573 | "@webassemblyjs/helper-buffer": "1.11.1",
2574 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
2575 | "@webassemblyjs/helper-wasm-section": "1.11.1",
2576 | "@webassemblyjs/wasm-gen": "1.11.1",
2577 | "@webassemblyjs/wasm-opt": "1.11.1",
2578 | "@webassemblyjs/wasm-parser": "1.11.1",
2579 | "@webassemblyjs/wast-printer": "1.11.1"
2580 | }
2581 | },
2582 | "@webassemblyjs/wasm-gen": {
2583 | "version": "1.11.1",
2584 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
2585 | "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
2586 | "dev": true,
2587 | "requires": {
2588 | "@webassemblyjs/ast": "1.11.1",
2589 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
2590 | "@webassemblyjs/ieee754": "1.11.1",
2591 | "@webassemblyjs/leb128": "1.11.1",
2592 | "@webassemblyjs/utf8": "1.11.1"
2593 | }
2594 | },
2595 | "@webassemblyjs/wasm-opt": {
2596 | "version": "1.11.1",
2597 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
2598 | "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
2599 | "dev": true,
2600 | "requires": {
2601 | "@webassemblyjs/ast": "1.11.1",
2602 | "@webassemblyjs/helper-buffer": "1.11.1",
2603 | "@webassemblyjs/wasm-gen": "1.11.1",
2604 | "@webassemblyjs/wasm-parser": "1.11.1"
2605 | }
2606 | },
2607 | "@webassemblyjs/wasm-parser": {
2608 | "version": "1.11.1",
2609 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
2610 | "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
2611 | "dev": true,
2612 | "requires": {
2613 | "@webassemblyjs/ast": "1.11.1",
2614 | "@webassemblyjs/helper-api-error": "1.11.1",
2615 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
2616 | "@webassemblyjs/ieee754": "1.11.1",
2617 | "@webassemblyjs/leb128": "1.11.1",
2618 | "@webassemblyjs/utf8": "1.11.1"
2619 | }
2620 | },
2621 | "@webassemblyjs/wast-printer": {
2622 | "version": "1.11.1",
2623 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
2624 | "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
2625 | "dev": true,
2626 | "requires": {
2627 | "@webassemblyjs/ast": "1.11.1",
2628 | "@xtuc/long": "4.2.2"
2629 | }
2630 | },
2631 | "@webpack-cli/configtest": {
2632 | "version": "1.2.0",
2633 | "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
2634 | "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
2635 | "dev": true,
2636 | "requires": {}
2637 | },
2638 | "@webpack-cli/info": {
2639 | "version": "1.5.0",
2640 | "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
2641 | "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
2642 | "dev": true,
2643 | "requires": {
2644 | "envinfo": "^7.7.3"
2645 | }
2646 | },
2647 | "@webpack-cli/serve": {
2648 | "version": "1.7.0",
2649 | "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
2650 | "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
2651 | "dev": true,
2652 | "requires": {}
2653 | },
2654 | "@xtuc/ieee754": {
2655 | "version": "1.2.0",
2656 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
2657 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
2658 | "dev": true
2659 | },
2660 | "@xtuc/long": {
2661 | "version": "4.2.2",
2662 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
2663 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
2664 | "dev": true
2665 | },
2666 | "acorn": {
2667 | "version": "8.8.1",
2668 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
2669 | "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
2670 | "dev": true
2671 | },
2672 | "acorn-import-assertions": {
2673 | "version": "1.8.0",
2674 | "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
2675 | "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
2676 | "dev": true,
2677 | "requires": {}
2678 | },
2679 | "ajv": {
2680 | "version": "8.11.2",
2681 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz",
2682 | "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==",
2683 | "dev": true,
2684 | "requires": {
2685 | "fast-deep-equal": "^3.1.1",
2686 | "json-schema-traverse": "^1.0.0",
2687 | "require-from-string": "^2.0.2",
2688 | "uri-js": "^4.2.2"
2689 | }
2690 | },
2691 | "ajv-formats": {
2692 | "version": "2.1.1",
2693 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
2694 | "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
2695 | "dev": true,
2696 | "requires": {
2697 | "ajv": "^8.0.0"
2698 | }
2699 | },
2700 | "ajv-keywords": {
2701 | "version": "5.1.0",
2702 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
2703 | "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
2704 | "dev": true,
2705 | "requires": {
2706 | "fast-deep-equal": "^3.1.3"
2707 | }
2708 | },
2709 | "argparse": {
2710 | "version": "2.0.1",
2711 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
2712 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
2713 | },
2714 | "array-union": {
2715 | "version": "3.0.1",
2716 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz",
2717 | "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==",
2718 | "dev": true
2719 | },
2720 | "big.js": {
2721 | "version": "5.2.2",
2722 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
2723 | "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
2724 | "dev": true
2725 | },
2726 | "braces": {
2727 | "version": "3.0.2",
2728 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
2729 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
2730 | "dev": true,
2731 | "requires": {
2732 | "fill-range": "^7.0.1"
2733 | }
2734 | },
2735 | "browserslist": {
2736 | "version": "4.21.4",
2737 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
2738 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
2739 | "dev": true,
2740 | "requires": {
2741 | "caniuse-lite": "^1.0.30001400",
2742 | "electron-to-chromium": "^1.4.251",
2743 | "node-releases": "^2.0.6",
2744 | "update-browserslist-db": "^1.0.9"
2745 | }
2746 | },
2747 | "buffer-from": {
2748 | "version": "1.1.2",
2749 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
2750 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
2751 | "dev": true
2752 | },
2753 | "caniuse-lite": {
2754 | "version": "1.0.30001441",
2755 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz",
2756 | "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==",
2757 | "dev": true
2758 | },
2759 | "chrome-trace-event": {
2760 | "version": "1.0.3",
2761 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
2762 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
2763 | "dev": true
2764 | },
2765 | "clone-deep": {
2766 | "version": "4.0.1",
2767 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
2768 | "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
2769 | "dev": true,
2770 | "requires": {
2771 | "is-plain-object": "^2.0.4",
2772 | "kind-of": "^6.0.2",
2773 | "shallow-clone": "^3.0.0"
2774 | }
2775 | },
2776 | "colorette": {
2777 | "version": "2.0.19",
2778 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
2779 | "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
2780 | "dev": true
2781 | },
2782 | "commander": {
2783 | "version": "2.20.3",
2784 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
2785 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
2786 | "dev": true
2787 | },
2788 | "copy-webpack-plugin": {
2789 | "version": "10.2.4",
2790 | "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz",
2791 | "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==",
2792 | "dev": true,
2793 | "requires": {
2794 | "fast-glob": "^3.2.7",
2795 | "glob-parent": "^6.0.1",
2796 | "globby": "^12.0.2",
2797 | "normalize-path": "^3.0.0",
2798 | "schema-utils": "^4.0.0",
2799 | "serialize-javascript": "^6.0.0"
2800 | }
2801 | },
2802 | "cross-spawn": {
2803 | "version": "7.0.3",
2804 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2805 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2806 | "dev": true,
2807 | "requires": {
2808 | "path-key": "^3.1.0",
2809 | "shebang-command": "^2.0.0",
2810 | "which": "^2.0.1"
2811 | }
2812 | },
2813 | "css-loader": {
2814 | "version": "6.7.3",
2815 | "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
2816 | "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
2817 | "dev": true,
2818 | "requires": {
2819 | "icss-utils": "^5.1.0",
2820 | "postcss": "^8.4.19",
2821 | "postcss-modules-extract-imports": "^3.0.0",
2822 | "postcss-modules-local-by-default": "^4.0.0",
2823 | "postcss-modules-scope": "^3.0.0",
2824 | "postcss-modules-values": "^4.0.0",
2825 | "postcss-value-parser": "^4.2.0",
2826 | "semver": "^7.3.8"
2827 | }
2828 | },
2829 | "cssesc": {
2830 | "version": "3.0.0",
2831 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
2832 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
2833 | "dev": true
2834 | },
2835 | "deep-is": {
2836 | "version": "0.1.4",
2837 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
2838 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
2839 | },
2840 | "dir-glob": {
2841 | "version": "3.0.1",
2842 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
2843 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
2844 | "dev": true,
2845 | "requires": {
2846 | "path-type": "^4.0.0"
2847 | }
2848 | },
2849 | "electron-to-chromium": {
2850 | "version": "1.4.284",
2851 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
2852 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
2853 | "dev": true
2854 | },
2855 | "emojis-list": {
2856 | "version": "3.0.0",
2857 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
2858 | "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
2859 | "dev": true
2860 | },
2861 | "enhanced-resolve": {
2862 | "version": "5.12.0",
2863 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
2864 | "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
2865 | "dev": true,
2866 | "requires": {
2867 | "graceful-fs": "^4.2.4",
2868 | "tapable": "^2.2.0"
2869 | }
2870 | },
2871 | "envinfo": {
2872 | "version": "7.8.1",
2873 | "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
2874 | "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
2875 | "dev": true
2876 | },
2877 | "es-module-lexer": {
2878 | "version": "0.9.3",
2879 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
2880 | "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
2881 | "dev": true
2882 | },
2883 | "escalade": {
2884 | "version": "3.1.1",
2885 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
2886 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
2887 | "dev": true
2888 | },
2889 | "escodegen": {
2890 | "version": "1.14.3",
2891 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
2892 | "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
2893 | "requires": {
2894 | "esprima": "^4.0.1",
2895 | "estraverse": "^4.2.0",
2896 | "esutils": "^2.0.2",
2897 | "optionator": "^0.8.1",
2898 | "source-map": "~0.6.1"
2899 | },
2900 | "dependencies": {
2901 | "esprima": {
2902 | "version": "4.0.1",
2903 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
2904 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
2905 | }
2906 | }
2907 | },
2908 | "eslint-scope": {
2909 | "version": "5.1.1",
2910 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
2911 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
2912 | "dev": true,
2913 | "requires": {
2914 | "esrecurse": "^4.3.0",
2915 | "estraverse": "^4.1.1"
2916 | }
2917 | },
2918 | "esprima": {
2919 | "version": "1.2.2",
2920 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
2921 | "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A=="
2922 | },
2923 | "esrecurse": {
2924 | "version": "4.3.0",
2925 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
2926 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
2927 | "dev": true,
2928 | "requires": {
2929 | "estraverse": "^5.2.0"
2930 | },
2931 | "dependencies": {
2932 | "estraverse": {
2933 | "version": "5.3.0",
2934 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
2935 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
2936 | "dev": true
2937 | }
2938 | }
2939 | },
2940 | "estraverse": {
2941 | "version": "4.3.0",
2942 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
2943 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
2944 | },
2945 | "esutils": {
2946 | "version": "2.0.3",
2947 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
2948 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
2949 | },
2950 | "events": {
2951 | "version": "3.3.0",
2952 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
2953 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
2954 | "dev": true
2955 | },
2956 | "fast-deep-equal": {
2957 | "version": "3.1.3",
2958 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2959 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
2960 | "dev": true
2961 | },
2962 | "fast-glob": {
2963 | "version": "3.2.12",
2964 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
2965 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
2966 | "dev": true,
2967 | "requires": {
2968 | "@nodelib/fs.stat": "^2.0.2",
2969 | "@nodelib/fs.walk": "^1.2.3",
2970 | "glob-parent": "^5.1.2",
2971 | "merge2": "^1.3.0",
2972 | "micromatch": "^4.0.4"
2973 | },
2974 | "dependencies": {
2975 | "glob-parent": {
2976 | "version": "5.1.2",
2977 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
2978 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
2979 | "dev": true,
2980 | "requires": {
2981 | "is-glob": "^4.0.1"
2982 | }
2983 | }
2984 | }
2985 | },
2986 | "fast-json-stable-stringify": {
2987 | "version": "2.1.0",
2988 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2989 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
2990 | "dev": true
2991 | },
2992 | "fast-levenshtein": {
2993 | "version": "2.0.6",
2994 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2995 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
2996 | },
2997 | "fastest-levenshtein": {
2998 | "version": "1.0.16",
2999 | "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
3000 | "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
3001 | "dev": true
3002 | },
3003 | "fastq": {
3004 | "version": "1.14.0",
3005 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz",
3006 | "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==",
3007 | "dev": true,
3008 | "requires": {
3009 | "reusify": "^1.0.4"
3010 | }
3011 | },
3012 | "file-loader": {
3013 | "version": "6.2.0",
3014 | "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
3015 | "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
3016 | "dev": true,
3017 | "requires": {
3018 | "loader-utils": "^2.0.0",
3019 | "schema-utils": "^3.0.0"
3020 | },
3021 | "dependencies": {
3022 | "ajv": {
3023 | "version": "6.12.6",
3024 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
3025 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
3026 | "dev": true,
3027 | "requires": {
3028 | "fast-deep-equal": "^3.1.1",
3029 | "fast-json-stable-stringify": "^2.0.0",
3030 | "json-schema-traverse": "^0.4.1",
3031 | "uri-js": "^4.2.2"
3032 | }
3033 | },
3034 | "ajv-keywords": {
3035 | "version": "3.5.2",
3036 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
3037 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
3038 | "dev": true,
3039 | "requires": {}
3040 | },
3041 | "json-schema-traverse": {
3042 | "version": "0.4.1",
3043 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3044 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3045 | "dev": true
3046 | },
3047 | "schema-utils": {
3048 | "version": "3.1.1",
3049 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
3050 | "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
3051 | "dev": true,
3052 | "requires": {
3053 | "@types/json-schema": "^7.0.8",
3054 | "ajv": "^6.12.5",
3055 | "ajv-keywords": "^3.5.2"
3056 | }
3057 | }
3058 | }
3059 | },
3060 | "fill-range": {
3061 | "version": "7.0.1",
3062 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
3063 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
3064 | "dev": true,
3065 | "requires": {
3066 | "to-regex-range": "^5.0.1"
3067 | }
3068 | },
3069 | "find-up": {
3070 | "version": "4.1.0",
3071 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
3072 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
3073 | "dev": true,
3074 | "requires": {
3075 | "locate-path": "^5.0.0",
3076 | "path-exists": "^4.0.0"
3077 | }
3078 | },
3079 | "function-bind": {
3080 | "version": "1.1.1",
3081 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
3082 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
3083 | "dev": true
3084 | },
3085 | "glob-parent": {
3086 | "version": "6.0.2",
3087 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
3088 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
3089 | "dev": true,
3090 | "requires": {
3091 | "is-glob": "^4.0.3"
3092 | }
3093 | },
3094 | "glob-to-regexp": {
3095 | "version": "0.4.1",
3096 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
3097 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
3098 | "dev": true
3099 | },
3100 | "globby": {
3101 | "version": "12.2.0",
3102 | "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz",
3103 | "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==",
3104 | "dev": true,
3105 | "requires": {
3106 | "array-union": "^3.0.1",
3107 | "dir-glob": "^3.0.1",
3108 | "fast-glob": "^3.2.7",
3109 | "ignore": "^5.1.9",
3110 | "merge2": "^1.4.1",
3111 | "slash": "^4.0.0"
3112 | }
3113 | },
3114 | "graceful-fs": {
3115 | "version": "4.2.10",
3116 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
3117 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
3118 | "dev": true
3119 | },
3120 | "has": {
3121 | "version": "1.0.3",
3122 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
3123 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
3124 | "dev": true,
3125 | "requires": {
3126 | "function-bind": "^1.1.1"
3127 | }
3128 | },
3129 | "has-flag": {
3130 | "version": "4.0.0",
3131 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
3132 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
3133 | "dev": true
3134 | },
3135 | "icss-utils": {
3136 | "version": "5.1.0",
3137 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
3138 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
3139 | "dev": true,
3140 | "requires": {}
3141 | },
3142 | "ignore": {
3143 | "version": "5.2.4",
3144 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
3145 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
3146 | "dev": true
3147 | },
3148 | "import-local": {
3149 | "version": "3.1.0",
3150 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
3151 | "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
3152 | "dev": true,
3153 | "requires": {
3154 | "pkg-dir": "^4.2.0",
3155 | "resolve-cwd": "^3.0.0"
3156 | }
3157 | },
3158 | "interpret": {
3159 | "version": "2.2.0",
3160 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
3161 | "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
3162 | "dev": true
3163 | },
3164 | "is-core-module": {
3165 | "version": "2.11.0",
3166 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
3167 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
3168 | "dev": true,
3169 | "requires": {
3170 | "has": "^1.0.3"
3171 | }
3172 | },
3173 | "is-extglob": {
3174 | "version": "2.1.1",
3175 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
3176 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
3177 | "dev": true
3178 | },
3179 | "is-glob": {
3180 | "version": "4.0.3",
3181 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
3182 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
3183 | "dev": true,
3184 | "requires": {
3185 | "is-extglob": "^2.1.1"
3186 | }
3187 | },
3188 | "is-number": {
3189 | "version": "7.0.0",
3190 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
3191 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
3192 | "dev": true
3193 | },
3194 | "is-plain-object": {
3195 | "version": "2.0.4",
3196 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
3197 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
3198 | "dev": true,
3199 | "requires": {
3200 | "isobject": "^3.0.1"
3201 | }
3202 | },
3203 | "isexe": {
3204 | "version": "2.0.0",
3205 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3206 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
3207 | "dev": true
3208 | },
3209 | "isobject": {
3210 | "version": "3.0.1",
3211 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3212 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
3213 | "dev": true
3214 | },
3215 | "jest-worker": {
3216 | "version": "27.5.1",
3217 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
3218 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
3219 | "dev": true,
3220 | "requires": {
3221 | "@types/node": "*",
3222 | "merge-stream": "^2.0.0",
3223 | "supports-color": "^8.0.0"
3224 | }
3225 | },
3226 | "js-tokens": {
3227 | "version": "4.0.0",
3228 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3229 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
3230 | },
3231 | "js-yaml": {
3232 | "version": "4.1.0",
3233 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
3234 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
3235 | "requires": {
3236 | "argparse": "^2.0.1"
3237 | }
3238 | },
3239 | "json-parse-even-better-errors": {
3240 | "version": "2.3.1",
3241 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
3242 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
3243 | "dev": true
3244 | },
3245 | "json-schema-traverse": {
3246 | "version": "1.0.0",
3247 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
3248 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
3249 | "dev": true
3250 | },
3251 | "json5": {
3252 | "version": "2.2.2",
3253 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
3254 | "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==",
3255 | "dev": true
3256 | },
3257 | "jsonpath": {
3258 | "version": "1.1.1",
3259 | "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz",
3260 | "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==",
3261 | "requires": {
3262 | "esprima": "1.2.2",
3263 | "static-eval": "2.0.2",
3264 | "underscore": "1.12.1"
3265 | }
3266 | },
3267 | "kind-of": {
3268 | "version": "6.0.3",
3269 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
3270 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
3271 | "dev": true
3272 | },
3273 | "levn": {
3274 | "version": "0.3.0",
3275 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
3276 | "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
3277 | "requires": {
3278 | "prelude-ls": "~1.1.2",
3279 | "type-check": "~0.3.2"
3280 | }
3281 | },
3282 | "loader-runner": {
3283 | "version": "4.3.0",
3284 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
3285 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
3286 | "dev": true
3287 | },
3288 | "loader-utils": {
3289 | "version": "2.0.4",
3290 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
3291 | "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
3292 | "dev": true,
3293 | "requires": {
3294 | "big.js": "^5.2.2",
3295 | "emojis-list": "^3.0.0",
3296 | "json5": "^2.1.2"
3297 | }
3298 | },
3299 | "locate-path": {
3300 | "version": "5.0.0",
3301 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
3302 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
3303 | "dev": true,
3304 | "requires": {
3305 | "p-locate": "^4.1.0"
3306 | }
3307 | },
3308 | "loose-envify": {
3309 | "version": "1.4.0",
3310 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
3311 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
3312 | "requires": {
3313 | "js-tokens": "^3.0.0 || ^4.0.0"
3314 | }
3315 | },
3316 | "lru-cache": {
3317 | "version": "6.0.0",
3318 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
3319 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
3320 | "dev": true,
3321 | "requires": {
3322 | "yallist": "^4.0.0"
3323 | }
3324 | },
3325 | "merge-stream": {
3326 | "version": "2.0.0",
3327 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
3328 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
3329 | "dev": true
3330 | },
3331 | "merge2": {
3332 | "version": "1.4.1",
3333 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
3334 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
3335 | "dev": true
3336 | },
3337 | "micromatch": {
3338 | "version": "4.0.5",
3339 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
3340 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
3341 | "dev": true,
3342 | "requires": {
3343 | "braces": "^3.0.2",
3344 | "picomatch": "^2.3.1"
3345 | }
3346 | },
3347 | "mime-db": {
3348 | "version": "1.52.0",
3349 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
3350 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
3351 | "dev": true
3352 | },
3353 | "mime-types": {
3354 | "version": "2.1.35",
3355 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
3356 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
3357 | "dev": true,
3358 | "requires": {
3359 | "mime-db": "1.52.0"
3360 | }
3361 | },
3362 | "mini-css-extract-plugin": {
3363 | "version": "2.7.2",
3364 | "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz",
3365 | "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==",
3366 | "dev": true,
3367 | "requires": {
3368 | "schema-utils": "^4.0.0"
3369 | }
3370 | },
3371 | "nanoid": {
3372 | "version": "3.3.4",
3373 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
3374 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
3375 | "dev": true
3376 | },
3377 | "neo-async": {
3378 | "version": "2.6.2",
3379 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
3380 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
3381 | "dev": true
3382 | },
3383 | "node-releases": {
3384 | "version": "2.0.8",
3385 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
3386 | "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
3387 | "dev": true
3388 | },
3389 | "normalize-path": {
3390 | "version": "3.0.0",
3391 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
3392 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
3393 | "dev": true
3394 | },
3395 | "optionator": {
3396 | "version": "0.8.3",
3397 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
3398 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
3399 | "requires": {
3400 | "deep-is": "~0.1.3",
3401 | "fast-levenshtein": "~2.0.6",
3402 | "levn": "~0.3.0",
3403 | "prelude-ls": "~1.1.2",
3404 | "type-check": "~0.3.2",
3405 | "word-wrap": "~1.2.3"
3406 | }
3407 | },
3408 | "p-limit": {
3409 | "version": "2.3.0",
3410 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
3411 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
3412 | "dev": true,
3413 | "requires": {
3414 | "p-try": "^2.0.0"
3415 | }
3416 | },
3417 | "p-locate": {
3418 | "version": "4.1.0",
3419 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
3420 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
3421 | "dev": true,
3422 | "requires": {
3423 | "p-limit": "^2.2.0"
3424 | }
3425 | },
3426 | "p-try": {
3427 | "version": "2.2.0",
3428 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
3429 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
3430 | "dev": true
3431 | },
3432 | "path-exists": {
3433 | "version": "4.0.0",
3434 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
3435 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
3436 | "dev": true
3437 | },
3438 | "path-key": {
3439 | "version": "3.1.1",
3440 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3441 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
3442 | "dev": true
3443 | },
3444 | "path-parse": {
3445 | "version": "1.0.7",
3446 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
3447 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
3448 | "dev": true
3449 | },
3450 | "path-type": {
3451 | "version": "4.0.0",
3452 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
3453 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
3454 | "dev": true
3455 | },
3456 | "picocolors": {
3457 | "version": "1.0.0",
3458 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
3459 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
3460 | "dev": true
3461 | },
3462 | "picomatch": {
3463 | "version": "2.3.1",
3464 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
3465 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
3466 | "dev": true
3467 | },
3468 | "pkg-dir": {
3469 | "version": "4.2.0",
3470 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
3471 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
3472 | "dev": true,
3473 | "requires": {
3474 | "find-up": "^4.0.0"
3475 | }
3476 | },
3477 | "postcss": {
3478 | "version": "8.4.20",
3479 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
3480 | "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
3481 | "dev": true,
3482 | "requires": {
3483 | "nanoid": "^3.3.4",
3484 | "picocolors": "^1.0.0",
3485 | "source-map-js": "^1.0.2"
3486 | }
3487 | },
3488 | "postcss-modules-extract-imports": {
3489 | "version": "3.0.0",
3490 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
3491 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
3492 | "dev": true,
3493 | "requires": {}
3494 | },
3495 | "postcss-modules-local-by-default": {
3496 | "version": "4.0.0",
3497 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
3498 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
3499 | "dev": true,
3500 | "requires": {
3501 | "icss-utils": "^5.0.0",
3502 | "postcss-selector-parser": "^6.0.2",
3503 | "postcss-value-parser": "^4.1.0"
3504 | }
3505 | },
3506 | "postcss-modules-scope": {
3507 | "version": "3.0.0",
3508 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
3509 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
3510 | "dev": true,
3511 | "requires": {
3512 | "postcss-selector-parser": "^6.0.4"
3513 | }
3514 | },
3515 | "postcss-modules-values": {
3516 | "version": "4.0.0",
3517 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
3518 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
3519 | "dev": true,
3520 | "requires": {
3521 | "icss-utils": "^5.0.0"
3522 | }
3523 | },
3524 | "postcss-selector-parser": {
3525 | "version": "6.0.11",
3526 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
3527 | "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
3528 | "dev": true,
3529 | "requires": {
3530 | "cssesc": "^3.0.0",
3531 | "util-deprecate": "^1.0.2"
3532 | }
3533 | },
3534 | "postcss-value-parser": {
3535 | "version": "4.2.0",
3536 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
3537 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
3538 | "dev": true
3539 | },
3540 | "prelude-ls": {
3541 | "version": "1.1.2",
3542 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
3543 | "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w=="
3544 | },
3545 | "prettier": {
3546 | "version": "2.8.1",
3547 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
3548 | "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
3549 | "dev": true
3550 | },
3551 | "punycode": {
3552 | "version": "2.1.1",
3553 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
3554 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
3555 | "dev": true
3556 | },
3557 | "queue-microtask": {
3558 | "version": "1.2.3",
3559 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
3560 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
3561 | "dev": true
3562 | },
3563 | "randombytes": {
3564 | "version": "2.1.0",
3565 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
3566 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
3567 | "dev": true,
3568 | "requires": {
3569 | "safe-buffer": "^5.1.0"
3570 | }
3571 | },
3572 | "react": {
3573 | "version": "18.2.0",
3574 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
3575 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
3576 | "requires": {
3577 | "loose-envify": "^1.1.0"
3578 | }
3579 | },
3580 | "rechoir": {
3581 | "version": "0.7.1",
3582 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
3583 | "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
3584 | "dev": true,
3585 | "requires": {
3586 | "resolve": "^1.9.0"
3587 | }
3588 | },
3589 | "require-from-string": {
3590 | "version": "2.0.2",
3591 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
3592 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
3593 | "dev": true
3594 | },
3595 | "resolve": {
3596 | "version": "1.22.1",
3597 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
3598 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
3599 | "dev": true,
3600 | "requires": {
3601 | "is-core-module": "^2.9.0",
3602 | "path-parse": "^1.0.7",
3603 | "supports-preserve-symlinks-flag": "^1.0.0"
3604 | }
3605 | },
3606 | "resolve-cwd": {
3607 | "version": "3.0.0",
3608 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
3609 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
3610 | "dev": true,
3611 | "requires": {
3612 | "resolve-from": "^5.0.0"
3613 | }
3614 | },
3615 | "resolve-from": {
3616 | "version": "5.0.0",
3617 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
3618 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
3619 | "dev": true
3620 | },
3621 | "reusify": {
3622 | "version": "1.0.4",
3623 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
3624 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
3625 | "dev": true
3626 | },
3627 | "run-parallel": {
3628 | "version": "1.2.0",
3629 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
3630 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
3631 | "dev": true,
3632 | "requires": {
3633 | "queue-microtask": "^1.2.2"
3634 | }
3635 | },
3636 | "safe-buffer": {
3637 | "version": "5.2.1",
3638 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
3639 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
3640 | "dev": true
3641 | },
3642 | "schema-utils": {
3643 | "version": "4.0.0",
3644 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
3645 | "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
3646 | "dev": true,
3647 | "requires": {
3648 | "@types/json-schema": "^7.0.9",
3649 | "ajv": "^8.8.0",
3650 | "ajv-formats": "^2.1.1",
3651 | "ajv-keywords": "^5.0.0"
3652 | }
3653 | },
3654 | "semver": {
3655 | "version": "7.3.8",
3656 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
3657 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
3658 | "dev": true,
3659 | "requires": {
3660 | "lru-cache": "^6.0.0"
3661 | }
3662 | },
3663 | "serialize-javascript": {
3664 | "version": "6.0.0",
3665 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
3666 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
3667 | "dev": true,
3668 | "requires": {
3669 | "randombytes": "^2.1.0"
3670 | }
3671 | },
3672 | "shallow-clone": {
3673 | "version": "3.0.1",
3674 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
3675 | "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
3676 | "dev": true,
3677 | "requires": {
3678 | "kind-of": "^6.0.2"
3679 | }
3680 | },
3681 | "shebang-command": {
3682 | "version": "2.0.0",
3683 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3684 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3685 | "dev": true,
3686 | "requires": {
3687 | "shebang-regex": "^3.0.0"
3688 | }
3689 | },
3690 | "shebang-regex": {
3691 | "version": "3.0.0",
3692 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3693 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3694 | "dev": true
3695 | },
3696 | "slash": {
3697 | "version": "4.0.0",
3698 | "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
3699 | "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
3700 | "dev": true
3701 | },
3702 | "source-map": {
3703 | "version": "0.6.1",
3704 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3705 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
3706 | "devOptional": true
3707 | },
3708 | "source-map-js": {
3709 | "version": "1.0.2",
3710 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
3711 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
3712 | "dev": true
3713 | },
3714 | "source-map-support": {
3715 | "version": "0.5.21",
3716 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
3717 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
3718 | "dev": true,
3719 | "requires": {
3720 | "buffer-from": "^1.0.0",
3721 | "source-map": "^0.6.0"
3722 | }
3723 | },
3724 | "static-eval": {
3725 | "version": "2.0.2",
3726 | "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz",
3727 | "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==",
3728 | "requires": {
3729 | "escodegen": "^1.8.1"
3730 | }
3731 | },
3732 | "supports-color": {
3733 | "version": "8.1.1",
3734 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
3735 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
3736 | "dev": true,
3737 | "requires": {
3738 | "has-flag": "^4.0.0"
3739 | }
3740 | },
3741 | "supports-preserve-symlinks-flag": {
3742 | "version": "1.0.0",
3743 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
3744 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
3745 | "dev": true
3746 | },
3747 | "tapable": {
3748 | "version": "2.2.1",
3749 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
3750 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
3751 | "dev": true
3752 | },
3753 | "terser": {
3754 | "version": "5.16.1",
3755 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz",
3756 | "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==",
3757 | "dev": true,
3758 | "requires": {
3759 | "@jridgewell/source-map": "^0.3.2",
3760 | "acorn": "^8.5.0",
3761 | "commander": "^2.20.0",
3762 | "source-map-support": "~0.5.20"
3763 | }
3764 | },
3765 | "terser-webpack-plugin": {
3766 | "version": "5.3.6",
3767 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz",
3768 | "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==",
3769 | "dev": true,
3770 | "requires": {
3771 | "@jridgewell/trace-mapping": "^0.3.14",
3772 | "jest-worker": "^27.4.5",
3773 | "schema-utils": "^3.1.1",
3774 | "serialize-javascript": "^6.0.0",
3775 | "terser": "^5.14.1"
3776 | },
3777 | "dependencies": {
3778 | "ajv": {
3779 | "version": "6.12.6",
3780 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
3781 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
3782 | "dev": true,
3783 | "requires": {
3784 | "fast-deep-equal": "^3.1.1",
3785 | "fast-json-stable-stringify": "^2.0.0",
3786 | "json-schema-traverse": "^0.4.1",
3787 | "uri-js": "^4.2.2"
3788 | }
3789 | },
3790 | "ajv-keywords": {
3791 | "version": "3.5.2",
3792 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
3793 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
3794 | "dev": true,
3795 | "requires": {}
3796 | },
3797 | "json-schema-traverse": {
3798 | "version": "0.4.1",
3799 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3800 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3801 | "dev": true
3802 | },
3803 | "schema-utils": {
3804 | "version": "3.1.1",
3805 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
3806 | "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
3807 | "dev": true,
3808 | "requires": {
3809 | "@types/json-schema": "^7.0.8",
3810 | "ajv": "^6.12.5",
3811 | "ajv-keywords": "^3.5.2"
3812 | }
3813 | }
3814 | }
3815 | },
3816 | "to-regex-range": {
3817 | "version": "5.0.1",
3818 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
3819 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
3820 | "dev": true,
3821 | "requires": {
3822 | "is-number": "^7.0.0"
3823 | }
3824 | },
3825 | "type-check": {
3826 | "version": "0.3.2",
3827 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
3828 | "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
3829 | "requires": {
3830 | "prelude-ls": "~1.1.2"
3831 | }
3832 | },
3833 | "underscore": {
3834 | "version": "1.12.1",
3835 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz",
3836 | "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw=="
3837 | },
3838 | "update-browserslist-db": {
3839 | "version": "1.0.10",
3840 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
3841 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
3842 | "dev": true,
3843 | "requires": {
3844 | "escalade": "^3.1.1",
3845 | "picocolors": "^1.0.0"
3846 | }
3847 | },
3848 | "uri-js": {
3849 | "version": "4.4.1",
3850 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
3851 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
3852 | "dev": true,
3853 | "requires": {
3854 | "punycode": "^2.1.0"
3855 | }
3856 | },
3857 | "util-deprecate": {
3858 | "version": "1.0.2",
3859 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3860 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
3861 | "dev": true
3862 | },
3863 | "watchpack": {
3864 | "version": "2.4.0",
3865 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
3866 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
3867 | "dev": true,
3868 | "requires": {
3869 | "glob-to-regexp": "^0.4.1",
3870 | "graceful-fs": "^4.1.2"
3871 | }
3872 | },
3873 | "webpack": {
3874 | "version": "5.75.0",
3875 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz",
3876 | "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==",
3877 | "dev": true,
3878 | "requires": {
3879 | "@types/eslint-scope": "^3.7.3",
3880 | "@types/estree": "^0.0.51",
3881 | "@webassemblyjs/ast": "1.11.1",
3882 | "@webassemblyjs/wasm-edit": "1.11.1",
3883 | "@webassemblyjs/wasm-parser": "1.11.1",
3884 | "acorn": "^8.7.1",
3885 | "acorn-import-assertions": "^1.7.6",
3886 | "browserslist": "^4.14.5",
3887 | "chrome-trace-event": "^1.0.2",
3888 | "enhanced-resolve": "^5.10.0",
3889 | "es-module-lexer": "^0.9.0",
3890 | "eslint-scope": "5.1.1",
3891 | "events": "^3.2.0",
3892 | "glob-to-regexp": "^0.4.1",
3893 | "graceful-fs": "^4.2.9",
3894 | "json-parse-even-better-errors": "^2.3.1",
3895 | "loader-runner": "^4.2.0",
3896 | "mime-types": "^2.1.27",
3897 | "neo-async": "^2.6.2",
3898 | "schema-utils": "^3.1.0",
3899 | "tapable": "^2.1.1",
3900 | "terser-webpack-plugin": "^5.1.3",
3901 | "watchpack": "^2.4.0",
3902 | "webpack-sources": "^3.2.3"
3903 | },
3904 | "dependencies": {
3905 | "ajv": {
3906 | "version": "6.12.6",
3907 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
3908 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
3909 | "dev": true,
3910 | "requires": {
3911 | "fast-deep-equal": "^3.1.1",
3912 | "fast-json-stable-stringify": "^2.0.0",
3913 | "json-schema-traverse": "^0.4.1",
3914 | "uri-js": "^4.2.2"
3915 | }
3916 | },
3917 | "ajv-keywords": {
3918 | "version": "3.5.2",
3919 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
3920 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
3921 | "dev": true,
3922 | "requires": {}
3923 | },
3924 | "json-schema-traverse": {
3925 | "version": "0.4.1",
3926 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3927 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3928 | "dev": true
3929 | },
3930 | "schema-utils": {
3931 | "version": "3.1.1",
3932 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
3933 | "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
3934 | "dev": true,
3935 | "requires": {
3936 | "@types/json-schema": "^7.0.8",
3937 | "ajv": "^6.12.5",
3938 | "ajv-keywords": "^3.5.2"
3939 | }
3940 | }
3941 | }
3942 | },
3943 | "webpack-cli": {
3944 | "version": "4.10.0",
3945 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
3946 | "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
3947 | "dev": true,
3948 | "requires": {
3949 | "@discoveryjs/json-ext": "^0.5.0",
3950 | "@webpack-cli/configtest": "^1.2.0",
3951 | "@webpack-cli/info": "^1.5.0",
3952 | "@webpack-cli/serve": "^1.7.0",
3953 | "colorette": "^2.0.14",
3954 | "commander": "^7.0.0",
3955 | "cross-spawn": "^7.0.3",
3956 | "fastest-levenshtein": "^1.0.12",
3957 | "import-local": "^3.0.2",
3958 | "interpret": "^2.2.0",
3959 | "rechoir": "^0.7.0",
3960 | "webpack-merge": "^5.7.3"
3961 | },
3962 | "dependencies": {
3963 | "commander": {
3964 | "version": "7.2.0",
3965 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
3966 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
3967 | "dev": true
3968 | }
3969 | }
3970 | },
3971 | "webpack-merge": {
3972 | "version": "5.8.0",
3973 | "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
3974 | "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
3975 | "dev": true,
3976 | "requires": {
3977 | "clone-deep": "^4.0.1",
3978 | "wildcard": "^2.0.0"
3979 | }
3980 | },
3981 | "webpack-sources": {
3982 | "version": "3.2.3",
3983 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
3984 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
3985 | "dev": true
3986 | },
3987 | "which": {
3988 | "version": "2.0.2",
3989 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3990 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3991 | "dev": true,
3992 | "requires": {
3993 | "isexe": "^2.0.0"
3994 | }
3995 | },
3996 | "wildcard": {
3997 | "version": "2.0.0",
3998 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
3999 | "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
4000 | "dev": true
4001 | },
4002 | "word-wrap": {
4003 | "version": "1.2.3",
4004 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
4005 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
4006 | },
4007 | "yallist": {
4008 | "version": "4.0.0",
4009 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
4010 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
4011 | "dev": true
4012 | },
4013 | "yaml": {
4014 | "version": "2.2.0",
4015 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.0.tgz",
4016 | "integrity": "sha512-auf7Gi6QwO7HW//GA9seGvTXVGWl1CM/ADWh1+RxtXr6XOxnT65ovDl9fTi4e0monEyJxCHqDpF6QnFDXmJE4g=="
4017 | },
4018 | "yaml-cfn": {
4019 | "version": "0.3.2",
4020 | "resolved": "https://registry.npmjs.org/yaml-cfn/-/yaml-cfn-0.3.2.tgz",
4021 | "integrity": "sha512-MvrWhv40GKWHFGCliTGGAMwAeqIXf/bzf6WW48+xND9iMp8cTj0R8xkwM0lX/GzNN/EZKr5gP4Hx63Fn+sICoA==",
4022 | "requires": {
4023 | "js-yaml": "^4.0.0"
4024 | }
4025 | }
4026 | }
4027 | }
4028 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sfn-workflow-studio-sync",
3 | "version": "0.2.0",
4 | "description": "Enables real-time sync between StepFunctions Workflow Studio and your local machine",
5 | "private": true,
6 | "scripts": {
7 | "watch": "webpack --mode=development --watch --config config/webpack.config.js",
8 | "build": "webpack --mode=production --config config/webpack.config.js",
9 | "format": "prettier --write --ignore-unknown \"{config,public,src}/**/*.{html,css,js,ts,json}\""
10 | },
11 | "devDependencies": {
12 | "copy-webpack-plugin": "^10.2.4",
13 | "css-loader": "^6.7.3",
14 | "file-loader": "^6.2.0",
15 | "mini-css-extract-plugin": "^2.7.2",
16 | "prettier": "^2.8.1",
17 | "webpack": "^5.75.0",
18 | "webpack-cli": "^4.10.0",
19 | "webpack-merge": "^5.8.0"
20 | },
21 | "dependencies": {
22 | "jsonpath": "^1.1.1",
23 | "yaml": "^2.2.0",
24 | "yaml-cfn": "^0.3.2",
25 | "react": "^18.2.0"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/public/icons/icon_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ljacobsson/sfn-workflow-studio-sync/3d45e5e49c071b53f10ae9736faff2ca4ef37c48/public/icons/icon_128.png
--------------------------------------------------------------------------------
/public/icons/icon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ljacobsson/sfn-workflow-studio-sync/3d45e5e49c071b53f10ae9736faff2ca4ef37c48/public/icons/icon_16.png
--------------------------------------------------------------------------------
/public/icons/icon_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ljacobsson/sfn-workflow-studio-sync/3d45e5e49c071b53f10ae9736faff2ca4ef37c48/public/icons/icon_32.png
--------------------------------------------------------------------------------
/public/icons/icon_48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ljacobsson/sfn-workflow-studio-sync/3d45e5e49c071b53f10ae9736faff2ca4ef37c48/public/icons/icon_48.png
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 3,
3 | "name": "StepFunctions Workflow Studio Sync",
4 | "version": "0.1.0",
5 | "description": "Chrome extension to sync StepFunctions Workflow Studio work with your local ASL YAML file",
6 | "icons": {
7 | "16": "icons/icon_16.png",
8 | "32": "icons/icon_32.png",
9 | "48": "icons/icon_48.png",
10 | "128": "icons/icon_128.png"
11 | },
12 | "action": {
13 | "default_title": "StepFunctions Workflow Studio Sync"
14 | },
15 | "permissions": [
16 | "storage"
17 | ],
18 | "content_scripts": [
19 | {
20 | "matches": [
21 | "https://*.console.aws.amazon.com/states/home*"
22 | ],
23 | "run_at": "document_idle",
24 | "js": [
25 | "contentScript.js"
26 | ]
27 | }
28 | ]
29 | }
--------------------------------------------------------------------------------
/schema/sam-resource-specification.json:
--------------------------------------------------------------------------------
1 | {
2 | "ResourceTypes": {
3 | "AWS::Serverless::Function": {
4 | "Attributes": {
5 | "Arn": {
6 | "PrimitiveType": "String"
7 | },
8 | "Alias": {
9 | "PrimitiveType": "String"
10 | },
11 | "Version": {
12 | "PrimitiveType": "String"
13 | },
14 | "DestinationTopic": {
15 | "PrimitiveType": "String"
16 | },
17 | "DestinationQueue": {
18 | "PrimitiveType": "String"
19 | }
20 | },
21 | "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html"
22 | },
23 | "AWS::Serverless::HttpApi": {
24 | "Attributes": {
25 | "Stage": {
26 | "PrimitiveType": "String"
27 | },
28 | "DomainName": {
29 | "PrimitiveType": "String"
30 | }
31 | },
32 | "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-httpapi.html"
33 | },
34 | "AWS::Serverless::Api": {
35 | "Attributes": {
36 | "RootResourceId": {
37 | "Stage": "String"
38 | }
39 | },
40 | "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html"
41 | },
42 | "AWS::Serverless::StateMachine": {
43 | "Attributes": {
44 | "Name": {
45 | "PrimitiveType": "String"
46 | }
47 | },
48 | "Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html"
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/contentScript.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const YAML = require('yaml');
3 | const jp = require('jsonpath');
4 | const { yamlParse, yamlDump } = require('yaml-cfn');
5 | const cfnSchema = { ...require('../schema/cfn-resource-specification.json').ResourceTypes, ...require('../schema/sam-resource-specification.json').ResourceTypes }
6 | let aslFileHandle;
7 | let samFileHandle;
8 | let originalASLObj;
9 | let substitutionMap;
10 | let definitionButton;
11 | let definitionContentLocked = false;
12 | let forceSyncButton;
13 | let currentAsl;
14 | const definitionButtonSelector = "//span[text()='Definition']";
15 | const centerButtonSelector = "//span[text()='Center']";
16 | const deleteButtonSelector = "//span[text()='Delete']";
17 | let dummyButton;
18 | let currentFormat = "YAML";
19 | async function init() {
20 |
21 | const config = { attributes: true, childList: true, subtree: true };
22 |
23 | const buttonText = document.evaluate(centerButtonSelector, document, null, XPathResult.ANY_TYPE, null).iterateNext();
24 | if (!buttonText) return;
25 | definitionButton = buttonText.parentNode;
26 | dummyButton = definitionButton.cloneNode(true);
27 |
28 | dummyButton.childNodes[0].remove();
29 |
30 | const linkAslButton = dummyButton.cloneNode(true);
31 | linkAslButton.childNodes[0].textContent = "Link local ASL definition";
32 | linkAslButton.childNodes[0].parentNode.disabled = false;
33 | definitionButton.parentNode.append(linkAslButton);
34 |
35 | linkAslButton.addEventListener("click", await linkASL(config, linkAslButton));
36 |
37 | }
38 | init();
39 |
40 | window.addEventListener('popstate', (event) => {
41 | window.setTimeout(() => {
42 | init();
43 | }, 1000);
44 | });
45 |
46 | async function toggleFormat(setToCurrent) {
47 | const formatButton = document.evaluate(`//button[@id='formatButton']`, document, null, XPathResult.ANY_TYPE, null).iterateNext();
48 | if (setToCurrent === true) {
49 | formatButton.childNodes[0].textContent = `Format: ${currentFormat}`;
50 | return;
51 | }
52 | const format = formatButton.childNodes[0].childNodes[0].textContent;
53 | if (format === "Format: YAML") {
54 | formatButton.childNodes[0].textContent = "Format: JSON";
55 | currentFormat = "JSON";
56 | } else {
57 | formatButton.childNodes[0].textContent = "Format: YAML";
58 | currentFormat = "YAML";
59 | }
60 | await saveAsl();
61 | }
62 |
63 |
64 | async function linkASL(config, newButton) {
65 | return async () => {
66 | forceSyncButton = dummyButton.cloneNode(true);
67 | const linkSAMButton = dummyButton.cloneNode(true);
68 |
69 | forceSyncButton.childNodes[0].textContent = "Force sync";
70 | linkSAMButton.childNodes[0].textContent = "Link SAM template";
71 |
72 | forceSyncButton.addEventListener("click", async () => {
73 | document.evaluate(definitionButtonSelector, document, null, XPathResult.ANY_TYPE, null).iterateNext().click();
74 | });
75 | linkSAMButton.addEventListener("click", async () => {
76 | await linkSAM();
77 | linkSAMButton.remove();
78 | });
79 |
80 | [aslFileHandle] = await window.showOpenFilePicker({
81 | types: [
82 | {
83 | description: 'YAML or JSON files',
84 | accept: {
85 | 'text/yaml': ['.yaml', '.yml'],
86 | 'text/json': ['.json'],
87 | },
88 | },
89 | ],
90 | });
91 | if (aslFileHandle.name.endsWith(".json")) {
92 | currentFormat = "JSON";
93 | } else {
94 | currentFormat = "YAML";
95 | }
96 |
97 | const originalASL = await aslFileHandle.getFile();
98 | originalASLObj = YAML.parse(await originalASL.text()) || {};
99 | const graphObserver = new MutationObserver(callback);
100 | const rightPanelObserver = new MutationObserver(callback);
101 |
102 | const targetNode = document.getElementsByClassName('graph-editor-container')[0];
103 | const rightPanel = document.getElementsByClassName('right-panel')[0];
104 | graphObserver.observe(targetNode, config);
105 | rightPanelObserver.observe(rightPanel, config);
106 | newButton.remove();
107 | definitionButton.parentNode.append(forceSyncButton);
108 | definitionButton.parentNode.append(linkSAMButton);
109 |
110 | const formatButton = dummyButton.cloneNode(true);
111 | formatButton.childNodes[0].textContent = "Format: YAML";
112 | formatButton.id = "formatButton";
113 | definitionButton.parentNode.append(await formatButton);
114 | formatButton.addEventListener("click", toggleFormat);
115 |
116 | setTimeout(async () => {
117 | await toggleFormat(true);
118 | }, 500);
119 |
120 | forceSyncButton.click();
121 |
122 | };
123 | }
124 |
125 | async function linkSAM() {
126 | [samFileHandle] = await window.showOpenFilePicker({
127 | types: [
128 | {
129 | description: 'YAML files',
130 | accept: {
131 | 'text/yaml': ['.yaml', '.yml'],
132 | },
133 | },
134 | ],
135 | });
136 |
137 | const field = document.evaluate("//span[text()='Enter ']", document, null, XPathResult.ANY_TYPE, null).iterateNext();
138 |
139 | }
140 |
141 | async function getTemplate() {
142 | if (!samFileHandle) return null;
143 | const samFile = await samFileHandle.getFile();
144 | return yamlParse(await samFile.text()) || {};
145 |
146 | }
147 |
148 | async function dropdownChange(dropdown, resourceNameOverride) {
149 |
150 | const substitutionName = resourceNameOverride || dropdown.value.split("|")[0];
151 | const resourceName = dropdown.value.split("|")[0];
152 | const intrinsicFunction = dropdown.value.split("|")[1];
153 | let attribute;
154 | if (intrinsicFunction !== "Ref") {
155 | attribute = dropdown.value.split("|")[2];
156 | }
157 | const samTemplate = await getTemplate();
158 |
159 | const stateMachine = getStateMachineFromSAM(samTemplate);
160 |
161 | const stateMachineResource = samTemplate.Resources[stateMachine];
162 | stateMachineResource.Properties.DefinitionSubstitutions = stateMachineResource.Properties.DefinitionSubstitutions || {};
163 | if (intrinsicFunction === "Ref") {
164 | stateMachineResource.Properties.DefinitionSubstitutions[substitutionName] = { "Ref": resourceName };
165 | } else {
166 | stateMachineResource.Properties.DefinitionSubstitutions[substitutionName] = { "Fn::GetAtt": [resourceName, attribute] };
167 | }
168 |
169 | const writableStream = await samFileHandle.createWritable();
170 |
171 | let yaml = yamlDump(samTemplate);
172 | await writableStream.write(yaml);
173 | await writableStream.close();
174 |
175 | const input = dropdown.parentNode.parentNode.parentNode.parentNode.querySelector("input[type=text]");
176 | if (input) {
177 | input.value = '${' + resourceName + '}';
178 | var event = new Event('input', { bubbles: true });
179 | input.dispatchEvent(event);
180 | }
181 | setTimeout(async () => {
182 | forceSyncButton.click();
183 | setTimeout(async () => {
184 | const asl = await (await aslFileHandle.getFile()).text();
185 | for (const sub of Object.keys(stateMachineResource.Properties.DefinitionSubstitutions)) {
186 | if (!asl.includes("${" + sub + "}")) {
187 | delete stateMachineResource.Properties.DefinitionSubstitutions[sub];
188 | const writableStream = await samFileHandle.createWritable();
189 | let yaml = yamlDump(samTemplate);
190 | await writableStream.write(yaml);
191 | await writableStream.close();
192 | }
193 | }
194 |
195 | }, 300);
196 |
197 | }, 300);
198 | }
199 |
200 | function getStateMachineFromSAM(samTemplate) {
201 | return Object.keys(samTemplate.Resources).find((resource) => samTemplate.Resources[resource].Type === "AWS::Serverless::StateMachine" && (samTemplate.Resources[resource].Properties.DefinitionUri || "").includes(aslFileHandle.name));
202 | }
203 |
204 | async function renderResources(manualInputField) {
205 | if (document.getElementById("substitution-dropdown")) {
206 | return;
207 | }
208 | const dropdown = await createSAMDropdown();
209 |
210 | if (!definitionContentLocked) {
211 | definitionContentLocked = true;
212 | if (!document.getElementById("substitution-dropdown")) {
213 | manualInputField.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.append(dropdown);
214 | }
215 | }
216 |
217 | }
218 |
219 | async function createSAMDropdown(id) {
220 | const samTemplate = await getTemplate();
221 | if (!samTemplate) return null;
222 | const stateMachine = samTemplate.Resources[getStateMachineFromSAM(samTemplate)];
223 | let substitution = null;
224 | if (stateMachine.Properties.DefinitionSubstitutions) {
225 | substitution = stateMachine.Properties.DefinitionSubstitutions[id];
226 | }
227 | const dropdown = document.createElement("select");
228 | dropdown.id = "substitution-dropdown" + (id || "");
229 | dropdown.style = "width: 100%;";
230 | dropdown.innerHTML = ``;
231 |
232 | for (const resource of Object.keys(samTemplate.Resources).sort()) {
233 | const resourceObj = samTemplate.Resources[resource];
234 | const attributes = (cfnSchema[resourceObj.Type] || {}).Attributes || {};
235 | dropdown.innerHTML += ``;
247 | }
248 | dropdown.onchange = async () => await dropdownChange(dropdown, id);
249 |
250 | return dropdown;
251 | }
252 |
253 | function getSubstitutionPaths(doc, definition) {
254 | const paths = [];
255 | const getPath = (currPath, item) => {
256 | if (Array.isArray(item)) {
257 | item.forEach((el, idx) => getPath(`${currPath}.${idx}`, el));
258 | } else if (typeof item == "object") {
259 | Object.entries(item || {}).forEach(([key, value]) => {
260 | if (key.includes(" ")) key = `["${key}"]`;
261 | else key = `.${key}`;
262 | getPath(`${currPath}${key}`, value);
263 | if (typeof value === "string" && value.startsWith("${")) {
264 | paths.push(`$.${currPath}${key}`);
265 | }
266 | });
267 | }
268 | };
269 | Object.entries(doc).forEach(([key, value]) => {
270 | getPath(key, value);
271 | });
272 |
273 | const substitutionMap = [];
274 | for (const substitutionPath of paths) {
275 | const subKey = jp.value(doc, substitutionPath);
276 | const value = jp.value(definition, substitutionPath);
277 | if (!value) {
278 | console.log(`No value found for ${substitutionPath} in StateMachine ASL. If the JSON path has changed locally, please do a full infra deploy.`);
279 | continue;
280 | }
281 | if (!substitutionMap.find(p => p.key === subKey)) {
282 | substitutionMap.push({ key: subKey, value: value });
283 | }
284 | }
285 | return substitutionMap;
286 | }
287 | let hasSynced = false;
288 | let oldHtml = "";
289 | const callback = async (mutationList, observer) => {
290 | for (const mutation of mutationList) {
291 | if (mutation.target.classList && mutation.target.classList.contains("node") && mutation.target.classList.contains("selected")) {
292 | const innerHTML = document.getElementsByClassName("nodes")[0].innerHTML;
293 | if (oldHtml.length !== innerHTML.length) {
294 | oldHtml = innerHTML;
295 | document.evaluate(definitionButtonSelector, document, null, XPathResult.ANY_TYPE, null).iterateNext().click();
296 | }
297 | }
298 | if (mutation.target.classList && mutation.target.classList.contains("state-definition") && document.getElementsByClassName("json")[0]) {
299 |
300 | const json = document.getElementsByClassName("json")[0].innerText.replace(/\n/g, '').replace(/ /g, '');
301 | currentAsl = JSON.parse(json);
302 | if (!substitutionMap) {
303 | substitutionMap = getSubstitutionPaths(originalASLObj, currentAsl);
304 | }
305 |
306 | await saveAsl();
307 | document.evaluate(definitionButtonSelector, document, null, XPathResult.ANY_TYPE, null).iterateNext().click();
308 | }
309 |
310 | const manualInputField = document.evaluate("//span[text()='Enter ']", document, null, XPathResult.ANY_TYPE, null).iterateNext();
311 | if (manualInputField && !definitionContentLocked) {
312 | renderResources(manualInputField);
313 | } else {
314 | definitionContentLocked = false;
315 | }
316 |
317 | if (mutation.target.classList && mutation.target.classList.contains("CodeMirror-code") && !hasSynced && samFileHandle) {
318 | const codeMirror = document.getElementsByClassName("CodeMirror-code")[0];
319 | if (!codeMirror || !codeMirror.innerHTML) continue;
320 | let matches = codeMirror.innerHTML.match(/\${(.+?)}/g);
321 | if (matches && matches.length) {
322 | matches = matches.filter(p => !p.includes(" ")).map(p => p.replace("${", "").replace("}", ""));
323 |
324 | let div = document.createElement("div");
325 | div.id = "substitution-map";
326 | div.style = "padding-top: 20px;";
327 | div.innerHTML += `Map definition substitutions with SAM template
`;
328 | for (const match of matches) {
329 | div.innerHTML += `${match}`;
330 | const dropdown = await createSAMDropdown(match);
331 | div.append(dropdown)
332 | }
333 | if (document.getElementById("substitution-map")) {
334 | document.getElementById("substitution-map").remove();
335 | }
336 | document.getElementsByClassName("react-codemirror2")[0].parentNode.parentNode.append(div);
337 | }
338 | }
339 | }
340 | };
341 |
342 | async function saveAsl() {
343 | const writableStream = await aslFileHandle.createWritable();
344 |
345 | let yamlASL = YAML.stringify(currentAsl);
346 | for (const sub of substitutionMap) {
347 | yamlASL = yamlASL.split(sub.value).join(sub.key);
348 | }
349 | if (currentFormat === "YAML") {
350 | await writableStream.write(yamlASL);
351 | } else {
352 | await writableStream.write(JSON.stringify(yamlParse(yamlASL), null, 2));
353 | }
354 |
355 | await writableStream.close();
356 | }
357 |
358 |
--------------------------------------------------------------------------------