switched frontend to CRA
Massimo Melina committed
Dec 11, 2021 at 11:36 UTC
3b4f7d6bae5831baba702e672cfabbe721617764
31 files changed
+32749
-200
.gitignore
+1
@@ -1,3 +1,4 @@
1
node_modules
2
+build
3
.idea
4
dist
\ No newline at end of file
frontend/.gitignore
new
+23
@@ -0,0 +1,23 @@
1
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2
+
3
+# dependencies
4
+/node_modules
5
+/.pnp
6
+.pnp.js
7
+
8
+# testing
9
+/coverage
10
+
11
+# production
12
+/build
13
+
14
+# misc
15
+.DS_Store
16
+.env.local
17
+.env.development.local
18
+.env.test.local
19
+.env.production.local
20
+
21
+npm-debug.log*
22
+yarn-debug.log*
23
+yarn-error.log*
frontend/README.md
new
+46
@@ -0,0 +1,46 @@
1
+# Getting Started with Create React App
2
+
3
+This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
4
+
5
+## Available Scripts
6
+
7
+In the project directory, you can run:
8
+
9
+### `yarn start`
10
+
11
+Runs the app in the development mode.\
12
+Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
13
+
14
+The page will reload if you make edits.\
15
+You will also see any lint errors in the console.
16
+
17
+### `yarn test`
18
+
19
+Launches the test runner in the interactive watch mode.\
20
+See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
21
+
22
+### `yarn build`
23
+
24
+Builds the app for production to the `build` folder.\
25
+It correctly bundles React in production mode and optimizes the build for the best performance.
26
+
27
+The build is minified and the filenames include the hashes.\
28
+Your app is ready to be deployed!
29
+
30
+See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
31
+
32
+### `yarn eject`
33
+
34
+**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
35
+
36
+If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
37
+
38
+Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
39
+
40
+You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
41
+
42
+## Learn More
43
+
44
+You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
45
+
46
+To learn React, check out the [React documentation](https://reactjs.org/).
frontend/index.html
deleted
-13
@@ -1,13 +0,0 @@
1
-<!DOCTYPE html>
2
-<html lang="en">
3
-<head>
4
- <meta charset="UTF-8" />
5
- <title>HFS</title>
6
- <meta name="viewport" content="width=device-width, initial-scale=1">
7
- <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
8
- <link rel="stylesheet" type="text/css" href="/~/main.css" />
9
- <script type="module" src='/~/main.js'></script>
10
-</head>
11
-<body>
12
-</body>
13
-</html>
frontend/main.css
frontend/main.js
deleted
-31
@@ -1,31 +0,0 @@
1
-import { h, render, Fragment } from 'https://unpkg.com/preact@latest?module';
2
-import { useState, useEffect } from 'https://unpkg.com/preact@latest/hooks/dist/hooks.module.js?module';
3
-export { h, render, Fragment, useState, useEffect }
4
-
5
-import { useApi } from './api.js'
6
-//import * as Fluid from 'https://unpkg.com/preact-fluid@latest?module'; console.log(Fluid)
7
-
8
-document.addEventListener('DOMContentLoaded', ()=>
9
- render( h(App), document.body) )
10
-
11
-function App() {
12
- return h(BrowseFiles)
13
-}
14
-
15
-function BrowseFiles() {
16
- return h(Fragment, {},
17
- h(Head),
18
- h(FilesList) )
19
-}
20
-
21
-function Head() {
22
- return null
23
-}
24
-
25
-function FilesList() {
26
- const res = useApi('files_list', { path: location.pathname })
27
- if (!res)
28
- return 'loading'
29
- return h('ul', {}, res.list.map(({ n }) =>
30
- h('li',{}, h('a',{ href:n }, n)) ))
31
-}
\ No newline at end of file
frontend/package-lock.json
new
+32137
@@ -0,0 +1,32137 @@
1
+{
2
+ "name": "frontend",
3
+ "version": "0.1.0",
4
+ "lockfileVersion": 2,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "frontend",
9
+ "version": "0.1.0",
10
+ "dependencies": {
11
+ "react": "^17.0.2",
12
+ "react-dom": "^17.0.2",
13
+ "react-router-dom": "^6.1.1",
14
+ "web-vitals": "^1.0.1"
15
+ },
16
+ "devDependencies": {
17
+ "@testing-library/jest-dom": "^5.11.4",
18
+ "@testing-library/react": "^11.1.0",
19
+ "@testing-library/user-event": "^12.1.10",
20
+ "@types/jest": "^26.0.15",
21
+ "@types/node": "^12.0.0",
22
+ "@types/react": "^17.0.0",
23
+ "@types/react-dom": "^17.0.0",
24
+ "react-scripts": "4.0.3",
25
+ "typescript": "^4.1.2"
26
+ }
27
+ },
28
+ "node_modules/@babel/code-frame": {
29
+ "version": "7.12.13",
30
+ "dev": true,
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "@babel/highlight": "^7.12.13"
34
+ }
35
+ },
36
+ "node_modules/@babel/compat-data": {
37
+ "version": "7.12.13",
38
+ "dev": true,
39
+ "license": "MIT"
40
+ },
41
+ "node_modules/@babel/core": {
42
+ "version": "7.12.17",
43
+ "dev": true,
44
+ "license": "MIT",
45
+ "dependencies": {
46
+ "@babel/code-frame": "^7.12.13",
47
+ "@babel/generator": "^7.12.17",
48
+ "@babel/helper-module-transforms": "^7.12.17",
49
+ "@babel/helpers": "^7.12.17",
50
+ "@babel/parser": "^7.12.17",
51
+ "@babel/template": "^7.12.13",
52
+ "@babel/traverse": "^7.12.17",
53
+ "@babel/types": "^7.12.17",
54
+ "convert-source-map": "^1.7.0",
55
+ "debug": "^4.1.0",
56
+ "gensync": "^1.0.0-beta.1",
57
+ "json5": "^2.1.2",
58
+ "lodash": "^4.17.19",
59
+ "semver": "^5.4.1",
60
+ "source-map": "^0.5.0"
61
+ },
62
+ "engines": {
63
+ "node": ">=6.9.0"
64
+ },
65
+ "funding": {
66
+ "type": "opencollective",
67
+ "url": "https://opencollective.com/babel"
68
+ }
69
+ },
70
+ "node_modules/@babel/core/node_modules/json5": {
71
+ "version": "2.2.0",
72
+ "dev": true,
73
+ "license": "MIT",
74
+ "dependencies": {
75
+ "minimist": "^1.2.5"
76
+ },
77
+ "bin": {
78
+ "json5": "lib/cli.js"
79
+ },
80
+ "engines": {
81
+ "node": ">=6"
82
+ }
83
+ },
84
+ "node_modules/@babel/core/node_modules/source-map": {
85
+ "version": "0.5.7",
86
+ "dev": true,
87
+ "license": "BSD-3-Clause",
88
+ "engines": {
89
+ "node": ">=0.10.0"
90
+ }
91
+ },
92
+ "node_modules/@babel/generator": {
93
+ "version": "7.12.17",
94
+ "dev": true,
95
+ "license": "MIT",
96
+ "dependencies": {
97
+ "@babel/types": "^7.12.17",
98
+ "jsesc": "^2.5.1",
99
+ "source-map": "^0.5.0"
100
+ }
101
+ },
102
+ "node_modules/@babel/generator/node_modules/source-map": {
103
+ "version": "0.5.7",
104
+ "dev": true,
105
+ "license": "BSD-3-Clause",
106
+ "engines": {
107
+ "node": ">=0.10.0"
108
+ }
109
+ },
110
+ "node_modules/@babel/helper-annotate-as-pure": {
111
+ "version": "7.12.13",
112
+ "dev": true,
113
+ "license": "MIT",
114
+ "dependencies": {
115
+ "@babel/types": "^7.12.13"
116
+ }
117
+ },
118
+ "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
119
+ "version": "7.12.13",
120
+ "dev": true,
121
+ "license": "MIT",
122
+ "dependencies": {
123
+ "@babel/helper-explode-assignable-expression": "^7.12.13",
124
+ "@babel/types": "^7.12.13"
125
+ }
126
+ },
127
+ "node_modules/@babel/helper-compilation-targets": {
128
+ "version": "7.12.17",
129
+ "dev": true,
130
+ "license": "MIT",
131
+ "dependencies": {
132
+ "@babel/compat-data": "^7.12.13",
133
+ "@babel/helper-validator-option": "^7.12.17",
134
+ "browserslist": "^4.14.5",
135
+ "semver": "^5.5.0"
136
+ },
137
+ "peerDependencies": {
138
+ "@babel/core": "^7.0.0"
139
+ }
140
+ },
141
+ "node_modules/@babel/helper-create-class-features-plugin": {
142
+ "version": "7.12.17",
143
+ "dev": true,
144
+ "license": "MIT",
145
+ "dependencies": {
146
+ "@babel/helper-function-name": "^7.12.13",
147
+ "@babel/helper-member-expression-to-functions": "^7.12.17",
148
+ "@babel/helper-optimise-call-expression": "^7.12.13",
149
+ "@babel/helper-replace-supers": "^7.12.13",
150
+ "@babel/helper-split-export-declaration": "^7.12.13"
151
+ },
152
+ "peerDependencies": {
153
+ "@babel/core": "^7.0.0"
154
+ }
155
+ },
156
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/core": {
157
+ "version": "7.12.3",
158
+ "dev": true,
159
+ "license": "MIT",
160
+ "peer": true,
161
+ "dependencies": {
162
+ "@babel/code-frame": "^7.10.4",
163
+ "@babel/generator": "^7.12.1",
164
+ "@babel/helper-module-transforms": "^7.12.1",
165
+ "@babel/helpers": "^7.12.1",
166
+ "@babel/parser": "^7.12.3",
167
+ "@babel/template": "^7.10.4",
168
+ "@babel/traverse": "^7.12.1",
169
+ "@babel/types": "^7.12.1",
170
+ "convert-source-map": "^1.7.0",
171
+ "debug": "^4.1.0",
172
+ "gensync": "^1.0.0-beta.1",
173
+ "json5": "^2.1.2",
174
+ "lodash": "^4.17.19",
175
+ "resolve": "^1.3.2",
176
+ "semver": "^5.4.1",
177
+ "source-map": "^0.5.0"
178
+ },
179
+ "engines": {
180
+ "node": ">=6.9.0"
181
+ },
182
+ "funding": {
183
+ "type": "opencollective",
184
+ "url": "https://opencollective.com/babel"
185
+ }
186
+ },
187
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/json5": {
188
+ "version": "2.2.0",
189
+ "dev": true,
190
+ "license": "MIT",
191
+ "peer": true,
192
+ "dependencies": {
193
+ "minimist": "^1.2.5"
194
+ },
195
+ "bin": {
196
+ "json5": "lib/cli.js"
197
+ },
198
+ "engines": {
199
+ "node": ">=6"
200
+ }
201
+ },
202
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/source-map": {
203
+ "version": "0.5.7",
204
+ "dev": true,
205
+ "license": "BSD-3-Clause",
206
+ "peer": true,
207
+ "engines": {
208
+ "node": ">=0.10.0"
209
+ }
210
+ },
211
+ "node_modules/@babel/helper-create-regexp-features-plugin": {
212
+ "version": "7.12.17",
213
+ "dev": true,
214
+ "license": "MIT",
215
+ "dependencies": {
216
+ "@babel/helper-annotate-as-pure": "^7.12.13",
217
+ "regexpu-core": "^4.7.1"
218
+ },
219
+ "peerDependencies": {
220
+ "@babel/core": "^7.0.0"
221
+ }
222
+ },
223
+ "node_modules/@babel/helper-explode-assignable-expression": {
224
+ "version": "7.12.13",
225
+ "dev": true,
226
+ "license": "MIT",
227
+ "dependencies": {
228
+ "@babel/types": "^7.12.13"
229
+ }
230
+ },
231
+ "node_modules/@babel/helper-function-name": {
232
+ "version": "7.12.13",
233
+ "dev": true,
234
+ "license": "MIT",
235
+ "dependencies": {
236
+ "@babel/helper-get-function-arity": "^7.12.13",
237
+ "@babel/template": "^7.12.13",
238
+ "@babel/types": "^7.12.13"
239
+ }
240
+ },
241
+ "node_modules/@babel/helper-get-function-arity": {
242
+ "version": "7.12.13",
243
+ "dev": true,
244
+ "license": "MIT",
245
+ "dependencies": {
246
+ "@babel/types": "^7.12.13"
247
+ }
248
+ },
249
+ "node_modules/@babel/helper-hoist-variables": {
250
+ "version": "7.12.13",
251
+ "dev": true,
252
+ "license": "MIT",
253
+ "dependencies": {
254
+ "@babel/types": "^7.12.13"
255
+ }
256
+ },
257
+ "node_modules/@babel/helper-member-expression-to-functions": {
258
+ "version": "7.12.17",
259
+ "dev": true,
260
+ "license": "MIT",
261
+ "dependencies": {
262
+ "@babel/types": "^7.12.17"
263
+ }
264
+ },
265
+ "node_modules/@babel/helper-module-imports": {
266
+ "version": "7.12.13",
267
+ "dev": true,
268
+ "license": "MIT",
269
+ "dependencies": {
270
+ "@babel/types": "^7.12.13"
271
+ }
272
+ },
273
+ "node_modules/@babel/helper-module-transforms": {
274
+ "version": "7.12.17",
275
+ "dev": true,
276
+ "license": "MIT",
277
+ "dependencies": {
278
+ "@babel/helper-module-imports": "^7.12.13",
279
+ "@babel/helper-replace-supers": "^7.12.13",
280
+ "@babel/helper-simple-access": "^7.12.13",
281
+ "@babel/helper-split-export-declaration": "^7.12.13",
282
+ "@babel/helper-validator-identifier": "^7.12.11",
283
+ "@babel/template": "^7.12.13",
284
+ "@babel/traverse": "^7.12.17",
285
+ "@babel/types": "^7.12.17",
286
+ "lodash": "^4.17.19"
287
+ }
288
+ },
289
+ "node_modules/@babel/helper-optimise-call-expression": {
290
+ "version": "7.12.13",
291
+ "dev": true,
292
+ "license": "MIT",
293
+ "dependencies": {
294
+ "@babel/types": "^7.12.13"
295
+ }
296
+ },
297
+ "node_modules/@babel/helper-plugin-utils": {
298
+ "version": "7.12.13",
299
+ "dev": true,
300
+ "license": "MIT"
301
+ },
302
+ "node_modules/@babel/helper-remap-async-to-generator": {
303
+ "version": "7.12.13",
304
+ "dev": true,
305
+ "license": "MIT",
306
+ "dependencies": {
307
+ "@babel/helper-annotate-as-pure": "^7.12.13",
308
+ "@babel/helper-wrap-function": "^7.12.13",
309
+ "@babel/types": "^7.12.13"
310
+ }
311
+ },
312
+ "node_modules/@babel/helper-replace-supers": {
313
+ "version": "7.12.13",
314
+ "dev": true,
315
+ "license": "MIT",
316
+ "dependencies": {
317
+ "@babel/helper-member-expression-to-functions": "^7.12.13",
318
+ "@babel/helper-optimise-call-expression": "^7.12.13",
319
+ "@babel/traverse": "^7.12.13",
320
+ "@babel/types": "^7.12.13"
321
+ }
322
+ },
323
+ "node_modules/@babel/helper-simple-access": {
324
+ "version": "7.12.13",
325
+ "dev": true,
326
+ "license": "MIT",
327
+ "dependencies": {
328
+ "@babel/types": "^7.12.13"
329
+ }
330
+ },
331
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
332
+ "version": "7.12.1",
333
+ "dev": true,
334
+ "license": "MIT",
335
+ "dependencies": {
336
+ "@babel/types": "^7.12.1"
337
+ }
338
+ },
339
+ "node_modules/@babel/helper-split-export-declaration": {
340
+ "version": "7.12.13",
341
+ "dev": true,
342
+ "license": "MIT",
343
+ "dependencies": {
344
+ "@babel/types": "^7.12.13"
345
+ }
346
+ },
347
+ "node_modules/@babel/helper-validator-identifier": {
348
+ "version": "7.12.11",
349
+ "dev": true,
350
+ "license": "MIT"
351
+ },
352
+ "node_modules/@babel/helper-validator-option": {
353
+ "version": "7.12.17",
354
+ "dev": true,
355
+ "license": "MIT"
356
+ },
357
+ "node_modules/@babel/helper-wrap-function": {
358
+ "version": "7.12.13",
359
+ "dev": true,
360
+ "license": "MIT",
361
+ "dependencies": {
362
+ "@babel/helper-function-name": "^7.12.13",
363
+ "@babel/template": "^7.12.13",
364
+ "@babel/traverse": "^7.12.13",
365
+ "@babel/types": "^7.12.13"
366
+ }
367
+ },
368
+ "node_modules/@babel/helpers": {
369
+ "version": "7.12.17",
370
+ "dev": true,
371
+ "license": "MIT",
372
+ "dependencies": {
373
+ "@babel/template": "^7.12.13",
374
+ "@babel/traverse": "^7.12.17",
375
+ "@babel/types": "^7.12.17"
376
+ }
377
+ },
378
+ "node_modules/@babel/highlight": {
379
+ "version": "7.12.13",
380
+ "dev": true,
381
+ "license": "MIT",
382
+ "dependencies": {
383
+ "@babel/helper-validator-identifier": "^7.12.11",
384
+ "chalk": "^2.0.0",
385
+ "js-tokens": "^4.0.0"
386
+ }
387
+ },
388
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
389
+ "version": "3.2.1",
390
+ "dev": true,
391
+ "license": "MIT",
392
+ "dependencies": {
393
+ "color-convert": "^1.9.0"
394
+ },
395
+ "engines": {
396
+ "node": ">=4"
397
+ }
398
+ },
399
+ "node_modules/@babel/highlight/node_modules/chalk": {
400
+ "version": "2.4.2",
401
+ "dev": true,
402
+ "license": "MIT",
403
+ "dependencies": {
404
+ "ansi-styles": "^3.2.1",
405
+ "escape-string-regexp": "^1.0.5",
406
+ "supports-color": "^5.3.0"
407
+ },
408
+ "engines": {
409
+ "node": ">=4"
410
+ }
411
+ },
412
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
413
+ "version": "1.0.5",
414
+ "dev": true,
415
+ "license": "MIT",
416
+ "engines": {
417
+ "node": ">=0.8.0"
418
+ }
419
+ },
420
+ "node_modules/@babel/highlight/node_modules/supports-color": {
421
+ "version": "5.5.0",
422
+ "dev": true,
423
+ "license": "MIT",
424
+ "dependencies": {
425
+ "has-flag": "^3.0.0"
426
+ },
427
+ "engines": {
428
+ "node": ">=4"
429
+ }
430
+ },
431
+ "node_modules/@babel/parser": {
432
+ "version": "7.12.17",
433
+ "dev": true,
434
+ "license": "MIT",
435
+ "bin": {
436
+ "parser": "bin/babel-parser.js"
437
+ },
438
+ "engines": {
439
+ "node": ">=6.0.0"
440
+ }
441
+ },
442
+ "node_modules/@babel/plugin-proposal-async-generator-functions": {
443
+ "version": "7.12.13",
444
+ "dev": true,
445
+ "license": "MIT",
446
+ "dependencies": {
447
+ "@babel/helper-plugin-utils": "^7.12.13",
448
+ "@babel/helper-remap-async-to-generator": "^7.12.13",
449
+ "@babel/plugin-syntax-async-generators": "^7.8.0"
450
+ },
451
+ "peerDependencies": {
452
+ "@babel/core": "^7.0.0-0"
453
+ }
454
+ },
455
+ "node_modules/@babel/plugin-proposal-class-properties": {
456
+ "version": "7.12.13",
457
+ "dev": true,
458
+ "license": "MIT",
459
+ "dependencies": {
460
+ "@babel/helper-create-class-features-plugin": "^7.12.13",
461
+ "@babel/helper-plugin-utils": "^7.12.13"
462
+ },
463
+ "peerDependencies": {
464
+ "@babel/core": "^7.0.0-0"
465
+ }
466
+ },
467
+ "node_modules/@babel/plugin-proposal-dynamic-import": {
468
+ "version": "7.12.17",
469
+ "dev": true,
470
+ "license": "MIT",
471
+ "dependencies": {
472
+ "@babel/helper-plugin-utils": "^7.12.13",
473
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
474
+ },
475
+ "peerDependencies": {
476
+ "@babel/core": "^7.0.0-0"
477
+ }
478
+ },
479
+ "node_modules/@babel/plugin-proposal-export-namespace-from": {
480
+ "version": "7.12.13",
481
+ "dev": true,
482
+ "license": "MIT",
483
+ "dependencies": {
484
+ "@babel/helper-plugin-utils": "^7.12.13",
485
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
486
+ },
487
+ "peerDependencies": {
488
+ "@babel/core": "^7.0.0-0"
489
+ }
490
+ },
491
+ "node_modules/@babel/plugin-proposal-json-strings": {
492
+ "version": "7.12.13",
493
+ "dev": true,
494
+ "license": "MIT",
495
+ "dependencies": {
496
+ "@babel/helper-plugin-utils": "^7.12.13",
497
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
498
+ },
499
+ "peerDependencies": {
500
+ "@babel/core": "^7.0.0-0"
501
+ }
502
+ },
503
+ "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
504
+ "version": "7.12.13",
505
+ "dev": true,
506
+ "license": "MIT",
507
+ "dependencies": {
508
+ "@babel/helper-plugin-utils": "^7.12.13",
509
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
510
+ },
511
+ "peerDependencies": {
512
+ "@babel/core": "^7.0.0-0"
513
+ }
514
+ },
515
+ "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
516
+ "version": "7.12.13",
517
+ "dev": true,
518
+ "license": "MIT",
519
+ "dependencies": {
520
+ "@babel/helper-plugin-utils": "^7.12.13",
521
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
522
+ },
523
+ "peerDependencies": {
524
+ "@babel/core": "^7.0.0-0"
525
+ }
526
+ },
527
+ "node_modules/@babel/plugin-proposal-numeric-separator": {
528
+ "version": "7.12.13",
529
+ "dev": true,
530
+ "license": "MIT",
531
+ "dependencies": {
532
+ "@babel/helper-plugin-utils": "^7.12.13",
533
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
534
+ },
535
+ "peerDependencies": {
536
+ "@babel/core": "^7.0.0-0"
537
+ }
538
+ },
539
+ "node_modules/@babel/plugin-proposal-object-rest-spread": {
540
+ "version": "7.12.13",
541
+ "dev": true,
542
+ "license": "MIT",
543
+ "dependencies": {
544
+ "@babel/helper-plugin-utils": "^7.12.13",
545
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
546
+ "@babel/plugin-transform-parameters": "^7.12.13"
547
+ },
548
+ "peerDependencies": {
549
+ "@babel/core": "^7.0.0-0"
550
+ }
551
+ },
552
+ "node_modules/@babel/plugin-proposal-optional-catch-binding": {
553
+ "version": "7.12.13",
554
+ "dev": true,
555
+ "license": "MIT",
556
+ "dependencies": {
557
+ "@babel/helper-plugin-utils": "^7.12.13",
558
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
559
+ },
560
+ "peerDependencies": {
561
+ "@babel/core": "^7.0.0-0"
562
+ }
563
+ },
564
+ "node_modules/@babel/plugin-proposal-optional-chaining": {
565
+ "version": "7.12.17",
566
+ "dev": true,
567
+ "license": "MIT",
568
+ "dependencies": {
569
+ "@babel/helper-plugin-utils": "^7.12.13",
570
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
571
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
572
+ },
573
+ "peerDependencies": {
574
+ "@babel/core": "^7.0.0-0"
575
+ }
576
+ },
577
+ "node_modules/@babel/plugin-proposal-private-methods": {
578
+ "version": "7.12.13",
579
+ "dev": true,
580
+ "license": "MIT",
581
+ "dependencies": {
582
+ "@babel/helper-create-class-features-plugin": "^7.12.13",
583
+ "@babel/helper-plugin-utils": "^7.12.13"
584
+ },
585
+ "peerDependencies": {
586
+ "@babel/core": "^7.0.0-0"
587
+ }
588
+ },
589
+ "node_modules/@babel/plugin-proposal-unicode-property-regex": {
590
+ "version": "7.12.13",
591
+ "dev": true,
592
+ "license": "MIT",
593
+ "dependencies": {
594
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
595
+ "@babel/helper-plugin-utils": "^7.12.13"
596
+ },
597
+ "engines": {
598
+ "node": ">=4"
599
+ },
600
+ "peerDependencies": {
601
+ "@babel/core": "^7.0.0-0"
602
+ }
603
+ },
604
+ "node_modules/@babel/plugin-syntax-async-generators": {
605
+ "version": "7.8.4",
606
+ "dev": true,
607
+ "license": "MIT",
608
+ "dependencies": {
609
+ "@babel/helper-plugin-utils": "^7.8.0"
610
+ },
611
+ "peerDependencies": {
612
+ "@babel/core": "^7.0.0-0"
613
+ }
614
+ },
615
+ "node_modules/@babel/plugin-syntax-class-properties": {
616
+ "version": "7.12.13",
617
+ "dev": true,
618
+ "license": "MIT",
619
+ "dependencies": {
620
+ "@babel/helper-plugin-utils": "^7.12.13"
621
+ },
622
+ "peerDependencies": {
623
+ "@babel/core": "^7.0.0-0"
624
+ }
625
+ },
626
+ "node_modules/@babel/plugin-syntax-dynamic-import": {
627
+ "version": "7.8.3",
628
+ "dev": true,
629
+ "license": "MIT",
630
+ "dependencies": {
631
+ "@babel/helper-plugin-utils": "^7.8.0"
632
+ },
633
+ "peerDependencies": {
634
+ "@babel/core": "^7.0.0-0"
635
+ }
636
+ },
637
+ "node_modules/@babel/plugin-syntax-export-namespace-from": {
638
+ "version": "7.8.3",
639
+ "dev": true,
640
+ "license": "MIT",
641
+ "dependencies": {
642
+ "@babel/helper-plugin-utils": "^7.8.3"
643
+ },
644
+ "peerDependencies": {
645
+ "@babel/core": "^7.0.0-0"
646
+ }
647
+ },
648
+ "node_modules/@babel/plugin-syntax-json-strings": {
649
+ "version": "7.8.3",
650
+ "dev": true,
651
+ "license": "MIT",
652
+ "dependencies": {
653
+ "@babel/helper-plugin-utils": "^7.8.0"
654
+ },
655
+ "peerDependencies": {
656
+ "@babel/core": "^7.0.0-0"
657
+ }
658
+ },
659
+ "node_modules/@babel/plugin-syntax-jsx": {
660
+ "version": "7.12.13",
661
+ "dev": true,
662
+ "license": "MIT",
663
+ "dependencies": {
664
+ "@babel/helper-plugin-utils": "^7.12.13"
665
+ },
666
+ "peerDependencies": {
667
+ "@babel/core": "^7.0.0-0"
668
+ }
669
+ },
670
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
671
+ "version": "7.10.4",
672
+ "dev": true,
673
+ "license": "MIT",
674
+ "dependencies": {
675
+ "@babel/helper-plugin-utils": "^7.10.4"
676
+ },
677
+ "peerDependencies": {
678
+ "@babel/core": "^7.0.0-0"
679
+ }
680
+ },
681
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
682
+ "version": "7.8.3",
683
+ "dev": true,
684
+ "license": "MIT",
685
+ "dependencies": {
686
+ "@babel/helper-plugin-utils": "^7.8.0"
687
+ },
688
+ "peerDependencies": {
689
+ "@babel/core": "^7.0.0-0"
690
+ }
691
+ },
692
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
693
+ "version": "7.10.4",
694
+ "dev": true,
695
+ "license": "MIT",
696
+ "dependencies": {
697
+ "@babel/helper-plugin-utils": "^7.10.4"
698
+ },
699
+ "peerDependencies": {
700
+ "@babel/core": "^7.0.0-0"
701
+ }
702
+ },
703
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
704
+ "version": "7.8.3",
705
+ "dev": true,
706
+ "license": "MIT",
707
+ "dependencies": {
708
+ "@babel/helper-plugin-utils": "^7.8.0"
709
+ },
710
+ "peerDependencies": {
711
+ "@babel/core": "^7.0.0-0"
712
+ }
713
+ },
714
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
715
+ "version": "7.8.3",
716
+ "dev": true,
717
+ "license": "MIT",
718
+ "dependencies": {
719
+ "@babel/helper-plugin-utils": "^7.8.0"
720
+ },
721
+ "peerDependencies": {
722
+ "@babel/core": "^7.0.0-0"
723
+ }
724
+ },
725
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
726
+ "version": "7.8.3",
727
+ "dev": true,
728
+ "license": "MIT",
729
+ "dependencies": {
730
+ "@babel/helper-plugin-utils": "^7.8.0"
731
+ },
732
+ "peerDependencies": {
733
+ "@babel/core": "^7.0.0-0"
734
+ }
735
+ },
736
+ "node_modules/@babel/plugin-syntax-top-level-await": {
737
+ "version": "7.12.13",
738
+ "dev": true,
739
+ "license": "MIT",
740
+ "dependencies": {
741
+ "@babel/helper-plugin-utils": "^7.12.13"
742
+ },
743
+ "peerDependencies": {
744
+ "@babel/core": "^7.0.0-0"
745
+ }
746
+ },
747
+ "node_modules/@babel/plugin-transform-arrow-functions": {
748
+ "version": "7.12.13",
749
+ "dev": true,
750
+ "license": "MIT",
751
+ "dependencies": {
752
+ "@babel/helper-plugin-utils": "^7.12.13"
753
+ },
754
+ "peerDependencies": {
755
+ "@babel/core": "^7.0.0-0"
756
+ }
757
+ },
758
+ "node_modules/@babel/plugin-transform-async-to-generator": {
759
+ "version": "7.12.13",
760
+ "dev": true,
761
+ "license": "MIT",
762
+ "dependencies": {
763
+ "@babel/helper-module-imports": "^7.12.13",
764
+ "@babel/helper-plugin-utils": "^7.12.13",
765
+ "@babel/helper-remap-async-to-generator": "^7.12.13"
766
+ },
767
+ "peerDependencies": {
768
+ "@babel/core": "^7.0.0-0"
769
+ }
770
+ },
771
+ "node_modules/@babel/plugin-transform-block-scoped-functions": {
772
+ "version": "7.12.13",
773
+ "dev": true,
774
+ "license": "MIT",
775
+ "dependencies": {
776
+ "@babel/helper-plugin-utils": "^7.12.13"
777
+ },
778
+ "peerDependencies": {
779
+ "@babel/core": "^7.0.0-0"
780
+ }
781
+ },
782
+ "node_modules/@babel/plugin-transform-block-scoping": {
783
+ "version": "7.12.13",
784
+ "dev": true,
785
+ "license": "MIT",
786
+ "dependencies": {
787
+ "@babel/helper-plugin-utils": "^7.12.13"
788
+ },
789
+ "peerDependencies": {
790
+ "@babel/core": "^7.0.0-0"
791
+ }
792
+ },
793
+ "node_modules/@babel/plugin-transform-classes": {
794
+ "version": "7.12.13",
795
+ "dev": true,
796
+ "license": "MIT",
797
+ "dependencies": {
798
+ "@babel/helper-annotate-as-pure": "^7.12.13",
799
+ "@babel/helper-function-name": "^7.12.13",
800
+ "@babel/helper-optimise-call-expression": "^7.12.13",
801
+ "@babel/helper-plugin-utils": "^7.12.13",
802
+ "@babel/helper-replace-supers": "^7.12.13",
803
+ "@babel/helper-split-export-declaration": "^7.12.13",
804
+ "globals": "^11.1.0"
805
+ },
806
+ "peerDependencies": {
807
+ "@babel/core": "^7.0.0-0"
808
+ }
809
+ },
810
+ "node_modules/@babel/plugin-transform-computed-properties": {
811
+ "version": "7.12.13",
812
+ "dev": true,
813
+ "license": "MIT",
814
+ "dependencies": {
815
+ "@babel/helper-plugin-utils": "^7.12.13"
816
+ },
817
+ "peerDependencies": {
818
+ "@babel/core": "^7.0.0-0"
819
+ }
820
+ },
821
+ "node_modules/@babel/plugin-transform-destructuring": {
822
+ "version": "7.12.13",
823
+ "dev": true,
824
+ "license": "MIT",
825
+ "dependencies": {
826
+ "@babel/helper-plugin-utils": "^7.12.13"
827
+ },
828
+ "peerDependencies": {
829
+ "@babel/core": "^7.0.0-0"
830
+ }
831
+ },
832
+ "node_modules/@babel/plugin-transform-dotall-regex": {
833
+ "version": "7.12.13",
834
+ "dev": true,
835
+ "license": "MIT",
836
+ "dependencies": {
837
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
838
+ "@babel/helper-plugin-utils": "^7.12.13"
839
+ },
840
+ "peerDependencies": {
841
+ "@babel/core": "^7.0.0-0"
842
+ }
843
+ },
844
+ "node_modules/@babel/plugin-transform-duplicate-keys": {
845
+ "version": "7.12.13",
846
+ "dev": true,
847
+ "license": "MIT",
848
+ "dependencies": {
849
+ "@babel/helper-plugin-utils": "^7.12.13"
850
+ },
851
+ "peerDependencies": {
852
+ "@babel/core": "^7.0.0-0"
853
+ }
854
+ },
855
+ "node_modules/@babel/plugin-transform-exponentiation-operator": {
856
+ "version": "7.12.13",
857
+ "dev": true,
858
+ "license": "MIT",
859
+ "dependencies": {
860
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13",
861
+ "@babel/helper-plugin-utils": "^7.12.13"
862
+ },
863
+ "peerDependencies": {
864
+ "@babel/core": "^7.0.0-0"
865
+ }
866
+ },
867
+ "node_modules/@babel/plugin-transform-for-of": {
868
+ "version": "7.12.13",
869
+ "dev": true,
870
+ "license": "MIT",
871
+ "dependencies": {
872
+ "@babel/helper-plugin-utils": "^7.12.13"
873
+ },
874
+ "peerDependencies": {
875
+ "@babel/core": "^7.0.0-0"
876
+ }
877
+ },
878
+ "node_modules/@babel/plugin-transform-function-name": {
879
+ "version": "7.12.13",
880
+ "dev": true,
881
+ "license": "MIT",
882
+ "dependencies": {
883
+ "@babel/helper-function-name": "^7.12.13",
884
+ "@babel/helper-plugin-utils": "^7.12.13"
885
+ },
886
+ "peerDependencies": {
887
+ "@babel/core": "^7.0.0-0"
888
+ }
889
+ },
890
+ "node_modules/@babel/plugin-transform-literals": {
891
+ "version": "7.12.13",
892
+ "dev": true,
893
+ "license": "MIT",
894
+ "dependencies": {
895
+ "@babel/helper-plugin-utils": "^7.12.13"
896
+ },
897
+ "peerDependencies": {
898
+ "@babel/core": "^7.0.0-0"
899
+ }
900
+ },
901
+ "node_modules/@babel/plugin-transform-member-expression-literals": {
902
+ "version": "7.12.13",
903
+ "dev": true,
904
+ "license": "MIT",
905
+ "dependencies": {
906
+ "@babel/helper-plugin-utils": "^7.12.13"
907
+ },
908
+ "peerDependencies": {
909
+ "@babel/core": "^7.0.0-0"
910
+ }
911
+ },
912
+ "node_modules/@babel/plugin-transform-modules-amd": {
913
+ "version": "7.12.13",
914
+ "dev": true,
915
+ "license": "MIT",
916
+ "dependencies": {
917
+ "@babel/helper-module-transforms": "^7.12.13",
918
+ "@babel/helper-plugin-utils": "^7.12.13",
919
+ "babel-plugin-dynamic-import-node": "^2.3.3"
920
+ },
921
+ "peerDependencies": {
922
+ "@babel/core": "^7.0.0-0"
923
+ }
924
+ },
925
+ "node_modules/@babel/plugin-transform-modules-commonjs": {
926
+ "version": "7.12.13",
927
+ "dev": true,
928
+ "license": "MIT",
929
+ "dependencies": {
930
+ "@babel/helper-module-transforms": "^7.12.13",
931
+ "@babel/helper-plugin-utils": "^7.12.13",
932
+ "@babel/helper-simple-access": "^7.12.13",
933
+ "babel-plugin-dynamic-import-node": "^2.3.3"
934
+ },
935
+ "peerDependencies": {
936
+ "@babel/core": "^7.0.0-0"
937
+ }
938
+ },
939
+ "node_modules/@babel/plugin-transform-modules-systemjs": {
940
+ "version": "7.12.13",
941
+ "dev": true,
942
+ "license": "MIT",
943
+ "dependencies": {
944
+ "@babel/helper-hoist-variables": "^7.12.13",
945
+ "@babel/helper-module-transforms": "^7.12.13",
946
+ "@babel/helper-plugin-utils": "^7.12.13",
947
+ "@babel/helper-validator-identifier": "^7.12.11",
948
+ "babel-plugin-dynamic-import-node": "^2.3.3"
949
+ },
950
+ "peerDependencies": {
951
+ "@babel/core": "^7.0.0-0"
952
+ }
953
+ },
954
+ "node_modules/@babel/plugin-transform-modules-umd": {
955
+ "version": "7.12.13",
956
+ "dev": true,
957
+ "license": "MIT",
958
+ "dependencies": {
959
+ "@babel/helper-module-transforms": "^7.12.13",
960
+ "@babel/helper-plugin-utils": "^7.12.13"
961
+ },
962
+ "peerDependencies": {
963
+ "@babel/core": "^7.0.0-0"
964
+ }
965
+ },
966
+ "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
967
+ "version": "7.12.13",
968
+ "dev": true,
969
+ "license": "MIT",
970
+ "dependencies": {
971
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13"
972
+ },
973
+ "peerDependencies": {
974
+ "@babel/core": "^7.0.0"
975
+ }
976
+ },
977
+ "node_modules/@babel/plugin-transform-new-target": {
978
+ "version": "7.12.13",
979
+ "dev": true,
980
+ "license": "MIT",
981
+ "dependencies": {
982
+ "@babel/helper-plugin-utils": "^7.12.13"
983
+ },
984
+ "peerDependencies": {
985
+ "@babel/core": "^7.0.0-0"
986
+ }
987
+ },
988
+ "node_modules/@babel/plugin-transform-object-super": {
989
+ "version": "7.12.13",
990
+ "dev": true,
991
+ "license": "MIT",
992
+ "dependencies": {
993
+ "@babel/helper-plugin-utils": "^7.12.13",
994
+ "@babel/helper-replace-supers": "^7.12.13"
995
+ },
996
+ "peerDependencies": {
997
+ "@babel/core": "^7.0.0-0"
998
+ }
999
+ },
1000
+ "node_modules/@babel/plugin-transform-parameters": {
1001
+ "version": "7.12.13",
1002
+ "dev": true,
1003
+ "license": "MIT",
1004
+ "dependencies": {
1005
+ "@babel/helper-plugin-utils": "^7.12.13"
1006
+ },
1007
+ "peerDependencies": {
1008
+ "@babel/core": "^7.0.0-0"
1009
+ }
1010
+ },
1011
+ "node_modules/@babel/plugin-transform-property-literals": {
1012
+ "version": "7.12.13",
1013
+ "dev": true,
1014
+ "license": "MIT",
1015
+ "dependencies": {
1016
+ "@babel/helper-plugin-utils": "^7.12.13"
1017
+ },
1018
+ "peerDependencies": {
1019
+ "@babel/core": "^7.0.0-0"
1020
+ }
1021
+ },
1022
+ "node_modules/@babel/plugin-transform-react-constant-elements": {
1023
+ "version": "7.12.13",
1024
+ "dev": true,
1025
+ "license": "MIT",
1026
+ "dependencies": {
1027
+ "@babel/helper-plugin-utils": "^7.12.13"
1028
+ },
1029
+ "peerDependencies": {
1030
+ "@babel/core": "^7.0.0-0"
1031
+ }
1032
+ },
1033
+ "node_modules/@babel/plugin-transform-react-display-name": {
1034
+ "version": "7.12.13",
1035
+ "dev": true,
1036
+ "license": "MIT",
1037
+ "dependencies": {
1038
+ "@babel/helper-plugin-utils": "^7.12.13"
1039
+ },
1040
+ "peerDependencies": {
1041
+ "@babel/core": "^7.0.0-0"
1042
+ }
1043
+ },
1044
+ "node_modules/@babel/plugin-transform-react-jsx": {
1045
+ "version": "7.12.17",
1046
+ "dev": true,
1047
+ "license": "MIT",
1048
+ "dependencies": {
1049
+ "@babel/helper-annotate-as-pure": "^7.12.13",
1050
+ "@babel/helper-module-imports": "^7.12.13",
1051
+ "@babel/helper-plugin-utils": "^7.12.13",
1052
+ "@babel/plugin-syntax-jsx": "^7.12.13",
1053
+ "@babel/types": "^7.12.17"
1054
+ },
1055
+ "peerDependencies": {
1056
+ "@babel/core": "^7.0.0-0"
1057
+ }
1058
+ },
1059
+ "node_modules/@babel/plugin-transform-react-jsx-development": {
1060
+ "version": "7.12.17",
1061
+ "dev": true,
1062
+ "license": "MIT",
1063
+ "dependencies": {
1064
+ "@babel/plugin-transform-react-jsx": "^7.12.17"
1065
+ },
1066
+ "peerDependencies": {
1067
+ "@babel/core": "^7.0.0-0"
1068
+ }
1069
+ },
1070
+ "node_modules/@babel/plugin-transform-react-pure-annotations": {
1071
+ "version": "7.12.1",
1072
+ "dev": true,
1073
+ "license": "MIT",
1074
+ "dependencies": {
1075
+ "@babel/helper-annotate-as-pure": "^7.10.4",
1076
+ "@babel/helper-plugin-utils": "^7.10.4"
1077
+ },
1078
+ "peerDependencies": {
1079
+ "@babel/core": "^7.0.0-0"
1080
+ }
1081
+ },
1082
+ "node_modules/@babel/plugin-transform-regenerator": {
1083
+ "version": "7.12.13",
1084
+ "dev": true,
1085
+ "license": "MIT",
1086
+ "dependencies": {
1087
+ "regenerator-transform": "^0.14.2"
1088
+ },
1089
+ "peerDependencies": {
1090
+ "@babel/core": "^7.0.0-0"
1091
+ }
1092
+ },
1093
+ "node_modules/@babel/plugin-transform-reserved-words": {
1094
+ "version": "7.12.13",
1095
+ "dev": true,
1096
+ "license": "MIT",
1097
+ "dependencies": {
1098
+ "@babel/helper-plugin-utils": "^7.12.13"
1099
+ },
1100
+ "peerDependencies": {
1101
+ "@babel/core": "^7.0.0-0"
1102
+ }
1103
+ },
1104
+ "node_modules/@babel/plugin-transform-shorthand-properties": {
1105
+ "version": "7.12.13",
1106
+ "dev": true,
1107
+ "license": "MIT",
1108
+ "dependencies": {
1109
+ "@babel/helper-plugin-utils": "^7.12.13"
1110
+ },
1111
+ "peerDependencies": {
1112
+ "@babel/core": "^7.0.0-0"
1113
+ }
1114
+ },
1115
+ "node_modules/@babel/plugin-transform-spread": {
1116
+ "version": "7.12.13",
1117
+ "dev": true,
1118
+ "license": "MIT",
1119
+ "dependencies": {
1120
+ "@babel/helper-plugin-utils": "^7.12.13",
1121
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
1122
+ },
1123
+ "peerDependencies": {
1124
+ "@babel/core": "^7.0.0-0"
1125
+ }
1126
+ },
1127
+ "node_modules/@babel/plugin-transform-sticky-regex": {
1128
+ "version": "7.12.13",
1129
+ "dev": true,
1130
+ "license": "MIT",
1131
+ "dependencies": {
1132
+ "@babel/helper-plugin-utils": "^7.12.13"
1133
+ },
1134
+ "peerDependencies": {
1135
+ "@babel/core": "^7.0.0-0"
1136
+ }
1137
+ },
1138
+ "node_modules/@babel/plugin-transform-template-literals": {
1139
+ "version": "7.12.13",
1140
+ "dev": true,
1141
+ "license": "MIT",
1142
+ "dependencies": {
1143
+ "@babel/helper-plugin-utils": "^7.12.13"
1144
+ },
1145
+ "peerDependencies": {
1146
+ "@babel/core": "^7.0.0-0"
1147
+ }
1148
+ },
1149
+ "node_modules/@babel/plugin-transform-typeof-symbol": {
1150
+ "version": "7.12.13",
1151
+ "dev": true,
1152
+ "license": "MIT",
1153
+ "dependencies": {
1154
+ "@babel/helper-plugin-utils": "^7.12.13"
1155
+ },
1156
+ "peerDependencies": {
1157
+ "@babel/core": "^7.0.0-0"
1158
+ }
1159
+ },
1160
+ "node_modules/@babel/plugin-transform-unicode-escapes": {
1161
+ "version": "7.12.13",
1162
+ "dev": true,
1163
+ "license": "MIT",
1164
+ "dependencies": {
1165
+ "@babel/helper-plugin-utils": "^7.12.13"
1166
+ },
1167
+ "peerDependencies": {
1168
+ "@babel/core": "^7.0.0-0"
1169
+ }
1170
+ },
1171
+ "node_modules/@babel/plugin-transform-unicode-regex": {
1172
+ "version": "7.12.13",
1173
+ "dev": true,
1174
+ "license": "MIT",
1175
+ "dependencies": {
1176
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
1177
+ "@babel/helper-plugin-utils": "^7.12.13"
1178
+ },
1179
+ "peerDependencies": {
1180
+ "@babel/core": "^7.0.0-0"
1181
+ }
1182
+ },
1183
+ "node_modules/@babel/preset-env": {
1184
+ "version": "7.12.17",
1185
+ "dev": true,
1186
+ "license": "MIT",
1187
+ "dependencies": {
1188
+ "@babel/compat-data": "^7.12.13",
1189
+ "@babel/helper-compilation-targets": "^7.12.17",
1190
+ "@babel/helper-module-imports": "^7.12.13",
1191
+ "@babel/helper-plugin-utils": "^7.12.13",
1192
+ "@babel/helper-validator-option": "^7.12.17",
1193
+ "@babel/plugin-proposal-async-generator-functions": "^7.12.13",
1194
+ "@babel/plugin-proposal-class-properties": "^7.12.13",
1195
+ "@babel/plugin-proposal-dynamic-import": "^7.12.17",
1196
+ "@babel/plugin-proposal-export-namespace-from": "^7.12.13",
1197
+ "@babel/plugin-proposal-json-strings": "^7.12.13",
1198
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13",
1199
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13",
1200
+ "@babel/plugin-proposal-numeric-separator": "^7.12.13",
1201
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.13",
1202
+ "@babel/plugin-proposal-optional-catch-binding": "^7.12.13",
1203
+ "@babel/plugin-proposal-optional-chaining": "^7.12.17",
1204
+ "@babel/plugin-proposal-private-methods": "^7.12.13",
1205
+ "@babel/plugin-proposal-unicode-property-regex": "^7.12.13",
1206
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
1207
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
1208
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
1209
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
1210
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
1211
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
1212
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
1213
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
1214
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
1215
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
1216
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
1217
+ "@babel/plugin-syntax-top-level-await": "^7.12.13",
1218
+ "@babel/plugin-transform-arrow-functions": "^7.12.13",
1219
+ "@babel/plugin-transform-async-to-generator": "^7.12.13",
1220
+ "@babel/plugin-transform-block-scoped-functions": "^7.12.13",
1221
+ "@babel/plugin-transform-block-scoping": "^7.12.13",
1222
+ "@babel/plugin-transform-classes": "^7.12.13",
1223
+ "@babel/plugin-transform-computed-properties": "^7.12.13",
1224
+ "@babel/plugin-transform-destructuring": "^7.12.13",
1225
+ "@babel/plugin-transform-dotall-regex": "^7.12.13",
1226
+ "@babel/plugin-transform-duplicate-keys": "^7.12.13",
1227
+ "@babel/plugin-transform-exponentiation-operator": "^7.12.13",
1228
+ "@babel/plugin-transform-for-of": "^7.12.13",
1229
+ "@babel/plugin-transform-function-name": "^7.12.13",
1230
+ "@babel/plugin-transform-literals": "^7.12.13",
1231
+ "@babel/plugin-transform-member-expression-literals": "^7.12.13",
1232
+ "@babel/plugin-transform-modules-amd": "^7.12.13",
1233
+ "@babel/plugin-transform-modules-commonjs": "^7.12.13",
1234
+ "@babel/plugin-transform-modules-systemjs": "^7.12.13",
1235
+ "@babel/plugin-transform-modules-umd": "^7.12.13",
1236
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13",
1237
+ "@babel/plugin-transform-new-target": "^7.12.13",
1238
+ "@babel/plugin-transform-object-super": "^7.12.13",
1239
+ "@babel/plugin-transform-parameters": "^7.12.13",
1240
+ "@babel/plugin-transform-property-literals": "^7.12.13",
1241
+ "@babel/plugin-transform-regenerator": "^7.12.13",
1242
+ "@babel/plugin-transform-reserved-words": "^7.12.13",
1243
+ "@babel/plugin-transform-shorthand-properties": "^7.12.13",
1244
+ "@babel/plugin-transform-spread": "^7.12.13",
1245
+ "@babel/plugin-transform-sticky-regex": "^7.12.13",
1246
+ "@babel/plugin-transform-template-literals": "^7.12.13",
1247
+ "@babel/plugin-transform-typeof-symbol": "^7.12.13",
1248
+ "@babel/plugin-transform-unicode-escapes": "^7.12.13",
1249
+ "@babel/plugin-transform-unicode-regex": "^7.12.13",
1250
+ "@babel/preset-modules": "^0.1.3",
1251
+ "@babel/types": "^7.12.17",
1252
+ "core-js-compat": "^3.8.0",
1253
+ "semver": "^5.5.0"
1254
+ },
1255
+ "peerDependencies": {
1256
+ "@babel/core": "^7.0.0-0"
1257
+ }
1258
+ },
1259
+ "node_modules/@babel/preset-modules": {
1260
+ "version": "0.1.4",
1261
+ "dev": true,
1262
+ "license": "MIT",
1263
+ "dependencies": {
1264
+ "@babel/helper-plugin-utils": "^7.0.0",
1265
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
1266
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
1267
+ "@babel/types": "^7.4.4",
1268
+ "esutils": "^2.0.2"
1269
+ },
1270
+ "peerDependencies": {
1271
+ "@babel/core": "^7.0.0-0"
1272
+ }
1273
+ },
1274
+ "node_modules/@babel/preset-react": {
1275
+ "version": "7.12.13",
1276
+ "dev": true,
1277
+ "license": "MIT",
1278
+ "dependencies": {
1279
+ "@babel/helper-plugin-utils": "^7.12.13",
1280
+ "@babel/plugin-transform-react-display-name": "^7.12.13",
1281
+ "@babel/plugin-transform-react-jsx": "^7.12.13",
1282
+ "@babel/plugin-transform-react-jsx-development": "^7.12.12",
1283
+ "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
1284
+ },
1285
+ "peerDependencies": {
1286
+ "@babel/core": "^7.0.0-0"
1287
+ }
1288
+ },
1289
+ "node_modules/@babel/runtime": {
1290
+ "version": "7.12.18",
1291
+ "license": "MIT",
1292
+ "dependencies": {
1293
+ "regenerator-runtime": "^0.13.4"
1294
+ }
1295
+ },
1296
+ "node_modules/@babel/runtime-corejs3": {
1297
+ "version": "7.12.18",
1298
+ "dev": true,
1299
+ "license": "MIT",
1300
+ "dependencies": {
1301
+ "core-js-pure": "^3.0.0",
1302
+ "regenerator-runtime": "^0.13.4"
1303
+ }
1304
+ },
1305
+ "node_modules/@babel/template": {
1306
+ "version": "7.12.13",
1307
+ "dev": true,
1308
+ "license": "MIT",
1309
+ "dependencies": {
1310
+ "@babel/code-frame": "^7.12.13",
1311
+ "@babel/parser": "^7.12.13",
1312
+ "@babel/types": "^7.12.13"
1313
+ }
1314
+ },
1315
+ "node_modules/@babel/traverse": {
1316
+ "version": "7.12.17",
1317
+ "dev": true,
1318
+ "license": "MIT",
1319
+ "dependencies": {
1320
+ "@babel/code-frame": "^7.12.13",
1321
+ "@babel/generator": "^7.12.17",
1322
+ "@babel/helper-function-name": "^7.12.13",
1323
+ "@babel/helper-split-export-declaration": "^7.12.13",
1324
+ "@babel/parser": "^7.12.17",
1325
+ "@babel/types": "^7.12.17",
1326
+ "debug": "^4.1.0",
1327
+ "globals": "^11.1.0",
1328
+ "lodash": "^4.17.19"
1329
+ }
1330
+ },
1331
+ "node_modules/@babel/types": {
1332
+ "version": "7.12.17",
1333
+ "dev": true,
1334
+ "license": "MIT",
1335
+ "dependencies": {
1336
+ "@babel/helper-validator-identifier": "^7.12.11",
1337
+ "lodash": "^4.17.19",
1338
+ "to-fast-properties": "^2.0.0"
1339
+ }
1340
+ },
1341
+ "node_modules/@bcoe/v8-coverage": {
1342
+ "version": "0.2.3",
1343
+ "dev": true,
1344
+ "license": "MIT"
1345
+ },
1346
+ "node_modules/@cnakazawa/watch": {
1347
+ "version": "1.0.4",
1348
+ "dev": true,
1349
+ "license": "Apache-2.0",
1350
+ "dependencies": {
1351
+ "exec-sh": "^0.3.2",
1352
+ "minimist": "^1.2.0"
1353
+ },
1354
+ "bin": {
1355
+ "watch": "cli.js"
1356
+ },
1357
+ "engines": {
1358
+ "node": ">=0.1.95"
1359
+ }
1360
+ },
1361
+ "node_modules/@csstools/convert-colors": {
1362
+ "version": "1.4.0",
1363
+ "dev": true,
1364
+ "license": "CC0-1.0",
1365
+ "engines": {
1366
+ "node": ">=4.0.0"
1367
+ }
1368
+ },
1369
+ "node_modules/@csstools/normalize.css": {
1370
+ "version": "10.1.0",
1371
+ "dev": true,
1372
+ "license": "CC0-1.0"
1373
+ },
1374
+ "node_modules/@eslint/eslintrc": {
1375
+ "version": "0.3.0",
1376
+ "dev": true,
1377
+ "license": "MIT",
1378
+ "dependencies": {
1379
+ "ajv": "^6.12.4",
1380
+ "debug": "^4.1.1",
1381
+ "espree": "^7.3.0",
1382
+ "globals": "^12.1.0",
1383
+ "ignore": "^4.0.6",
1384
+ "import-fresh": "^3.2.1",
1385
+ "js-yaml": "^3.13.1",
1386
+ "lodash": "^4.17.20",
1387
+ "minimatch": "^3.0.4",
1388
+ "strip-json-comments": "^3.1.1"
1389
+ },
1390
+ "engines": {
1391
+ "node": "^10.12.0 || >=12.0.0"
1392
+ }
1393
+ },
1394
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
1395
+ "version": "12.4.0",
1396
+ "dev": true,
1397
+ "license": "MIT",
1398
+ "dependencies": {
1399
+ "type-fest": "^0.8.1"
1400
+ },
1401
+ "engines": {
1402
+ "node": ">=8"
1403
+ },
1404
+ "funding": {
1405
+ "url": "https://github.com/sponsors/sindresorhus"
1406
+ }
1407
+ },
1408
+ "node_modules/@hapi/address": {
1409
+ "version": "2.1.4",
1410
+ "dev": true,
1411
+ "license": "BSD-3-Clause"
1412
+ },
1413
+ "node_modules/@hapi/bourne": {
1414
+ "version": "1.3.2",
1415
+ "dev": true,
1416
+ "license": "BSD-3-Clause"
1417
+ },
1418
+ "node_modules/@hapi/hoek": {
1419
+ "version": "8.5.1",
1420
+ "dev": true,
1421
+ "license": "BSD-3-Clause"
1422
+ },
1423
+ "node_modules/@hapi/joi": {
1424
+ "version": "15.1.1",
1425
+ "dev": true,
1426
+ "license": "BSD-3-Clause",
1427
+ "dependencies": {
1428
+ "@hapi/address": "2.x.x",
1429
+ "@hapi/bourne": "1.x.x",
1430
+ "@hapi/hoek": "8.x.x",
1431
+ "@hapi/topo": "3.x.x"
1432
+ }
1433
+ },
1434
+ "node_modules/@hapi/topo": {
1435
+ "version": "3.1.6",
1436
+ "dev": true,
1437
+ "license": "BSD-3-Clause",
1438
+ "dependencies": {
1439
+ "@hapi/hoek": "^8.3.0"
1440
+ }
1441
+ },
1442
+ "node_modules/@istanbuljs/load-nyc-config": {
1443
+ "version": "1.1.0",
1444
+ "dev": true,
1445
+ "license": "ISC",
1446
+ "dependencies": {
1447
+ "camelcase": "^5.3.1",
1448
+ "find-up": "^4.1.0",
1449
+ "get-package-type": "^0.1.0",
1450
+ "js-yaml": "^3.13.1",
1451
+ "resolve-from": "^5.0.0"
1452
+ },
1453
+ "engines": {
1454
+ "node": ">=8"
1455
+ }
1456
+ },
1457
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
1458
+ "version": "5.0.0",
1459
+ "dev": true,
1460
+ "license": "MIT",
1461
+ "engines": {
1462
+ "node": ">=8"
1463
+ }
1464
+ },
1465
+ "node_modules/@istanbuljs/schema": {
1466
+ "version": "0.1.3",
1467
+ "dev": true,
1468
+ "license": "MIT",
1469
+ "engines": {
1470
+ "node": ">=8"
1471
+ }
1472
+ },
1473
+ "node_modules/@jest/console": {
1474
+ "version": "26.6.2",
1475
+ "dev": true,
1476
+ "license": "MIT",
1477
+ "dependencies": {
1478
+ "@jest/types": "^26.6.2",
1479
+ "@types/node": "*",
1480
+ "chalk": "^4.0.0",
1481
+ "jest-message-util": "^26.6.2",
1482
+ "jest-util": "^26.6.2",
1483
+ "slash": "^3.0.0"
1484
+ },
1485
+ "engines": {
1486
+ "node": ">= 10.14.2"
1487
+ }
1488
+ },
1489
+ "node_modules/@jest/console/node_modules/@types/node": {
1490
+ "version": "14.14.31",
1491
+ "dev": true,
1492
+ "license": "MIT"
1493
+ },
1494
+ "node_modules/@jest/core": {
1495
+ "version": "26.6.3",
1496
+ "dev": true,
1497
+ "license": "MIT",
1498
+ "dependencies": {
1499
+ "@jest/console": "^26.6.2",
1500
+ "@jest/reporters": "^26.6.2",
1501
+ "@jest/test-result": "^26.6.2",
1502
+ "@jest/transform": "^26.6.2",
1503
+ "@jest/types": "^26.6.2",
1504
+ "@types/node": "*",
1505
+ "ansi-escapes": "^4.2.1",
1506
+ "chalk": "^4.0.0",
1507
+ "exit": "^0.1.2",
1508
+ "graceful-fs": "^4.2.4",
1509
+ "jest-changed-files": "^26.6.2",
1510
+ "jest-config": "^26.6.3",
1511
+ "jest-haste-map": "^26.6.2",
1512
+ "jest-message-util": "^26.6.2",
1513
+ "jest-regex-util": "^26.0.0",
1514
+ "jest-resolve": "^26.6.2",
1515
+ "jest-resolve-dependencies": "^26.6.3",
1516
+ "jest-runner": "^26.6.3",
1517
+ "jest-runtime": "^26.6.3",
1518
+ "jest-snapshot": "^26.6.2",
1519
+ "jest-util": "^26.6.2",
1520
+ "jest-validate": "^26.6.2",
1521
+ "jest-watcher": "^26.6.2",
1522
+ "micromatch": "^4.0.2",
1523
+ "p-each-series": "^2.1.0",
1524
+ "rimraf": "^3.0.0",
1525
+ "slash": "^3.0.0",
1526
+ "strip-ansi": "^6.0.0"
1527
+ },
1528
+ "engines": {
1529
+ "node": ">= 10.14.2"
1530
+ }
1531
+ },
1532
+ "node_modules/@jest/core/node_modules/@types/node": {
1533
+ "version": "14.14.31",
1534
+ "dev": true,
1535
+ "license": "MIT"
1536
+ },
1537
+ "node_modules/@jest/core/node_modules/rimraf": {
1538
+ "version": "3.0.2",
1539
+ "dev": true,
1540
+ "license": "ISC",
1541
+ "dependencies": {
1542
+ "glob": "^7.1.3"
1543
+ },
1544
+ "bin": {
1545
+ "rimraf": "bin.js"
1546
+ },
1547
+ "funding": {
1548
+ "url": "https://github.com/sponsors/isaacs"
1549
+ }
1550
+ },
1551
+ "node_modules/@jest/environment": {
1552
+ "version": "26.6.2",
1553
+ "dev": true,
1554
+ "license": "MIT",
1555
+ "dependencies": {
1556
+ "@jest/fake-timers": "^26.6.2",
1557
+ "@jest/types": "^26.6.2",
1558
+ "@types/node": "*",
1559
+ "jest-mock": "^26.6.2"
1560
+ },
1561
+ "engines": {
1562
+ "node": ">= 10.14.2"
1563
+ }
1564
+ },
1565
+ "node_modules/@jest/environment/node_modules/@types/node": {
1566
+ "version": "14.14.31",
1567
+ "dev": true,
1568
+ "license": "MIT"
1569
+ },
1570
+ "node_modules/@jest/fake-timers": {
1571
+ "version": "26.6.2",
1572
+ "dev": true,
1573
+ "license": "MIT",
1574
+ "dependencies": {
1575
+ "@jest/types": "^26.6.2",
1576
+ "@sinonjs/fake-timers": "^6.0.1",
1577
+ "@types/node": "*",
1578
+ "jest-message-util": "^26.6.2",
1579
+ "jest-mock": "^26.6.2",
1580
+ "jest-util": "^26.6.2"
1581
+ },
1582
+ "engines": {
1583
+ "node": ">= 10.14.2"
1584
+ }
1585
+ },
1586
+ "node_modules/@jest/fake-timers/node_modules/@types/node": {
1587
+ "version": "14.14.31",
1588
+ "dev": true,
1589
+ "license": "MIT"
1590
+ },
1591
+ "node_modules/@jest/globals": {
1592
+ "version": "26.6.2",
1593
+ "dev": true,
1594
+ "license": "MIT",
1595
+ "dependencies": {
1596
+ "@jest/environment": "^26.6.2",
1597
+ "@jest/types": "^26.6.2",
1598
+ "expect": "^26.6.2"
1599
+ },
1600
+ "engines": {
1601
+ "node": ">= 10.14.2"
1602
+ }
1603
+ },
1604
+ "node_modules/@jest/reporters": {
1605
+ "version": "26.6.2",
1606
+ "dev": true,
1607
+ "license": "MIT",
1608
+ "dependencies": {
1609
+ "@bcoe/v8-coverage": "^0.2.3",
1610
+ "@jest/console": "^26.6.2",
1611
+ "@jest/test-result": "^26.6.2",
1612
+ "@jest/transform": "^26.6.2",
1613
+ "@jest/types": "^26.6.2",
1614
+ "chalk": "^4.0.0",
1615
+ "collect-v8-coverage": "^1.0.0",
1616
+ "exit": "^0.1.2",
1617
+ "glob": "^7.1.2",
1618
+ "graceful-fs": "^4.2.4",
1619
+ "istanbul-lib-coverage": "^3.0.0",
1620
+ "istanbul-lib-instrument": "^4.0.3",
1621
+ "istanbul-lib-report": "^3.0.0",
1622
+ "istanbul-lib-source-maps": "^4.0.0",
1623
+ "istanbul-reports": "^3.0.2",
1624
+ "jest-haste-map": "^26.6.2",
1625
+ "jest-resolve": "^26.6.2",
1626
+ "jest-util": "^26.6.2",
1627
+ "jest-worker": "^26.6.2",
1628
+ "slash": "^3.0.0",
1629
+ "source-map": "^0.6.0",
1630
+ "string-length": "^4.0.1",
1631
+ "terminal-link": "^2.0.0",
1632
+ "v8-to-istanbul": "^7.0.0"
1633
+ },
1634
+ "engines": {
1635
+ "node": ">= 10.14.2"
1636
+ },
1637
+ "optionalDependencies": {
1638
+ "node-notifier": "^8.0.0"
1639
+ }
1640
+ },
1641
+ "node_modules/@jest/source-map": {
1642
+ "version": "26.6.2",
1643
+ "dev": true,
1644
+ "license": "MIT",
1645
+ "dependencies": {
1646
+ "callsites": "^3.0.0",
1647
+ "graceful-fs": "^4.2.4",
1648
+ "source-map": "^0.6.0"
1649
+ },
1650
+ "engines": {
1651
+ "node": ">= 10.14.2"
1652
+ }
1653
+ },
1654
+ "node_modules/@jest/test-result": {
1655
+ "version": "26.6.2",
1656
+ "dev": true,
1657
+ "license": "MIT",
1658
+ "dependencies": {
1659
+ "@jest/console": "^26.6.2",
1660
+ "@jest/types": "^26.6.2",
1661
+ "@types/istanbul-lib-coverage": "^2.0.0",
1662
+ "collect-v8-coverage": "^1.0.0"
1663
+ },
1664
+ "engines": {
1665
+ "node": ">= 10.14.2"
1666
+ }
1667
+ },
1668
+ "node_modules/@jest/test-sequencer": {
1669
+ "version": "26.6.3",
1670
+ "dev": true,
1671
+ "license": "MIT",
1672
+ "dependencies": {
1673
+ "@jest/test-result": "^26.6.2",
1674
+ "graceful-fs": "^4.2.4",
1675
+ "jest-haste-map": "^26.6.2",
1676
+ "jest-runner": "^26.6.3",
1677
+ "jest-runtime": "^26.6.3"
1678
+ },
1679
+ "engines": {
1680
+ "node": ">= 10.14.2"
1681
+ }
1682
+ },
1683
+ "node_modules/@jest/transform": {
1684
+ "version": "26.6.2",
1685
+ "dev": true,
1686
+ "license": "MIT",
1687
+ "dependencies": {
1688
+ "@babel/core": "^7.1.0",
1689
+ "@jest/types": "^26.6.2",
1690
+ "babel-plugin-istanbul": "^6.0.0",
1691
+ "chalk": "^4.0.0",
1692
+ "convert-source-map": "^1.4.0",
1693
+ "fast-json-stable-stringify": "^2.0.0",
1694
+ "graceful-fs": "^4.2.4",
1695
+ "jest-haste-map": "^26.6.2",
1696
+ "jest-regex-util": "^26.0.0",
1697
+ "jest-util": "^26.6.2",
1698
+ "micromatch": "^4.0.2",
1699
+ "pirates": "^4.0.1",
1700
+ "slash": "^3.0.0",
1701
+ "source-map": "^0.6.1",
1702
+ "write-file-atomic": "^3.0.0"
1703
+ },
1704
+ "engines": {
1705
+ "node": ">= 10.14.2"
1706
+ }
1707
+ },
1708
+ "node_modules/@jest/types": {
1709
+ "version": "26.6.2",
1710
+ "dev": true,
1711
+ "license": "MIT",
1712
+ "dependencies": {
1713
+ "@types/istanbul-lib-coverage": "^2.0.0",
1714
+ "@types/istanbul-reports": "^3.0.0",
1715
+ "@types/node": "*",
1716
+ "@types/yargs": "^15.0.0",
1717
+ "chalk": "^4.0.0"
1718
+ },
1719
+ "engines": {
1720
+ "node": ">= 10.14.2"
1721
+ }
1722
+ },
1723
+ "node_modules/@jest/types/node_modules/@types/node": {
1724
+ "version": "14.14.31",
1725
+ "dev": true,
1726
+ "license": "MIT"
1727
+ },
1728
+ "node_modules/@nodelib/fs.scandir": {
1729
+ "version": "2.1.4",
1730
+ "dev": true,
1731
+ "license": "MIT",
1732
+ "dependencies": {
1733
+ "@nodelib/fs.stat": "2.0.4",
1734
+ "run-parallel": "^1.1.9"
1735
+ },
1736
+ "engines": {
1737
+ "node": ">= 8"
1738
+ }
1739
+ },
1740
+ "node_modules/@nodelib/fs.stat": {
1741
+ "version": "2.0.4",
1742
+ "dev": true,
1743
+ "license": "MIT",
1744
+ "engines": {
1745
+ "node": ">= 8"
1746
+ }
1747
+ },
1748
+ "node_modules/@nodelib/fs.walk": {
1749
+ "version": "1.2.6",
1750
+ "dev": true,
1751
+ "license": "MIT",
1752
+ "dependencies": {
1753
+ "@nodelib/fs.scandir": "2.1.4",
1754
+ "fastq": "^1.6.0"
1755
+ },
1756
+ "engines": {
1757
+ "node": ">= 8"
1758
+ }
1759
+ },
1760
+ "node_modules/@npmcli/move-file": {
1761
+ "version": "1.1.2",
1762
+ "dev": true,
1763
+ "license": "MIT",
1764
+ "dependencies": {
1765
+ "mkdirp": "^1.0.4",
1766
+ "rimraf": "^3.0.2"
1767
+ },
1768
+ "engines": {
1769
+ "node": ">=10"
1770
+ }
1771
+ },
1772
+ "node_modules/@npmcli/move-file/node_modules/mkdirp": {
1773
+ "version": "1.0.4",
1774
+ "dev": true,
1775
+ "license": "MIT",
1776
+ "bin": {
1777
+ "mkdirp": "bin/cmd.js"
1778
+ },
1779
+ "engines": {
1780
+ "node": ">=10"
1781
+ }
1782
+ },
1783
+ "node_modules/@npmcli/move-file/node_modules/rimraf": {
1784
+ "version": "3.0.2",
1785
+ "dev": true,
1786
+ "license": "ISC",
1787
+ "dependencies": {
1788
+ "glob": "^7.1.3"
1789
+ },
1790
+ "bin": {
1791
+ "rimraf": "bin.js"
1792
+ },
1793
+ "funding": {
1794
+ "url": "https://github.com/sponsors/isaacs"
1795
+ }
1796
+ },
1797
+ "node_modules/@pmmmwh/react-refresh-webpack-plugin": {
1798
+ "version": "0.4.3",
1799
+ "dev": true,
1800
+ "license": "MIT",
1801
+ "dependencies": {
1802
+ "ansi-html": "^0.0.7",
1803
+ "error-stack-parser": "^2.0.6",
1804
+ "html-entities": "^1.2.1",
1805
+ "native-url": "^0.2.6",
1806
+ "schema-utils": "^2.6.5",
1807
+ "source-map": "^0.7.3"
1808
+ },
1809
+ "engines": {
1810
+ "node": ">= 10.x"
1811
+ },
1812
+ "peerDependencies": {
1813
+ "@types/webpack": "4.x",
1814
+ "react-refresh": ">=0.8.3 <0.10.0",
1815
+ "sockjs-client": "^1.4.0",
1816
+ "type-fest": "^0.13.1",
1817
+ "webpack": ">=4.43.0 <6.0.0",
1818
+ "webpack-dev-server": "3.x",
1819
+ "webpack-hot-middleware": "2.x",
1820
+ "webpack-plugin-serve": "0.x || 1.x"
1821
+ },
1822
+ "peerDependenciesMeta": {
1823
+ "@types/webpack": {
1824
+ "optional": true
1825
+ },
1826
+ "sockjs-client": {
1827
+ "optional": true
1828
+ },
1829
+ "type-fest": {
1830
+ "optional": true
1831
+ },
1832
+ "webpack-dev-server": {
1833
+ "optional": true
1834
+ },
1835
+ "webpack-hot-middleware": {
1836
+ "optional": true
1837
+ },
1838
+ "webpack-plugin-serve": {
1839
+ "optional": true
1840
+ }
1841
+ }
1842
+ },
1843
+ "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/schema-utils": {
1844
+ "version": "2.7.1",
1845
+ "dev": true,
1846
+ "license": "MIT",
1847
+ "dependencies": {
1848
+ "@types/json-schema": "^7.0.5",
1849
+ "ajv": "^6.12.4",
1850
+ "ajv-keywords": "^3.5.2"
1851
+ },
1852
+ "engines": {
1853
+ "node": ">= 8.9.0"
1854
+ },
1855
+ "funding": {
1856
+ "type": "opencollective",
1857
+ "url": "https://opencollective.com/webpack"
1858
+ }
1859
+ },
1860
+ "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": {
1861
+ "version": "0.7.3",
1862
+ "dev": true,
1863
+ "license": "BSD-3-Clause",
1864
+ "engines": {
1865
+ "node": ">= 8"
1866
+ }
1867
+ },
1868
+ "node_modules/@rollup/plugin-node-resolve": {
1869
+ "version": "7.1.3",
1870
+ "dev": true,
1871
+ "license": "MIT",
1872
+ "dependencies": {
1873
+ "@rollup/pluginutils": "^3.0.8",
1874
+ "@types/resolve": "0.0.8",
1875
+ "builtin-modules": "^3.1.0",
1876
+ "is-module": "^1.0.0",
1877
+ "resolve": "^1.14.2"
1878
+ },
1879
+ "engines": {
1880
+ "node": ">= 8.0.0"
1881
+ },
1882
+ "peerDependencies": {
1883
+ "rollup": "^1.20.0||^2.0.0"
1884
+ }
1885
+ },
1886
+ "node_modules/@rollup/plugin-replace": {
1887
+ "version": "2.4.1",
1888
+ "dev": true,
1889
+ "license": "MIT",
1890
+ "dependencies": {
1891
+ "@rollup/pluginutils": "^3.1.0",
1892
+ "magic-string": "^0.25.7"
1893
+ },
1894
+ "peerDependencies": {
1895
+ "rollup": "^1.20.0 || ^2.0.0"
1896
+ }
1897
+ },
1898
+ "node_modules/@rollup/pluginutils": {
1899
+ "version": "3.1.0",
1900
+ "dev": true,
1901
+ "license": "MIT",
1902
+ "dependencies": {
1903
+ "@types/estree": "0.0.39",
1904
+ "estree-walker": "^1.0.1",
1905
+ "picomatch": "^2.2.2"
1906
+ },
1907
+ "engines": {
1908
+ "node": ">= 8.0.0"
1909
+ },
1910
+ "peerDependencies": {
1911
+ "rollup": "^1.20.0||^2.0.0"
1912
+ }
1913
+ },
1914
+ "node_modules/@rollup/pluginutils/node_modules/@types/estree": {
1915
+ "version": "0.0.39",
1916
+ "dev": true,
1917
+ "license": "MIT"
1918
+ },
1919
+ "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
1920
+ "version": "1.0.1",
1921
+ "dev": true,
1922
+ "license": "MIT"
1923
+ },
1924
+ "node_modules/@sinonjs/commons": {
1925
+ "version": "1.8.2",
1926
+ "dev": true,
1927
+ "license": "BSD-3-Clause",
1928
+ "dependencies": {
1929
+ "type-detect": "4.0.8"
1930
+ }
1931
+ },
1932
+ "node_modules/@sinonjs/fake-timers": {
1933
+ "version": "6.0.1",
1934
+ "dev": true,
1935
+ "license": "BSD-3-Clause",
1936
+ "dependencies": {
1937
+ "@sinonjs/commons": "^1.7.0"
1938
+ }
1939
+ },
1940
+ "node_modules/@surma/rollup-plugin-off-main-thread": {
1941
+ "version": "1.4.2",
1942
+ "dev": true,
1943
+ "license": "Apache-2.0",
1944
+ "dependencies": {
1945
+ "ejs": "^2.6.1",
1946
+ "magic-string": "^0.25.0"
1947
+ }
1948
+ },
1949
+ "node_modules/@svgr/babel-plugin-add-jsx-attribute": {
1950
+ "version": "5.4.0",
1951
+ "dev": true,
1952
+ "license": "MIT",
1953
+ "engines": {
1954
+ "node": ">=10"
1955
+ },
1956
+ "funding": {
1957
+ "type": "github",
1958
+ "url": "https://github.com/sponsors/gregberge"
1959
+ }
1960
+ },
1961
+ "node_modules/@svgr/babel-plugin-remove-jsx-attribute": {
1962
+ "version": "5.4.0",
1963
+ "dev": true,
1964
+ "license": "MIT",
1965
+ "engines": {
1966
+ "node": ">=10"
1967
+ },
1968
+ "funding": {
1969
+ "type": "github",
1970
+ "url": "https://github.com/sponsors/gregberge"
1971
+ }
1972
+ },
1973
+ "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": {
1974
+ "version": "5.0.1",
1975
+ "dev": true,
1976
+ "license": "MIT",
1977
+ "engines": {
1978
+ "node": ">=10"
1979
+ },
1980
+ "funding": {
1981
+ "type": "github",
1982
+ "url": "https://github.com/sponsors/gregberge"
1983
+ }
1984
+ },
1985
+ "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": {
1986
+ "version": "5.0.1",
1987
+ "dev": true,
1988
+ "license": "MIT",
1989
+ "engines": {
1990
+ "node": ">=10"
1991
+ },
1992
+ "funding": {
1993
+ "type": "github",
1994
+ "url": "https://github.com/sponsors/gregberge"
1995
+ }
1996
+ },
1997
+ "node_modules/@svgr/babel-plugin-svg-dynamic-title": {
1998
+ "version": "5.4.0",
1999
+ "dev": true,
2000
+ "license": "MIT",
2001
+ "engines": {
2002
+ "node": ">=10"
2003
+ },
2004
+ "funding": {
2005
+ "type": "github",
2006
+ "url": "https://github.com/sponsors/gregberge"
2007
+ }
2008
+ },
2009
+ "node_modules/@svgr/babel-plugin-svg-em-dimensions": {
2010
+ "version": "5.4.0",
2011
+ "dev": true,
2012
+ "license": "MIT",
2013
+ "engines": {
2014
+ "node": ">=10"
2015
+ },
2016
+ "funding": {
2017
+ "type": "github",
2018
+ "url": "https://github.com/sponsors/gregberge"
2019
+ }
2020
+ },
2021
+ "node_modules/@svgr/babel-plugin-transform-react-native-svg": {
2022
+ "version": "5.4.0",
2023
+ "dev": true,
2024
+ "license": "MIT",
2025
+ "engines": {
2026
+ "node": ">=10"
2027
+ },
2028
+ "funding": {
2029
+ "type": "github",
2030
+ "url": "https://github.com/sponsors/gregberge"
2031
+ }
2032
+ },
2033
+ "node_modules/@svgr/babel-plugin-transform-svg-component": {
2034
+ "version": "5.5.0",
2035
+ "dev": true,
2036
+ "license": "MIT",
2037
+ "engines": {
2038
+ "node": ">=10"
2039
+ },
2040
+ "funding": {
2041
+ "type": "github",
2042
+ "url": "https://github.com/sponsors/gregberge"
2043
+ }
2044
+ },
2045
+ "node_modules/@svgr/babel-preset": {
2046
+ "version": "5.5.0",
2047
+ "dev": true,
2048
+ "license": "MIT",
2049
+ "dependencies": {
2050
+ "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
2051
+ "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
2052
+ "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
2053
+ "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
2054
+ "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
2055
+ "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
2056
+ "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
2057
+ "@svgr/babel-plugin-transform-svg-component": "^5.5.0"
2058
+ },
2059
+ "engines": {
2060
+ "node": ">=10"
2061
+ },
2062
+ "funding": {
2063
+ "type": "github",
2064
+ "url": "https://github.com/sponsors/gregberge"
2065
+ }
2066
+ },
2067
+ "node_modules/@svgr/core": {
2068
+ "version": "5.5.0",
2069
+ "dev": true,
2070
+ "license": "MIT",
2071
+ "dependencies": {
2072
+ "@svgr/plugin-jsx": "^5.5.0",
2073
+ "camelcase": "^6.2.0",
2074
+ "cosmiconfig": "^7.0.0"
2075
+ },
2076
+ "engines": {
2077
+ "node": ">=10"
2078
+ },
2079
+ "funding": {
2080
+ "type": "github",
2081
+ "url": "https://github.com/sponsors/gregberge"
2082
+ }
2083
+ },
2084
+ "node_modules/@svgr/core/node_modules/camelcase": {
2085
+ "version": "6.2.0",
2086
+ "dev": true,
2087
+ "license": "MIT",
2088
+ "engines": {
2089
+ "node": ">=10"
2090
+ },
2091
+ "funding": {
2092
+ "url": "https://github.com/sponsors/sindresorhus"
2093
+ }
2094
+ },
2095
+ "node_modules/@svgr/core/node_modules/cosmiconfig": {
2096
+ "version": "7.0.0",
2097
+ "dev": true,
2098
+ "license": "MIT",
2099
+ "dependencies": {
2100
+ "@types/parse-json": "^4.0.0",
2101
+ "import-fresh": "^3.2.1",
2102
+ "parse-json": "^5.0.0",
2103
+ "path-type": "^4.0.0",
2104
+ "yaml": "^1.10.0"
2105
+ },
2106
+ "engines": {
2107
+ "node": ">=10"
2108
+ }
2109
+ },
2110
+ "node_modules/@svgr/hast-util-to-babel-ast": {
2111
+ "version": "5.5.0",
2112
+ "dev": true,
2113
+ "license": "MIT",
2114
+ "dependencies": {
2115
+ "@babel/types": "^7.12.6"
2116
+ },
2117
+ "engines": {
2118
+ "node": ">=10"
2119
+ },
2120
+ "funding": {
2121
+ "type": "github",
2122
+ "url": "https://github.com/sponsors/gregberge"
2123
+ }
2124
+ },
2125
+ "node_modules/@svgr/plugin-jsx": {
2126
+ "version": "5.5.0",
2127
+ "dev": true,
2128
+ "license": "MIT",
2129
+ "dependencies": {
2130
+ "@babel/core": "^7.12.3",
2131
+ "@svgr/babel-preset": "^5.5.0",
2132
+ "@svgr/hast-util-to-babel-ast": "^5.5.0",
2133
+ "svg-parser": "^2.0.2"
2134
+ },
2135
+ "engines": {
2136
+ "node": ">=10"
2137
+ },
2138
+ "funding": {
2139
+ "type": "github",
2140
+ "url": "https://github.com/sponsors/gregberge"
2141
+ }
2142
+ },
2143
+ "node_modules/@svgr/plugin-svgo": {
2144
+ "version": "5.5.0",
2145
+ "dev": true,
2146
+ "license": "MIT",
2147
+ "dependencies": {
2148
+ "cosmiconfig": "^7.0.0",
2149
+ "deepmerge": "^4.2.2",
2150
+ "svgo": "^1.2.2"
2151
+ },
2152
+ "engines": {
2153
+ "node": ">=10"
2154
+ },
2155
+ "funding": {
2156
+ "type": "github",
2157
+ "url": "https://github.com/sponsors/gregberge"
2158
+ }
2159
+ },
2160
+ "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": {
2161
+ "version": "7.0.0",
2162
+ "dev": true,
2163
+ "license": "MIT",
2164
+ "dependencies": {
2165
+ "@types/parse-json": "^4.0.0",
2166
+ "import-fresh": "^3.2.1",
2167
+ "parse-json": "^5.0.0",
2168
+ "path-type": "^4.0.0",
2169
+ "yaml": "^1.10.0"
2170
+ },
2171
+ "engines": {
2172
+ "node": ">=10"
2173
+ }
2174
+ },
2175
+ "node_modules/@svgr/webpack": {
2176
+ "version": "5.5.0",
2177
+ "dev": true,
2178
+ "license": "MIT",
2179
+ "dependencies": {
2180
+ "@babel/core": "^7.12.3",
2181
+ "@babel/plugin-transform-react-constant-elements": "^7.12.1",
2182
+ "@babel/preset-env": "^7.12.1",
2183
+ "@babel/preset-react": "^7.12.5",
2184
+ "@svgr/core": "^5.5.0",
2185
+ "@svgr/plugin-jsx": "^5.5.0",
2186
+ "@svgr/plugin-svgo": "^5.5.0",
2187
+ "loader-utils": "^2.0.0"
2188
+ },
2189
+ "engines": {
2190
+ "node": ">=10"
2191
+ },
2192
+ "funding": {
2193
+ "type": "github",
2194
+ "url": "https://github.com/sponsors/gregberge"
2195
+ }
2196
+ },
2197
+ "node_modules/@testing-library/dom": {
2198
+ "version": "7.31.2",
2199
+ "dev": true,
2200
+ "license": "MIT",
2201
+ "dependencies": {
2202
+ "@babel/code-frame": "^7.10.4",
2203
+ "@babel/runtime": "^7.12.5",
2204
+ "@types/aria-query": "^4.2.0",
2205
+ "aria-query": "^4.2.2",
2206
+ "chalk": "^4.1.0",
2207
+ "dom-accessibility-api": "^0.5.6",
2208
+ "lz-string": "^1.4.4",
2209
+ "pretty-format": "^26.6.2"
2210
+ },
2211
+ "engines": {
2212
+ "node": ">=10"
2213
+ }
2214
+ },
2215
+ "node_modules/@testing-library/dom/node_modules/@babel/runtime": {
2216
+ "version": "7.16.3",
2217
+ "dev": true,
2218
+ "license": "MIT",
2219
+ "dependencies": {
2220
+ "regenerator-runtime": "^0.13.4"
2221
+ },
2222
+ "engines": {
2223
+ "node": ">=6.9.0"
2224
+ }
2225
+ },
2226
+ "node_modules/@testing-library/dom/node_modules/chalk": {
2227
+ "version": "4.1.2",
2228
+ "dev": true,
2229
+ "license": "MIT",
2230
+ "dependencies": {
2231
+ "ansi-styles": "^4.1.0",
2232
+ "supports-color": "^7.1.0"
2233
+ },
2234
+ "engines": {
2235
+ "node": ">=10"
2236
+ },
2237
+ "funding": {
2238
+ "url": "https://github.com/chalk/chalk?sponsor=1"
2239
+ }
2240
+ },
2241
+ "node_modules/@testing-library/jest-dom": {
2242
+ "version": "5.16.1",
2243
+ "dev": true,
2244
+ "license": "MIT",
2245
+ "dependencies": {
2246
+ "@babel/runtime": "^7.9.2",
2247
+ "@types/testing-library__jest-dom": "^5.9.1",
2248
+ "aria-query": "^5.0.0",
2249
+ "chalk": "^3.0.0",
2250
+ "css": "^3.0.0",
2251
+ "css.escape": "^1.5.1",
2252
+ "dom-accessibility-api": "^0.5.6",
2253
+ "lodash": "^4.17.15",
2254
+ "redent": "^3.0.0"
2255
+ },
2256
+ "engines": {
2257
+ "node": ">=8",
2258
+ "npm": ">=6",
2259
+ "yarn": ">=1"
2260
+ }
2261
+ },
2262
+ "node_modules/@testing-library/jest-dom/node_modules/@babel/runtime": {
2263
+ "version": "7.16.3",
2264
+ "dev": true,
2265
+ "license": "MIT",
2266
+ "dependencies": {
2267
+ "regenerator-runtime": "^0.13.4"
2268
+ },
2269
+ "engines": {
2270
+ "node": ">=6.9.0"
2271
+ }
2272
+ },
2273
+ "node_modules/@testing-library/jest-dom/node_modules/aria-query": {
2274
+ "version": "5.0.0",
2275
+ "dev": true,
2276
+ "license": "Apache-2.0",
2277
+ "engines": {
2278
+ "node": ">=6.0"
2279
+ }
2280
+ },
2281
+ "node_modules/@testing-library/jest-dom/node_modules/chalk": {
2282
+ "version": "3.0.0",
2283
+ "dev": true,
2284
+ "license": "MIT",
2285
+ "dependencies": {
2286
+ "ansi-styles": "^4.1.0",
2287
+ "supports-color": "^7.1.0"
2288
+ },
2289
+ "engines": {
2290
+ "node": ">=8"
2291
+ }
2292
+ },
2293
+ "node_modules/@testing-library/react": {
2294
+ "version": "11.2.7",
2295
+ "dev": true,
2296
+ "license": "MIT",
2297
+ "dependencies": {
2298
+ "@babel/runtime": "^7.12.5",
2299
+ "@testing-library/dom": "^7.28.1"
2300
+ },
2301
+ "engines": {
2302
+ "node": ">=10"
2303
+ },
2304
+ "peerDependencies": {
2305
+ "react": "*",
2306
+ "react-dom": "*"
2307
+ }
2308
+ },
2309
+ "node_modules/@testing-library/react/node_modules/@babel/runtime": {
2310
+ "version": "7.16.3",
2311
+ "dev": true,
2312
+ "license": "MIT",
2313
+ "dependencies": {
2314
+ "regenerator-runtime": "^0.13.4"
2315
+ },
2316
+ "engines": {
2317
+ "node": ">=6.9.0"
2318
+ }
2319
+ },
2320
+ "node_modules/@testing-library/user-event": {
2321
+ "version": "12.8.3",
2322
+ "dev": true,
2323
+ "license": "MIT",
2324
+ "dependencies": {
2325
+ "@babel/runtime": "^7.12.5"
2326
+ },
2327
+ "engines": {
2328
+ "node": ">=10",
2329
+ "npm": ">=6"
2330
+ },
2331
+ "peerDependencies": {
2332
+ "@testing-library/dom": ">=7.21.4"
2333
+ }
2334
+ },
2335
+ "node_modules/@testing-library/user-event/node_modules/@babel/runtime": {
2336
+ "version": "7.16.3",
2337
+ "dev": true,
2338
+ "license": "MIT",
2339
+ "dependencies": {
2340
+ "regenerator-runtime": "^0.13.4"
2341
+ },
2342
+ "engines": {
2343
+ "node": ">=6.9.0"
2344
+ }
2345
+ },
2346
+ "node_modules/@types/anymatch": {
2347
+ "version": "1.3.1",
2348
+ "dev": true,
2349
+ "license": "MIT"
2350
+ },
2351
+ "node_modules/@types/aria-query": {
2352
+ "version": "4.2.2",
2353
+ "dev": true,
2354
+ "license": "MIT"
2355
+ },
2356
+ "node_modules/@types/babel__core": {
2357
+ "version": "7.1.12",
2358
+ "dev": true,
2359
+ "license": "MIT",
2360
+ "dependencies": {
2361
+ "@babel/parser": "^7.1.0",
2362
+ "@babel/types": "^7.0.0",
2363
+ "@types/babel__generator": "*",
2364
+ "@types/babel__template": "*",
2365
+ "@types/babel__traverse": "*"
2366
+ }
2367
+ },
2368
+ "node_modules/@types/babel__generator": {
2369
+ "version": "7.6.2",
2370
+ "dev": true,
2371
+ "license": "MIT",
2372
+ "dependencies": {
2373
+ "@babel/types": "^7.0.0"
2374
+ }
2375
+ },
2376
+ "node_modules/@types/babel__template": {
2377
+ "version": "7.4.0",
2378
+ "dev": true,
2379
+ "license": "MIT",
2380
+ "dependencies": {
2381
+ "@babel/parser": "^7.1.0",
2382
+ "@babel/types": "^7.0.0"
2383
+ }
2384
+ },
2385
+ "node_modules/@types/babel__traverse": {
2386
+ "version": "7.11.0",
2387
+ "dev": true,
2388
+ "license": "MIT",
2389
+ "dependencies": {
2390
+ "@babel/types": "^7.3.0"
2391
+ }
2392
+ },
2393
+ "node_modules/@types/eslint": {
2394
+ "version": "7.2.6",
2395
+ "dev": true,
2396
+ "license": "MIT",
2397
+ "dependencies": {
2398
+ "@types/estree": "*",
2399
+ "@types/json-schema": "*"
2400
+ }
2401
+ },
2402
+ "node_modules/@types/estree": {
2403
+ "version": "0.0.46",
2404
+ "dev": true,
2405
+ "license": "MIT"
2406
+ },
2407
+ "node_modules/@types/glob": {
2408
+ "version": "7.1.3",
2409
+ "dev": true,
2410
+ "license": "MIT",
2411
+ "dependencies": {
2412
+ "@types/minimatch": "*",
2413
+ "@types/node": "*"
2414
+ }
2415
+ },
2416
+ "node_modules/@types/glob/node_modules/@types/node": {
2417
+ "version": "14.14.31",
2418
+ "dev": true,
2419
+ "license": "MIT"
2420
+ },
2421
+ "node_modules/@types/graceful-fs": {
2422
+ "version": "4.1.5",
2423
+ "dev": true,
2424
+ "license": "MIT",
2425
+ "dependencies": {
2426
+ "@types/node": "*"
2427
+ }
2428
+ },
2429
+ "node_modules/@types/graceful-fs/node_modules/@types/node": {
2430
+ "version": "14.14.31",
2431
+ "dev": true,
2432
+ "license": "MIT"
2433
+ },
2434
+ "node_modules/@types/html-minifier-terser": {
2435
+ "version": "5.1.1",
2436
+ "dev": true,
2437
+ "license": "MIT"
2438
+ },
2439
+ "node_modules/@types/istanbul-lib-coverage": {
2440
+ "version": "2.0.3",
2441
+ "dev": true,
2442
+ "license": "MIT"
2443
+ },
2444
+ "node_modules/@types/istanbul-lib-report": {
2445
+ "version": "3.0.0",
2446
+ "dev": true,
2447
+ "license": "MIT",
2448
+ "dependencies": {
2449
+ "@types/istanbul-lib-coverage": "*"
2450
+ }
2451
+ },
2452
+ "node_modules/@types/istanbul-reports": {
2453
+ "version": "3.0.0",
2454
+ "dev": true,
2455
+ "license": "MIT",
2456
+ "dependencies": {
2457
+ "@types/istanbul-lib-report": "*"
2458
+ }
2459
+ },
2460
+ "node_modules/@types/jest": {
2461
+ "version": "26.0.24",
2462
+ "dev": true,
2463
+ "license": "MIT",
2464
+ "dependencies": {
2465
+ "jest-diff": "^26.0.0",
2466
+ "pretty-format": "^26.0.0"
2467
+ }
2468
+ },
2469
+ "node_modules/@types/json-schema": {
2470
+ "version": "7.0.7",
2471
+ "dev": true,
2472
+ "license": "MIT"
2473
+ },
2474
+ "node_modules/@types/json5": {
2475
+ "version": "0.0.29",
2476
+ "dev": true,
2477
+ "license": "MIT"
2478
+ },
2479
+ "node_modules/@types/minimatch": {
2480
+ "version": "3.0.3",
2481
+ "dev": true,
2482
+ "license": "MIT"
2483
+ },
2484
+ "node_modules/@types/node": {
2485
+ "version": "12.20.37",
2486
+ "dev": true,
2487
+ "license": "MIT"
2488
+ },
2489
+ "node_modules/@types/normalize-package-data": {
2490
+ "version": "2.4.0",
2491
+ "dev": true,
2492
+ "license": "MIT"
2493
+ },
2494
+ "node_modules/@types/parse-json": {
2495
+ "version": "4.0.0",
2496
+ "dev": true,
2497
+ "license": "MIT"
2498
+ },
2499
+ "node_modules/@types/prettier": {
2500
+ "version": "2.2.1",
2501
+ "dev": true,
2502
+ "license": "MIT"
2503
+ },
2504
+ "node_modules/@types/prop-types": {
2505
+ "version": "15.7.4",
2506
+ "dev": true,
2507
+ "license": "MIT"
2508
+ },
2509
+ "node_modules/@types/q": {
2510
+ "version": "1.5.4",
2511
+ "dev": true,
2512
+ "license": "MIT"
2513
+ },
2514
+ "node_modules/@types/react": {
2515
+ "version": "17.0.37",
2516
+ "dev": true,
2517
+ "license": "MIT",
2518
+ "dependencies": {
2519
+ "@types/prop-types": "*",
2520
+ "@types/scheduler": "*",
2521
+ "csstype": "^3.0.2"
2522
+ }
2523
+ },
2524
+ "node_modules/@types/react-dom": {
2525
+ "version": "17.0.11",
2526
+ "dev": true,
2527
+ "license": "MIT",
2528
+ "dependencies": {
2529
+ "@types/react": "*"
2530
+ }
2531
+ },
2532
+ "node_modules/@types/resolve": {
2533
+ "version": "0.0.8",
2534
+ "dev": true,
2535
+ "license": "MIT",
2536
+ "dependencies": {
2537
+ "@types/node": "*"
2538
+ }
2539
+ },
2540
+ "node_modules/@types/resolve/node_modules/@types/node": {
2541
+ "version": "14.14.31",
2542
+ "dev": true,
2543
+ "license": "MIT"
2544
+ },
2545
+ "node_modules/@types/scheduler": {
2546
+ "version": "0.16.2",
2547
+ "dev": true,
2548
+ "license": "MIT"
2549
+ },
2550
+ "node_modules/@types/source-list-map": {
2551
+ "version": "0.1.2",
2552
+ "dev": true,
2553
+ "license": "MIT"
2554
+ },
2555
+ "node_modules/@types/stack-utils": {
2556
+ "version": "2.0.0",
2557
+ "dev": true,
2558
+ "license": "MIT"
2559
+ },
2560
+ "node_modules/@types/tapable": {
2561
+ "version": "1.0.6",
2562
+ "dev": true,
2563
+ "license": "MIT"
2564
+ },
2565
+ "node_modules/@types/testing-library__jest-dom": {
2566
+ "version": "5.14.2",
2567
+ "dev": true,
2568
+ "license": "MIT",
2569
+ "dependencies": {
2570
+ "@types/jest": "*"
2571
+ }
2572
+ },
2573
+ "node_modules/@types/testing-library__jest-dom/node_modules/@jest/types": {
2574
+ "version": "27.4.2",
2575
+ "dev": true,
2576
+ "license": "MIT",
2577
+ "dependencies": {
2578
+ "@types/istanbul-lib-coverage": "^2.0.0",
2579
+ "@types/istanbul-reports": "^3.0.0",
2580
+ "@types/node": "*",
2581
+ "@types/yargs": "^16.0.0",
2582
+ "chalk": "^4.0.0"
2583
+ },
2584
+ "engines": {
2585
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
2586
+ }
2587
+ },
2588
+ "node_modules/@types/testing-library__jest-dom/node_modules/@types/jest": {
2589
+ "version": "27.0.3",
2590
+ "dev": true,
2591
+ "license": "MIT",
2592
+ "dependencies": {
2593
+ "jest-diff": "^27.0.0",
2594
+ "pretty-format": "^27.0.0"
2595
+ }
2596
+ },
2597
+ "node_modules/@types/testing-library__jest-dom/node_modules/@types/node": {
2598
+ "version": "14.14.31",
2599
+ "dev": true,
2600
+ "license": "MIT"
2601
+ },
2602
+ "node_modules/@types/testing-library__jest-dom/node_modules/@types/yargs": {
2603
+ "version": "16.0.4",
2604
+ "dev": true,
2605
+ "license": "MIT",
2606
+ "dependencies": {
2607
+ "@types/yargs-parser": "*"
2608
+ }
2609
+ },
2610
+ "node_modules/@types/testing-library__jest-dom/node_modules/ansi-regex": {
2611
+ "version": "5.0.1",
2612
+ "dev": true,
2613
+ "license": "MIT",
2614
+ "engines": {
2615
+ "node": ">=8"
2616
+ }
2617
+ },
2618
+ "node_modules/@types/testing-library__jest-dom/node_modules/ansi-styles": {
2619
+ "version": "5.2.0",
2620
+ "dev": true,
2621
+ "license": "MIT",
2622
+ "engines": {
2623
+ "node": ">=10"
2624
+ },
2625
+ "funding": {
2626
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
2627
+ }
2628
+ },
2629
+ "node_modules/@types/testing-library__jest-dom/node_modules/diff-sequences": {
2630
+ "version": "27.4.0",
2631
+ "dev": true,
2632
+ "license": "MIT",
2633
+ "engines": {
2634
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
2635
+ }
2636
+ },
2637
+ "node_modules/@types/testing-library__jest-dom/node_modules/jest-diff": {
2638
+ "version": "27.4.2",
2639
+ "dev": true,
2640
+ "license": "MIT",
2641
+ "dependencies": {
2642
+ "chalk": "^4.0.0",
2643
+ "diff-sequences": "^27.4.0",
2644
+ "jest-get-type": "^27.4.0",
2645
+ "pretty-format": "^27.4.2"
2646
+ },
2647
+ "engines": {
2648
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
2649
+ }
2650
+ },
2651
+ "node_modules/@types/testing-library__jest-dom/node_modules/jest-get-type": {
2652
+ "version": "27.4.0",
2653
+ "dev": true,
2654
+ "license": "MIT",
2655
+ "engines": {
2656
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
2657
+ }
2658
+ },
2659
+ "node_modules/@types/testing-library__jest-dom/node_modules/pretty-format": {
2660
+ "version": "27.4.2",
2661
+ "dev": true,
2662
+ "license": "MIT",
2663
+ "dependencies": {
2664
+ "@jest/types": "^27.4.2",
2665
+ "ansi-regex": "^5.0.1",
2666
+ "ansi-styles": "^5.0.0",
2667
+ "react-is": "^17.0.1"
2668
+ },
2669
+ "engines": {
2670
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
2671
+ }
2672
+ },
2673
+ "node_modules/@types/uglify-js": {
2674
+ "version": "3.12.0",
2675
+ "dev": true,
2676
+ "license": "MIT",
2677
+ "dependencies": {
2678
+ "source-map": "^0.6.1"
2679
+ }
2680
+ },
2681
+ "node_modules/@types/webpack": {
2682
+ "version": "4.41.26",
2683
+ "dev": true,
2684
+ "license": "MIT",
2685
+ "dependencies": {
2686
+ "@types/anymatch": "*",
2687
+ "@types/node": "*",
2688
+ "@types/tapable": "*",
2689
+ "@types/uglify-js": "*",
2690
+ "@types/webpack-sources": "*",
2691
+ "source-map": "^0.6.0"
2692
+ }
2693
+ },
2694
+ "node_modules/@types/webpack-sources": {
2695
+ "version": "2.1.0",
2696
+ "dev": true,
2697
+ "license": "MIT",
2698
+ "dependencies": {
2699
+ "@types/node": "*",
2700
+ "@types/source-list-map": "*",
2701
+ "source-map": "^0.7.3"
2702
+ }
2703
+ },
2704
+ "node_modules/@types/webpack-sources/node_modules/@types/node": {
2705
+ "version": "14.14.31",
2706
+ "dev": true,
2707
+ "license": "MIT"
2708
+ },
2709
+ "node_modules/@types/webpack-sources/node_modules/source-map": {
2710
+ "version": "0.7.3",
2711
+ "dev": true,
2712
+ "license": "BSD-3-Clause",
2713
+ "engines": {
2714
+ "node": ">= 8"
2715
+ }
2716
+ },
2717
+ "node_modules/@types/webpack/node_modules/@types/node": {
2718
+ "version": "14.14.31",
2719
+ "dev": true,
2720
+ "license": "MIT"
2721
+ },
2722
+ "node_modules/@types/yargs": {
2723
+ "version": "15.0.13",
2724
+ "dev": true,
2725
+ "license": "MIT",
2726
+ "dependencies": {
2727
+ "@types/yargs-parser": "*"
2728
+ }
2729
+ },
2730
+ "node_modules/@types/yargs-parser": {
2731
+ "version": "20.2.0",
2732
+ "dev": true,
2733
+ "license": "MIT"
2734
+ },
2735
+ "node_modules/@typescript-eslint/eslint-plugin": {
2736
+ "version": "4.15.2",
2737
+ "dev": true,
2738
+ "license": "MIT",
2739
+ "dependencies": {
2740
+ "@typescript-eslint/experimental-utils": "4.15.2",
2741
+ "@typescript-eslint/scope-manager": "4.15.2",
2742
+ "debug": "^4.1.1",
2743
+ "functional-red-black-tree": "^1.0.1",
2744
+ "lodash": "^4.17.15",
2745
+ "regexpp": "^3.0.0",
2746
+ "semver": "^7.3.2",
2747
+ "tsutils": "^3.17.1"
2748
+ },
2749
+ "engines": {
2750
+ "node": "^10.12.0 || >=12.0.0"
2751
+ },
2752
+ "funding": {
2753
+ "type": "opencollective",
2754
+ "url": "https://opencollective.com/typescript-eslint"
2755
+ },
2756
+ "peerDependencies": {
2757
+ "@typescript-eslint/parser": "^4.0.0",
2758
+ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
2759
+ },
2760
+ "peerDependenciesMeta": {
2761
+ "typescript": {
2762
+ "optional": true
2763
+ }
2764
+ }
2765
+ },
2766
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
2767
+ "version": "7.3.4",
2768
+ "dev": true,
2769
+ "license": "ISC",
2770
+ "dependencies": {
2771
+ "lru-cache": "^6.0.0"
2772
+ },
2773
+ "bin": {
2774
+ "semver": "bin/semver.js"
2775
+ },
2776
+ "engines": {
2777
+ "node": ">=10"
2778
+ }
2779
+ },
2780
+ "node_modules/@typescript-eslint/experimental-utils": {
2781
+ "version": "4.15.2",
2782
+ "dev": true,
2783
+ "license": "MIT",
2784
+ "dependencies": {
2785
+ "@types/json-schema": "^7.0.3",
2786
+ "@typescript-eslint/scope-manager": "4.15.2",
2787
+ "@typescript-eslint/types": "4.15.2",
2788
+ "@typescript-eslint/typescript-estree": "4.15.2",
2789
+ "eslint-scope": "^5.0.0",
2790
+ "eslint-utils": "^2.0.0"
2791
+ },
2792
+ "engines": {
2793
+ "node": "^10.12.0 || >=12.0.0"
2794
+ },
2795
+ "funding": {
2796
+ "type": "opencollective",
2797
+ "url": "https://opencollective.com/typescript-eslint"
2798
+ },
2799
+ "peerDependencies": {
2800
+ "eslint": "*"
2801
+ }
2802
+ },
2803
+ "node_modules/@typescript-eslint/parser": {
2804
+ "version": "4.15.2",
2805
+ "dev": true,
2806
+ "license": "BSD-2-Clause",
2807
+ "dependencies": {
2808
+ "@typescript-eslint/scope-manager": "4.15.2",
2809
+ "@typescript-eslint/types": "4.15.2",
2810
+ "@typescript-eslint/typescript-estree": "4.15.2",
2811
+ "debug": "^4.1.1"
2812
+ },
2813
+ "engines": {
2814
+ "node": "^10.12.0 || >=12.0.0"
2815
+ },
2816
+ "funding": {
2817
+ "type": "opencollective",
2818
+ "url": "https://opencollective.com/typescript-eslint"
2819
+ },
2820
+ "peerDependencies": {
2821
+ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
2822
+ },
2823
+ "peerDependenciesMeta": {
2824
+ "typescript": {
2825
+ "optional": true
2826
+ }
2827
+ }
2828
+ },
2829
+ "node_modules/@typescript-eslint/scope-manager": {
2830
+ "version": "4.15.2",
2831
+ "dev": true,
2832
+ "license": "MIT",
2833
+ "dependencies": {
2834
+ "@typescript-eslint/types": "4.15.2",
2835
+ "@typescript-eslint/visitor-keys": "4.15.2"
2836
+ },
2837
+ "engines": {
2838
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
2839
+ },
2840
+ "funding": {
2841
+ "type": "opencollective",
2842
+ "url": "https://opencollective.com/typescript-eslint"
2843
+ }
2844
+ },
2845
+ "node_modules/@typescript-eslint/types": {
2846
+ "version": "4.15.2",
2847
+ "dev": true,
2848
+ "license": "MIT",
2849
+ "engines": {
2850
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
2851
+ },
2852
+ "funding": {
2853
+ "type": "opencollective",
2854
+ "url": "https://opencollective.com/typescript-eslint"
2855
+ }
2856
+ },
2857
+ "node_modules/@typescript-eslint/typescript-estree": {
2858
+ "version": "4.15.2",
2859
+ "dev": true,
2860
+ "license": "BSD-2-Clause",
2861
+ "dependencies": {
2862
+ "@typescript-eslint/types": "4.15.2",
2863
+ "@typescript-eslint/visitor-keys": "4.15.2",
2864
+ "debug": "^4.1.1",
2865
+ "globby": "^11.0.1",
2866
+ "is-glob": "^4.0.1",
2867
+ "semver": "^7.3.2",
2868
+ "tsutils": "^3.17.1"
2869
+ },
2870
+ "engines": {
2871
+ "node": "^10.12.0 || >=12.0.0"
2872
+ },
2873
+ "funding": {
2874
+ "type": "opencollective",
2875
+ "url": "https://opencollective.com/typescript-eslint"
2876
+ },
2877
+ "peerDependenciesMeta": {
2878
+ "typescript": {
2879
+ "optional": true
2880
+ }
2881
+ }
2882
+ },
2883
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
2884
+ "version": "7.3.4",
2885
+ "dev": true,
2886
+ "license": "ISC",
2887
+ "dependencies": {
2888
+ "lru-cache": "^6.0.0"
2889
+ },
2890
+ "bin": {
2891
+ "semver": "bin/semver.js"
2892
+ },
2893
+ "engines": {
2894
+ "node": ">=10"
2895
+ }
2896
+ },
2897
+ "node_modules/@typescript-eslint/visitor-keys": {
2898
+ "version": "4.15.2",
2899
+ "dev": true,
2900
+ "license": "MIT",
2901
+ "dependencies": {
2902
+ "@typescript-eslint/types": "4.15.2",
2903
+ "eslint-visitor-keys": "^2.0.0"
2904
+ },
2905
+ "engines": {
2906
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
2907
+ },
2908
+ "funding": {
2909
+ "type": "opencollective",
2910
+ "url": "https://opencollective.com/typescript-eslint"
2911
+ }
2912
+ },
2913
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
2914
+ "version": "2.0.0",
2915
+ "dev": true,
2916
+ "license": "Apache-2.0",
2917
+ "engines": {
2918
+ "node": ">=10"
2919
+ }
2920
+ },
2921
+ "node_modules/@webassemblyjs/ast": {
2922
+ "version": "1.9.0",
2923
+ "dev": true,
2924
+ "license": "MIT",
2925
+ "dependencies": {
2926
+ "@webassemblyjs/helper-module-context": "1.9.0",
2927
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
2928
+ "@webassemblyjs/wast-parser": "1.9.0"
2929
+ }
2930
+ },
2931
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
2932
+ "version": "1.9.0",
2933
+ "dev": true,
2934
+ "license": "MIT"
2935
+ },
2936
+ "node_modules/@webassemblyjs/helper-api-error": {
2937
+ "version": "1.9.0",
2938
+ "dev": true,
2939
+ "license": "MIT"
2940
+ },
2941
+ "node_modules/@webassemblyjs/helper-buffer": {
2942
+ "version": "1.9.0",
2943
+ "dev": true,
2944
+ "license": "MIT"
2945
+ },
2946
+ "node_modules/@webassemblyjs/helper-code-frame": {
2947
+ "version": "1.9.0",
2948
+ "dev": true,
2949
+ "license": "MIT",
2950
+ "dependencies": {
2951
+ "@webassemblyjs/wast-printer": "1.9.0"
2952
+ }
2953
+ },
2954
+ "node_modules/@webassemblyjs/helper-fsm": {
2955
+ "version": "1.9.0",
2956
+ "dev": true,
2957
+ "license": "ISC"
2958
+ },
2959
+ "node_modules/@webassemblyjs/helper-module-context": {
2960
+ "version": "1.9.0",
2961
+ "dev": true,
2962
+ "license": "MIT",
2963
+ "dependencies": {
2964
+ "@webassemblyjs/ast": "1.9.0"
2965
+ }
2966
+ },
2967
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
2968
+ "version": "1.9.0",
2969
+ "dev": true,
2970
+ "license": "MIT"
2971
+ },
2972
+ "node_modules/@webassemblyjs/helper-wasm-section": {
2973
+ "version": "1.9.0",
2974
+ "dev": true,
2975
+ "license": "MIT",
2976
+ "dependencies": {
2977
+ "@webassemblyjs/ast": "1.9.0",
2978
+ "@webassemblyjs/helper-buffer": "1.9.0",
2979
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
2980
+ "@webassemblyjs/wasm-gen": "1.9.0"
2981
+ }
2982
+ },
2983
+ "node_modules/@webassemblyjs/ieee754": {
2984
+ "version": "1.9.0",
2985
+ "dev": true,
2986
+ "license": "MIT",
2987
+ "dependencies": {
2988
+ "@xtuc/ieee754": "^1.2.0"
2989
+ }
2990
+ },
2991
+ "node_modules/@webassemblyjs/leb128": {
2992
+ "version": "1.9.0",
2993
+ "dev": true,
2994
+ "license": "MIT",
2995
+ "dependencies": {
2996
+ "@xtuc/long": "4.2.2"
2997
+ }
2998
+ },
2999
+ "node_modules/@webassemblyjs/utf8": {
3000
+ "version": "1.9.0",
3001
+ "dev": true,
3002
+ "license": "MIT"
3003
+ },
3004
+ "node_modules/@webassemblyjs/wasm-edit": {
3005
+ "version": "1.9.0",
3006
+ "dev": true,
3007
+ "license": "MIT",
3008
+ "dependencies": {
3009
+ "@webassemblyjs/ast": "1.9.0",
3010
+ "@webassemblyjs/helper-buffer": "1.9.0",
3011
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
3012
+ "@webassemblyjs/helper-wasm-section": "1.9.0",
3013
+ "@webassemblyjs/wasm-gen": "1.9.0",
3014
+ "@webassemblyjs/wasm-opt": "1.9.0",
3015
+ "@webassemblyjs/wasm-parser": "1.9.0",
3016
+ "@webassemblyjs/wast-printer": "1.9.0"
3017
+ }
3018
+ },
3019
+ "node_modules/@webassemblyjs/wasm-gen": {
3020
+ "version": "1.9.0",
3021
+ "dev": true,
3022
+ "license": "MIT",
3023
+ "dependencies": {
3024
+ "@webassemblyjs/ast": "1.9.0",
3025
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
3026
+ "@webassemblyjs/ieee754": "1.9.0",
3027
+ "@webassemblyjs/leb128": "1.9.0",
3028
+ "@webassemblyjs/utf8": "1.9.0"
3029
+ }
3030
+ },
3031
+ "node_modules/@webassemblyjs/wasm-opt": {
3032
+ "version": "1.9.0",
3033
+ "dev": true,
3034
+ "license": "MIT",
3035
+ "dependencies": {
3036
+ "@webassemblyjs/ast": "1.9.0",
3037
+ "@webassemblyjs/helper-buffer": "1.9.0",
3038
+ "@webassemblyjs/wasm-gen": "1.9.0",
3039
+ "@webassemblyjs/wasm-parser": "1.9.0"
3040
+ }
3041
+ },
3042
+ "node_modules/@webassemblyjs/wasm-parser": {
3043
+ "version": "1.9.0",
3044
+ "dev": true,
3045
+ "license": "MIT",
3046
+ "dependencies": {
3047
+ "@webassemblyjs/ast": "1.9.0",
3048
+ "@webassemblyjs/helper-api-error": "1.9.0",
3049
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
3050
+ "@webassemblyjs/ieee754": "1.9.0",
3051
+ "@webassemblyjs/leb128": "1.9.0",
3052
+ "@webassemblyjs/utf8": "1.9.0"
3053
+ }
3054
+ },
3055
+ "node_modules/@webassemblyjs/wast-parser": {
3056
+ "version": "1.9.0",
3057
+ "dev": true,
3058
+ "license": "MIT",
3059
+ "dependencies": {
3060
+ "@webassemblyjs/ast": "1.9.0",
3061
+ "@webassemblyjs/floating-point-hex-parser": "1.9.0",
3062
+ "@webassemblyjs/helper-api-error": "1.9.0",
3063
+ "@webassemblyjs/helper-code-frame": "1.9.0",
3064
+ "@webassemblyjs/helper-fsm": "1.9.0",
3065
+ "@xtuc/long": "4.2.2"
3066
+ }
3067
+ },
3068
+ "node_modules/@webassemblyjs/wast-printer": {
3069
+ "version": "1.9.0",
3070
+ "dev": true,
3071
+ "license": "MIT",
3072
+ "dependencies": {
3073
+ "@webassemblyjs/ast": "1.9.0",
3074
+ "@webassemblyjs/wast-parser": "1.9.0",
3075
+ "@xtuc/long": "4.2.2"
3076
+ }
3077
+ },
3078
+ "node_modules/@xtuc/ieee754": {
3079
+ "version": "1.2.0",
3080
+ "dev": true,
3081
+ "license": "BSD-3-Clause"
3082
+ },
3083
+ "node_modules/@xtuc/long": {
3084
+ "version": "4.2.2",
3085
+ "dev": true,
3086
+ "license": "Apache-2.0"
3087
+ },
3088
+ "node_modules/abab": {
3089
+ "version": "2.0.5",
3090
+ "dev": true,
3091
+ "license": "BSD-3-Clause"
3092
+ },
3093
+ "node_modules/accepts": {
3094
+ "version": "1.3.7",
3095
+ "dev": true,
3096
+ "license": "MIT",
3097
+ "dependencies": {
3098
+ "mime-types": "~2.1.24",
3099
+ "negotiator": "0.6.2"
3100
+ },
3101
+ "engines": {
3102
+ "node": ">= 0.6"
3103
+ }
3104
+ },
3105
+ "node_modules/acorn": {
3106
+ "version": "7.4.1",
3107
+ "dev": true,
3108
+ "license": "MIT",
3109
+ "bin": {
3110
+ "acorn": "bin/acorn"
3111
+ },
3112
+ "engines": {
3113
+ "node": ">=0.4.0"
3114
+ }
3115
+ },
3116
+ "node_modules/acorn-globals": {
3117
+ "version": "6.0.0",
3118
+ "dev": true,
3119
+ "license": "MIT",
3120
+ "dependencies": {
3121
+ "acorn": "^7.1.1",
3122
+ "acorn-walk": "^7.1.1"
3123
+ }
3124
+ },
3125
+ "node_modules/acorn-jsx": {
3126
+ "version": "5.3.1",
3127
+ "dev": true,
3128
+ "license": "MIT",
3129
+ "peerDependencies": {
3130
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
3131
+ }
3132
+ },
3133
+ "node_modules/acorn-walk": {
3134
+ "version": "7.2.0",
3135
+ "dev": true,
3136
+ "license": "MIT",
3137
+ "engines": {
3138
+ "node": ">=0.4.0"
3139
+ }
3140
+ },
3141
+ "node_modules/address": {
3142
+ "version": "1.1.2",
3143
+ "dev": true,
3144
+ "license": "MIT",
3145
+ "engines": {
3146
+ "node": ">= 0.12.0"
3147
+ }
3148
+ },
3149
+ "node_modules/adjust-sourcemap-loader": {
3150
+ "version": "3.0.0",
3151
+ "dev": true,
3152
+ "license": "MIT",
3153
+ "dependencies": {
3154
+ "loader-utils": "^2.0.0",
3155
+ "regex-parser": "^2.2.11"
3156
+ },
3157
+ "engines": {
3158
+ "node": ">=8.9"
3159
+ }
3160
+ },
3161
+ "node_modules/aggregate-error": {
3162
+ "version": "3.1.0",
3163
+ "dev": true,
3164
+ "license": "MIT",
3165
+ "dependencies": {
3166
+ "clean-stack": "^2.0.0",
3167
+ "indent-string": "^4.0.0"
3168
+ },
3169
+ "engines": {
3170
+ "node": ">=8"
3171
+ }
3172
+ },
3173
+ "node_modules/ajv": {
3174
+ "version": "6.12.6",
3175
+ "dev": true,
3176
+ "license": "MIT",
3177
+ "dependencies": {
3178
+ "fast-deep-equal": "^3.1.1",
3179
+ "fast-json-stable-stringify": "^2.0.0",
3180
+ "json-schema-traverse": "^0.4.1",
3181
+ "uri-js": "^4.2.2"
3182
+ },
3183
+ "funding": {
3184
+ "type": "github",
3185
+ "url": "https://github.com/sponsors/epoberezkin"
3186
+ }
3187
+ },
3188
+ "node_modules/ajv-errors": {
3189
+ "version": "1.0.1",
3190
+ "dev": true,
3191
+ "license": "MIT",
3192
+ "peerDependencies": {
3193
+ "ajv": ">=5.0.0"
3194
+ }
3195
+ },
3196
+ "node_modules/ajv-keywords": {
3197
+ "version": "3.5.2",
3198
+ "dev": true,
3199
+ "license": "MIT",
3200
+ "peerDependencies": {
3201
+ "ajv": "^6.9.1"
3202
+ }
3203
+ },
3204
+ "node_modules/alphanum-sort": {
3205
+ "version": "1.0.2",
3206
+ "dev": true,
3207
+ "license": "MIT"
3208
+ },
3209
+ "node_modules/ansi-colors": {
3210
+ "version": "3.2.4",
3211
+ "dev": true,
3212
+ "license": "MIT",
3213
+ "engines": {
3214
+ "node": ">=6"
3215
+ }
3216
+ },
3217
+ "node_modules/ansi-escapes": {
3218
+ "version": "4.3.1",
3219
+ "dev": true,
3220
+ "license": "MIT",
3221
+ "dependencies": {
3222
+ "type-fest": "^0.11.0"
3223
+ },
3224
+ "engines": {
3225
+ "node": ">=8"
3226
+ },
3227
+ "funding": {
3228
+ "url": "https://github.com/sponsors/sindresorhus"
3229
+ }
3230
+ },
3231
+ "node_modules/ansi-escapes/node_modules/type-fest": {
3232
+ "version": "0.11.0",
3233
+ "dev": true,
3234
+ "license": "(MIT OR CC0-1.0)",
3235
+ "engines": {
3236
+ "node": ">=8"
3237
+ },
3238
+ "funding": {
3239
+ "url": "https://github.com/sponsors/sindresorhus"
3240
+ }
3241
+ },
3242
+ "node_modules/ansi-html": {
3243
+ "version": "0.0.7",
3244
+ "dev": true,
3245
+ "engines": [
3246
+ "node >= 0.8.0"
3247
+ ],
3248
+ "license": "Apache-2.0",
3249
+ "bin": {
3250
+ "ansi-html": "bin/ansi-html"
3251
+ }
3252
+ },
3253
+ "node_modules/ansi-regex": {
3254
+ "version": "5.0.0",
3255
+ "dev": true,
3256
+ "license": "MIT",
3257
+ "engines": {
3258
+ "node": ">=8"
3259
+ }
3260
+ },
3261
+ "node_modules/ansi-styles": {
3262
+ "version": "4.3.0",
3263
+ "dev": true,
3264
+ "license": "MIT",
3265
+ "dependencies": {
3266
+ "color-convert": "^2.0.1"
3267
+ },
3268
+ "engines": {
3269
+ "node": ">=8"
3270
+ },
3271
+ "funding": {
3272
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
3273
+ }
3274
+ },
3275
+ "node_modules/ansi-styles/node_modules/color-convert": {
3276
+ "version": "2.0.1",
3277
+ "dev": true,
3278
+ "license": "MIT",
3279
+ "dependencies": {
3280
+ "color-name": "~1.1.4"
3281
+ },
3282
+ "engines": {
3283
+ "node": ">=7.0.0"
3284
+ }
3285
+ },
3286
+ "node_modules/anymatch": {
3287
+ "version": "2.0.0",
3288
+ "dev": true,
3289
+ "license": "ISC",
3290
+ "dependencies": {
3291
+ "micromatch": "^3.1.4",
3292
+ "normalize-path": "^2.1.1"
3293
+ }
3294
+ },
3295
+ "node_modules/anymatch/node_modules/define-property": {
3296
+ "version": "2.0.2",
3297
+ "dev": true,
3298
+ "license": "MIT",
3299
+ "dependencies": {
3300
+ "is-descriptor": "^1.0.2",
3301
+ "isobject": "^3.0.1"
3302
+ },
3303
+ "engines": {
3304
+ "node": ">=0.10.0"
3305
+ }
3306
+ },
3307
+ "node_modules/anymatch/node_modules/extend-shallow": {
3308
+ "version": "3.0.2",
3309
+ "dev": true,
3310
+ "license": "MIT",
3311
+ "dependencies": {
3312
+ "assign-symbols": "^1.0.0",
3313
+ "is-extendable": "^1.0.1"
3314
+ },
3315
+ "engines": {
3316
+ "node": ">=0.10.0"
3317
+ }
3318
+ },
3319
+ "node_modules/anymatch/node_modules/is-extendable": {
3320
+ "version": "1.0.1",
3321
+ "dev": true,
3322
+ "license": "MIT",
3323
+ "dependencies": {
3324
+ "is-plain-object": "^2.0.4"
3325
+ },
3326
+ "engines": {
3327
+ "node": ">=0.10.0"
3328
+ }
3329
+ },
3330
+ "node_modules/anymatch/node_modules/kind-of": {
3331
+ "version": "6.0.3",
3332
+ "dev": true,
3333
+ "license": "MIT",
3334
+ "engines": {
3335
+ "node": ">=0.10.0"
3336
+ }
3337
+ },
3338
+ "node_modules/anymatch/node_modules/micromatch": {
3339
+ "version": "3.1.10",
3340
+ "dev": true,
3341
+ "license": "MIT",
3342
+ "dependencies": {
3343
+ "arr-diff": "^4.0.0",
3344
+ "array-unique": "^0.3.2",
3345
+ "braces": "^2.3.1",
3346
+ "define-property": "^2.0.2",
3347
+ "extend-shallow": "^3.0.2",
3348
+ "extglob": "^2.0.4",
3349
+ "fragment-cache": "^0.2.1",
3350
+ "kind-of": "^6.0.2",
3351
+ "nanomatch": "^1.2.9",
3352
+ "object.pick": "^1.3.0",
3353
+ "regex-not": "^1.0.0",
3354
+ "snapdragon": "^0.8.1",
3355
+ "to-regex": "^3.0.2"
3356
+ },
3357
+ "engines": {
3358
+ "node": ">=0.10.0"
3359
+ }
3360
+ },
3361
+ "node_modules/anymatch/node_modules/normalize-path": {
3362
+ "version": "2.1.1",
3363
+ "dev": true,
3364
+ "license": "MIT",
3365
+ "dependencies": {
3366
+ "remove-trailing-separator": "^1.0.1"
3367
+ },
3368
+ "engines": {
3369
+ "node": ">=0.10.0"
3370
+ }
3371
+ },
3372
+ "node_modules/aproba": {
3373
+ "version": "1.2.0",
3374
+ "dev": true,
3375
+ "license": "ISC"
3376
+ },
3377
+ "node_modules/argparse": {
3378
+ "version": "1.0.10",
3379
+ "dev": true,
3380
+ "license": "MIT",
3381
+ "dependencies": {
3382
+ "sprintf-js": "~1.0.2"
3383
+ }
3384
+ },
3385
+ "node_modules/aria-query": {
3386
+ "version": "4.2.2",
3387
+ "dev": true,
3388
+ "license": "Apache-2.0",
3389
+ "dependencies": {
3390
+ "@babel/runtime": "^7.10.2",
3391
+ "@babel/runtime-corejs3": "^7.10.2"
3392
+ },
3393
+ "engines": {
3394
+ "node": ">=6.0"
3395
+ }
3396
+ },
3397
+ "node_modules/arity-n": {
3398
+ "version": "1.0.4",
3399
+ "dev": true,
3400
+ "license": "MIT"
3401
+ },
3402
+ "node_modules/arr-diff": {
3403
+ "version": "4.0.0",
3404
+ "dev": true,
3405
+ "license": "MIT",
3406
+ "engines": {
3407
+ "node": ">=0.10.0"
3408
+ }
3409
+ },
3410
+ "node_modules/arr-flatten": {
3411
+ "version": "1.1.0",
3412
+ "dev": true,
3413
+ "license": "MIT",
3414
+ "engines": {
3415
+ "node": ">=0.10.0"
3416
+ }
3417
+ },
3418
+ "node_modules/arr-union": {
3419
+ "version": "3.1.0",
3420
+ "dev": true,
3421
+ "license": "MIT",
3422
+ "engines": {
3423
+ "node": ">=0.10.0"
3424
+ }
3425
+ },
3426
+ "node_modules/array-flatten": {
3427
+ "version": "1.1.1",
3428
+ "dev": true,
3429
+ "license": "MIT"
3430
+ },
3431
+ "node_modules/array-includes": {
3432
+ "version": "3.1.3",
3433
+ "dev": true,
3434
+ "license": "MIT",
3435
+ "dependencies": {
3436
+ "call-bind": "^1.0.2",
3437
+ "define-properties": "^1.1.3",
3438
+ "es-abstract": "^1.18.0-next.2",
3439
+ "get-intrinsic": "^1.1.1",
3440
+ "is-string": "^1.0.5"
3441
+ },
3442
+ "engines": {
3443
+ "node": ">= 0.4"
3444
+ },
3445
+ "funding": {
3446
+ "url": "https://github.com/sponsors/ljharb"
3447
+ }
3448
+ },
3449
+ "node_modules/array-union": {
3450
+ "version": "2.1.0",
3451
+ "dev": true,
3452
+ "license": "MIT",
3453
+ "engines": {
3454
+ "node": ">=8"
3455
+ }
3456
+ },
3457
+ "node_modules/array-uniq": {
3458
+ "version": "1.0.3",
3459
+ "dev": true,
3460
+ "license": "MIT",
3461
+ "engines": {
3462
+ "node": ">=0.10.0"
3463
+ }
3464
+ },
3465
+ "node_modules/array-unique": {
3466
+ "version": "0.3.2",
3467
+ "dev": true,
3468
+ "license": "MIT",
3469
+ "engines": {
3470
+ "node": ">=0.10.0"
3471
+ }
3472
+ },
3473
+ "node_modules/array.prototype.flat": {
3474
+ "version": "1.2.4",
3475
+ "dev": true,
3476
+ "license": "MIT",
3477
+ "dependencies": {
3478
+ "call-bind": "^1.0.0",
3479
+ "define-properties": "^1.1.3",
3480
+ "es-abstract": "^1.18.0-next.1"
3481
+ },
3482
+ "engines": {
3483
+ "node": ">= 0.4"
3484
+ },
3485
+ "funding": {
3486
+ "url": "https://github.com/sponsors/ljharb"
3487
+ }
3488
+ },
3489
+ "node_modules/array.prototype.flatmap": {
3490
+ "version": "1.2.4",
3491
+ "dev": true,
3492
+ "license": "MIT",
3493
+ "dependencies": {
3494
+ "call-bind": "^1.0.0",
3495
+ "define-properties": "^1.1.3",
3496
+ "es-abstract": "^1.18.0-next.1",
3497
+ "function-bind": "^1.1.1"
3498
+ },
3499
+ "engines": {
3500
+ "node": ">= 0.4"
3501
+ },
3502
+ "funding": {
3503
+ "url": "https://github.com/sponsors/ljharb"
3504
+ }
3505
+ },
3506
+ "node_modules/arrify": {
3507
+ "version": "2.0.1",
3508
+ "dev": true,
3509
+ "license": "MIT",
3510
+ "engines": {
3511
+ "node": ">=8"
3512
+ }
3513
+ },
3514
+ "node_modules/asap": {
3515
+ "version": "2.0.6",
3516
+ "dev": true,
3517
+ "license": "MIT"
3518
+ },
3519
+ "node_modules/asn1": {
3520
+ "version": "0.2.4",
3521
+ "dev": true,
3522
+ "license": "MIT",
3523
+ "dependencies": {
3524
+ "safer-buffer": "~2.1.0"
3525
+ }
3526
+ },
3527
+ "node_modules/asn1.js": {
3528
+ "version": "5.4.1",
3529
+ "dev": true,
3530
+ "license": "MIT",
3531
+ "dependencies": {
3532
+ "bn.js": "^4.0.0",
3533
+ "inherits": "^2.0.1",
3534
+ "minimalistic-assert": "^1.0.0",
3535
+ "safer-buffer": "^2.1.0"
3536
+ }
3537
+ },
3538
+ "node_modules/assert": {
3539
+ "version": "1.5.0",
3540
+ "dev": true,
3541
+ "license": "MIT",
3542
+ "dependencies": {
3543
+ "object-assign": "^4.1.1",
3544
+ "util": "0.10.3"
3545
+ }
3546
+ },
3547
+ "node_modules/assert-plus": {
3548
+ "version": "1.0.0",
3549
+ "dev": true,
3550
+ "license": "MIT",
3551
+ "engines": {
3552
+ "node": ">=0.8"
3553
+ }
3554
+ },
3555
+ "node_modules/assert/node_modules/inherits": {
3556
+ "version": "2.0.1",
3557
+ "dev": true,
3558
+ "license": "ISC"
3559
+ },
3560
+ "node_modules/assert/node_modules/util": {
3561
+ "version": "0.10.3",
3562
+ "dev": true,
3563
+ "license": "MIT",
3564
+ "dependencies": {
3565
+ "inherits": "2.0.1"
3566
+ }
3567
+ },
3568
+ "node_modules/assign-symbols": {
3569
+ "version": "1.0.0",
3570
+ "dev": true,
3571
+ "license": "MIT",
3572
+ "engines": {
3573
+ "node": ">=0.10.0"
3574
+ }
3575
+ },
3576
+ "node_modules/ast-types-flow": {
3577
+ "version": "0.0.7",
3578
+ "dev": true,
3579
+ "license": "ISC"
3580
+ },
3581
+ "node_modules/astral-regex": {
3582
+ "version": "2.0.0",
3583
+ "dev": true,
3584
+ "license": "MIT",
3585
+ "engines": {
3586
+ "node": ">=8"
3587
+ }
3588
+ },
3589
+ "node_modules/async": {
3590
+ "version": "2.6.3",
3591
+ "dev": true,
3592
+ "license": "MIT",
3593
+ "dependencies": {
3594
+ "lodash": "^4.17.14"
3595
+ }
3596
+ },
3597
+ "node_modules/async-each": {
3598
+ "version": "1.0.3",
3599
+ "dev": true,
3600
+ "license": "MIT"
3601
+ },
3602
+ "node_modules/async-limiter": {
3603
+ "version": "1.0.1",
3604
+ "dev": true,
3605
+ "license": "MIT"
3606
+ },
3607
+ "node_modules/asynckit": {
3608
+ "version": "0.4.0",
3609
+ "dev": true,
3610
+ "license": "MIT"
3611
+ },
3612
+ "node_modules/at-least-node": {
3613
+ "version": "1.0.0",
3614
+ "dev": true,
3615
+ "license": "ISC",
3616
+ "engines": {
3617
+ "node": ">= 4.0.0"
3618
+ }
3619
+ },
3620
+ "node_modules/atob": {
3621
+ "version": "2.1.2",
3622
+ "dev": true,
3623
+ "license": "(MIT OR Apache-2.0)",
3624
+ "bin": {
3625
+ "atob": "bin/atob.js"
3626
+ },
3627
+ "engines": {
3628
+ "node": ">= 4.5.0"
3629
+ }
3630
+ },
3631
+ "node_modules/autoprefixer": {
3632
+ "version": "9.8.6",
3633
+ "dev": true,
3634
+ "license": "MIT",
3635
+ "dependencies": {
3636
+ "browserslist": "^4.12.0",
3637
+ "caniuse-lite": "^1.0.30001109",
3638
+ "colorette": "^1.2.1",
3639
+ "normalize-range": "^0.1.2",
3640
+ "num2fraction": "^1.2.2",
3641
+ "postcss": "^7.0.32",
3642
+ "postcss-value-parser": "^4.1.0"
3643
+ },
3644
+ "bin": {
3645
+ "autoprefixer": "bin/autoprefixer"
3646
+ },
3647
+ "funding": {
3648
+ "type": "tidelift",
3649
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
3650
+ }
3651
+ },
3652
+ "node_modules/autoprefixer/node_modules/postcss-value-parser": {
3653
+ "version": "4.1.0",
3654
+ "dev": true,
3655
+ "license": "MIT"
3656
+ },
3657
+ "node_modules/aws-sign2": {
3658
+ "version": "0.7.0",
3659
+ "dev": true,
3660
+ "license": "Apache-2.0",
3661
+ "engines": {
3662
+ "node": "*"
3663
+ }
3664
+ },
3665
+ "node_modules/aws4": {
3666
+ "version": "1.11.0",
3667
+ "dev": true,
3668
+ "license": "MIT"
3669
+ },
3670
+ "node_modules/axe-core": {
3671
+ "version": "4.1.2",
3672
+ "dev": true,
3673
+ "license": "MPL-2.0",
3674
+ "engines": {
3675
+ "node": ">=4"
3676
+ }
3677
+ },
3678
+ "node_modules/axobject-query": {
3679
+ "version": "2.2.0",
3680
+ "dev": true,
3681
+ "license": "Apache-2.0"
3682
+ },
3683
+ "node_modules/babel-eslint": {
3684
+ "version": "10.1.0",
3685
+ "dev": true,
3686
+ "license": "MIT",
3687
+ "dependencies": {
3688
+ "@babel/code-frame": "^7.0.0",
3689
+ "@babel/parser": "^7.7.0",
3690
+ "@babel/traverse": "^7.7.0",
3691
+ "@babel/types": "^7.7.0",
3692
+ "eslint-visitor-keys": "^1.0.0",
3693
+ "resolve": "^1.12.0"
3694
+ },
3695
+ "engines": {
3696
+ "node": ">=6"
3697
+ },
3698
+ "peerDependencies": {
3699
+ "eslint": ">= 4.12.1"
3700
+ }
3701
+ },
3702
+ "node_modules/babel-extract-comments": {
3703
+ "version": "1.0.0",
3704
+ "dev": true,
3705
+ "license": "MIT",
3706
+ "dependencies": {
3707
+ "babylon": "^6.18.0"
3708
+ },
3709
+ "engines": {
3710
+ "node": ">=4"
3711
+ }
3712
+ },
3713
+ "node_modules/babel-jest": {
3714
+ "version": "26.6.3",
3715
+ "dev": true,
3716
+ "license": "MIT",
3717
+ "dependencies": {
3718
+ "@jest/transform": "^26.6.2",
3719
+ "@jest/types": "^26.6.2",
3720
+ "@types/babel__core": "^7.1.7",
3721
+ "babel-plugin-istanbul": "^6.0.0",
3722
+ "babel-preset-jest": "^26.6.2",
3723
+ "chalk": "^4.0.0",
3724
+ "graceful-fs": "^4.2.4",
3725
+ "slash": "^3.0.0"
3726
+ },
3727
+ "engines": {
3728
+ "node": ">= 10.14.2"
3729
+ },
3730
+ "peerDependencies": {
3731
+ "@babel/core": "^7.0.0"
3732
+ }
3733
+ },
3734
+ "node_modules/babel-jest/node_modules/@babel/core": {
3735
+ "version": "7.12.3",
3736
+ "dev": true,
3737
+ "license": "MIT",
3738
+ "peer": true,
3739
+ "dependencies": {
3740
+ "@babel/code-frame": "^7.10.4",
3741
+ "@babel/generator": "^7.12.1",
3742
+ "@babel/helper-module-transforms": "^7.12.1",
3743
+ "@babel/helpers": "^7.12.1",
3744
+ "@babel/parser": "^7.12.3",
3745
+ "@babel/template": "^7.10.4",
3746
+ "@babel/traverse": "^7.12.1",
3747
+ "@babel/types": "^7.12.1",
3748
+ "convert-source-map": "^1.7.0",
3749
+ "debug": "^4.1.0",
3750
+ "gensync": "^1.0.0-beta.1",
3751
+ "json5": "^2.1.2",
3752
+ "lodash": "^4.17.19",
3753
+ "resolve": "^1.3.2",
3754
+ "semver": "^5.4.1",
3755
+ "source-map": "^0.5.0"
3756
+ },
3757
+ "engines": {
3758
+ "node": ">=6.9.0"
3759
+ },
3760
+ "funding": {
3761
+ "type": "opencollective",
3762
+ "url": "https://opencollective.com/babel"
3763
+ }
3764
+ },
3765
+ "node_modules/babel-jest/node_modules/@babel/plugin-syntax-bigint": {
3766
+ "version": "7.8.3",
3767
+ "dev": true,
3768
+ "license": "MIT",
3769
+ "dependencies": {
3770
+ "@babel/helper-plugin-utils": "^7.8.0"
3771
+ },
3772
+ "peerDependencies": {
3773
+ "@babel/core": "^7.0.0-0"
3774
+ }
3775
+ },
3776
+ "node_modules/babel-jest/node_modules/@babel/plugin-syntax-import-meta": {
3777
+ "version": "7.10.4",
3778
+ "dev": true,
3779
+ "license": "MIT",
3780
+ "dependencies": {
3781
+ "@babel/helper-plugin-utils": "^7.10.4"
3782
+ },
3783
+ "peerDependencies": {
3784
+ "@babel/core": "^7.0.0-0"
3785
+ }
3786
+ },
3787
+ "node_modules/babel-jest/node_modules/babel-preset-current-node-syntax": {
3788
+ "version": "1.0.1",
3789
+ "dev": true,
3790
+ "license": "MIT",
3791
+ "dependencies": {
3792
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
3793
+ "@babel/plugin-syntax-bigint": "^7.8.3",
3794
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
3795
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
3796
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
3797
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
3798
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
3799
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
3800
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
3801
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
3802
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
3803
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
3804
+ },
3805
+ "peerDependencies": {
3806
+ "@babel/core": "^7.0.0"
3807
+ }
3808
+ },
3809
+ "node_modules/babel-jest/node_modules/babel-preset-jest": {
3810
+ "version": "26.6.2",
3811
+ "dev": true,
3812
+ "license": "MIT",
3813
+ "dependencies": {
3814
+ "babel-plugin-jest-hoist": "^26.6.2",
3815
+ "babel-preset-current-node-syntax": "^1.0.0"
3816
+ },
3817
+ "engines": {
3818
+ "node": ">= 10.14.2"
3819
+ },
3820
+ "peerDependencies": {
3821
+ "@babel/core": "^7.0.0"
3822
+ }
3823
+ },
3824
+ "node_modules/babel-jest/node_modules/json5": {
3825
+ "version": "2.2.0",
3826
+ "dev": true,
3827
+ "license": "MIT",
3828
+ "peer": true,
3829
+ "dependencies": {
3830
+ "minimist": "^1.2.5"
3831
+ },
3832
+ "bin": {
3833
+ "json5": "lib/cli.js"
3834
+ },
3835
+ "engines": {
3836
+ "node": ">=6"
3837
+ }
3838
+ },
3839
+ "node_modules/babel-jest/node_modules/source-map": {
3840
+ "version": "0.5.7",
3841
+ "dev": true,
3842
+ "license": "BSD-3-Clause",
3843
+ "peer": true,
3844
+ "engines": {
3845
+ "node": ">=0.10.0"
3846
+ }
3847
+ },
3848
+ "node_modules/babel-plugin-dynamic-import-node": {
3849
+ "version": "2.3.3",
3850
+ "dev": true,
3851
+ "license": "MIT",
3852
+ "dependencies": {
3853
+ "object.assign": "^4.1.0"
3854
+ }
3855
+ },
3856
+ "node_modules/babel-plugin-istanbul": {
3857
+ "version": "6.0.0",
3858
+ "dev": true,
3859
+ "license": "BSD-3-Clause",
3860
+ "dependencies": {
3861
+ "@babel/helper-plugin-utils": "^7.0.0",
3862
+ "@istanbuljs/load-nyc-config": "^1.0.0",
3863
+ "@istanbuljs/schema": "^0.1.2",
3864
+ "istanbul-lib-instrument": "^4.0.0",
3865
+ "test-exclude": "^6.0.0"
3866
+ },
3867
+ "engines": {
3868
+ "node": ">=8"
3869
+ }
3870
+ },
3871
+ "node_modules/babel-plugin-jest-hoist": {
3872
+ "version": "26.6.2",
3873
+ "dev": true,
3874
+ "license": "MIT",
3875
+ "dependencies": {
3876
+ "@babel/template": "^7.3.3",
3877
+ "@babel/types": "^7.3.3",
3878
+ "@types/babel__core": "^7.0.0",
3879
+ "@types/babel__traverse": "^7.0.6"
3880
+ },
3881
+ "engines": {
3882
+ "node": ">= 10.14.2"
3883
+ }
3884
+ },
3885
+ "node_modules/babel-plugin-macros": {
3886
+ "version": "2.8.0",
3887
+ "dev": true,
3888
+ "license": "MIT",
3889
+ "dependencies": {
3890
+ "@babel/runtime": "^7.7.2",
3891
+ "cosmiconfig": "^6.0.0",
3892
+ "resolve": "^1.12.0"
3893
+ }
3894
+ },
3895
+ "node_modules/babel-plugin-macros/node_modules/cosmiconfig": {
3896
+ "version": "6.0.0",
3897
+ "dev": true,
3898
+ "license": "MIT",
3899
+ "dependencies": {
3900
+ "@types/parse-json": "^4.0.0",
3901
+ "import-fresh": "^3.1.0",
3902
+ "parse-json": "^5.0.0",
3903
+ "path-type": "^4.0.0",
3904
+ "yaml": "^1.7.2"
3905
+ },
3906
+ "engines": {
3907
+ "node": ">=8"
3908
+ }
3909
+ },
3910
+ "node_modules/babel-plugin-syntax-object-rest-spread": {
3911
+ "version": "6.13.0",
3912
+ "dev": true,
3913
+ "license": "MIT"
3914
+ },
3915
+ "node_modules/babel-plugin-transform-object-rest-spread": {
3916
+ "version": "6.26.0",
3917
+ "dev": true,
3918
+ "license": "MIT",
3919
+ "dependencies": {
3920
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
3921
+ "babel-runtime": "^6.26.0"
3922
+ }
3923
+ },
3924
+ "node_modules/babel-plugin-transform-react-remove-prop-types": {
3925
+ "version": "0.4.24",
3926
+ "dev": true,
3927
+ "license": "MIT"
3928
+ },
3929
+ "node_modules/babel-preset-react-app": {
3930
+ "version": "10.0.0",
3931
+ "dev": true,
3932
+ "license": "MIT",
3933
+ "dependencies": {
3934
+ "@babel/core": "7.12.3",
3935
+ "@babel/plugin-proposal-class-properties": "7.12.1",
3936
+ "@babel/plugin-proposal-decorators": "7.12.1",
3937
+ "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1",
3938
+ "@babel/plugin-proposal-numeric-separator": "7.12.1",
3939
+ "@babel/plugin-proposal-optional-chaining": "7.12.1",
3940
+ "@babel/plugin-transform-flow-strip-types": "7.12.1",
3941
+ "@babel/plugin-transform-react-display-name": "7.12.1",
3942
+ "@babel/plugin-transform-runtime": "7.12.1",
3943
+ "@babel/preset-env": "7.12.1",
3944
+ "@babel/preset-react": "7.12.1",
3945
+ "@babel/preset-typescript": "7.12.1",
3946
+ "@babel/runtime": "7.12.1",
3947
+ "babel-plugin-macros": "2.8.0",
3948
+ "babel-plugin-transform-react-remove-prop-types": "0.4.24"
3949
+ }
3950
+ },
3951
+ "node_modules/babel-preset-react-app/node_modules/@babel/core": {
3952
+ "version": "7.12.3",
3953
+ "dev": true,
3954
+ "license": "MIT",
3955
+ "dependencies": {
3956
+ "@babel/code-frame": "^7.10.4",
3957
+ "@babel/generator": "^7.12.1",
3958
+ "@babel/helper-module-transforms": "^7.12.1",
3959
+ "@babel/helpers": "^7.12.1",
3960
+ "@babel/parser": "^7.12.3",
3961
+ "@babel/template": "^7.10.4",
3962
+ "@babel/traverse": "^7.12.1",
3963
+ "@babel/types": "^7.12.1",
3964
+ "convert-source-map": "^1.7.0",
3965
+ "debug": "^4.1.0",
3966
+ "gensync": "^1.0.0-beta.1",
3967
+ "json5": "^2.1.2",
3968
+ "lodash": "^4.17.19",
3969
+ "resolve": "^1.3.2",
3970
+ "semver": "^5.4.1",
3971
+ "source-map": "^0.5.0"
3972
+ },
3973
+ "engines": {
3974
+ "node": ">=6.9.0"
3975
+ },
3976
+ "funding": {
3977
+ "type": "opencollective",
3978
+ "url": "https://opencollective.com/babel"
3979
+ }
3980
+ },
3981
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-class-properties": {
3982
+ "version": "7.12.1",
3983
+ "dev": true,
3984
+ "license": "MIT",
3985
+ "dependencies": {
3986
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
3987
+ "@babel/helper-plugin-utils": "^7.10.4"
3988
+ },
3989
+ "peerDependencies": {
3990
+ "@babel/core": "^7.0.0-0"
3991
+ }
3992
+ },
3993
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-decorators": {
3994
+ "version": "7.12.1",
3995
+ "dev": true,
3996
+ "license": "MIT",
3997
+ "dependencies": {
3998
+ "@babel/helper-create-class-features-plugin": "^7.12.1",
3999
+ "@babel/helper-plugin-utils": "^7.10.4",
4000
+ "@babel/plugin-syntax-decorators": "^7.12.1"
4001
+ },
4002
+ "peerDependencies": {
4003
+ "@babel/core": "^7.0.0-0"
4004
+ }
4005
+ },
4006
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
4007
+ "version": "7.12.1",
4008
+ "dev": true,
4009
+ "license": "MIT",
4010
+ "dependencies": {
4011
+ "@babel/helper-plugin-utils": "^7.10.4",
4012
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
4013
+ },
4014
+ "peerDependencies": {
4015
+ "@babel/core": "^7.0.0-0"
4016
+ }
4017
+ },
4018
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-numeric-separator": {
4019
+ "version": "7.12.1",
4020
+ "dev": true,
4021
+ "license": "MIT",
4022
+ "dependencies": {
4023
+ "@babel/helper-plugin-utils": "^7.10.4",
4024
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
4025
+ },
4026
+ "peerDependencies": {
4027
+ "@babel/core": "^7.0.0-0"
4028
+ }
4029
+ },
4030
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-optional-chaining": {
4031
+ "version": "7.12.1",
4032
+ "dev": true,
4033
+ "license": "MIT",
4034
+ "dependencies": {
4035
+ "@babel/helper-plugin-utils": "^7.10.4",
4036
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
4037
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
4038
+ },
4039
+ "peerDependencies": {
4040
+ "@babel/core": "^7.0.0-0"
4041
+ }
4042
+ },
4043
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-syntax-decorators": {
4044
+ "version": "7.12.13",
4045
+ "dev": true,
4046
+ "license": "MIT",
4047
+ "dependencies": {
4048
+ "@babel/helper-plugin-utils": "^7.12.13"
4049
+ },
4050
+ "peerDependencies": {
4051
+ "@babel/core": "^7.0.0-0"
4052
+ }
4053
+ },
4054
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-syntax-flow": {
4055
+ "version": "7.12.13",
4056
+ "dev": true,
4057
+ "license": "MIT",
4058
+ "dependencies": {
4059
+ "@babel/helper-plugin-utils": "^7.12.13"
4060
+ },
4061
+ "peerDependencies": {
4062
+ "@babel/core": "^7.0.0-0"
4063
+ }
4064
+ },
4065
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-syntax-typescript": {
4066
+ "version": "7.12.13",
4067
+ "dev": true,
4068
+ "license": "MIT",
4069
+ "dependencies": {
4070
+ "@babel/helper-plugin-utils": "^7.12.13"
4071
+ },
4072
+ "peerDependencies": {
4073
+ "@babel/core": "^7.0.0-0"
4074
+ }
4075
+ },
4076
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-flow-strip-types": {
4077
+ "version": "7.12.1",
4078
+ "dev": true,
4079
+ "license": "MIT",
4080
+ "dependencies": {
4081
+ "@babel/helper-plugin-utils": "^7.10.4",
4082
+ "@babel/plugin-syntax-flow": "^7.12.1"
4083
+ },
4084
+ "peerDependencies": {
4085
+ "@babel/core": "^7.0.0-0"
4086
+ }
4087
+ },
4088
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-display-name": {
4089
+ "version": "7.12.1",
4090
+ "dev": true,
4091
+ "license": "MIT",
4092
+ "dependencies": {
4093
+ "@babel/helper-plugin-utils": "^7.10.4"
4094
+ },
4095
+ "peerDependencies": {
4096
+ "@babel/core": "^7.0.0-0"
4097
+ }
4098
+ },
4099
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-jsx": {
4100
+ "version": "7.12.17",
4101
+ "dev": true,
4102
+ "license": "MIT",
4103
+ "dependencies": {
4104
+ "@babel/helper-annotate-as-pure": "^7.12.13",
4105
+ "@babel/helper-module-imports": "^7.12.13",
4106
+ "@babel/helper-plugin-utils": "^7.12.13",
4107
+ "@babel/plugin-syntax-jsx": "^7.12.13",
4108
+ "@babel/types": "^7.12.17"
4109
+ },
4110
+ "peerDependencies": {
4111
+ "@babel/core": "^7.0.0-0"
4112
+ }
4113
+ },
4114
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-jsx-development": {
4115
+ "version": "7.12.17",
4116
+ "dev": true,
4117
+ "license": "MIT",
4118
+ "dependencies": {
4119
+ "@babel/plugin-transform-react-jsx": "^7.12.17"
4120
+ },
4121
+ "peerDependencies": {
4122
+ "@babel/core": "^7.0.0-0"
4123
+ }
4124
+ },
4125
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-jsx-development/node_modules/@babel/core": {
4126
+ "version": "7.12.17",
4127
+ "dev": true,
4128
+ "license": "MIT",
4129
+ "peer": true,
4130
+ "dependencies": {
4131
+ "@babel/code-frame": "^7.12.13",
4132
+ "@babel/generator": "^7.12.17",
4133
+ "@babel/helper-module-transforms": "^7.12.17",
4134
+ "@babel/helpers": "^7.12.17",
4135
+ "@babel/parser": "^7.12.17",
4136
+ "@babel/template": "^7.12.13",
4137
+ "@babel/traverse": "^7.12.17",
4138
+ "@babel/types": "^7.12.17",
4139
+ "convert-source-map": "^1.7.0",
4140
+ "debug": "^4.1.0",
4141
+ "gensync": "^1.0.0-beta.1",
4142
+ "json5": "^2.1.2",
4143
+ "lodash": "^4.17.19",
4144
+ "semver": "^5.4.1",
4145
+ "source-map": "^0.5.0"
4146
+ },
4147
+ "engines": {
4148
+ "node": ">=6.9.0"
4149
+ },
4150
+ "funding": {
4151
+ "type": "opencollective",
4152
+ "url": "https://opencollective.com/babel"
4153
+ }
4154
+ },
4155
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-jsx-self": {
4156
+ "version": "7.12.13",
4157
+ "dev": true,
4158
+ "license": "MIT",
4159
+ "dependencies": {
4160
+ "@babel/helper-plugin-utils": "^7.12.13"
4161
+ },
4162
+ "peerDependencies": {
4163
+ "@babel/core": "^7.0.0-0"
4164
+ }
4165
+ },
4166
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-jsx-source": {
4167
+ "version": "7.12.13",
4168
+ "dev": true,
4169
+ "license": "MIT",
4170
+ "dependencies": {
4171
+ "@babel/helper-plugin-utils": "^7.12.13"
4172
+ },
4173
+ "peerDependencies": {
4174
+ "@babel/core": "^7.0.0-0"
4175
+ }
4176
+ },
4177
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/core": {
4178
+ "version": "7.12.17",
4179
+ "dev": true,
4180
+ "license": "MIT",
4181
+ "peer": true,
4182
+ "dependencies": {
4183
+ "@babel/code-frame": "^7.12.13",
4184
+ "@babel/generator": "^7.12.17",
4185
+ "@babel/helper-module-transforms": "^7.12.17",
4186
+ "@babel/helpers": "^7.12.17",
4187
+ "@babel/parser": "^7.12.17",
4188
+ "@babel/template": "^7.12.13",
4189
+ "@babel/traverse": "^7.12.17",
4190
+ "@babel/types": "^7.12.17",
4191
+ "convert-source-map": "^1.7.0",
4192
+ "debug": "^4.1.0",
4193
+ "gensync": "^1.0.0-beta.1",
4194
+ "json5": "^2.1.2",
4195
+ "lodash": "^4.17.19",
4196
+ "semver": "^5.4.1",
4197
+ "source-map": "^0.5.0"
4198
+ },
4199
+ "engines": {
4200
+ "node": ">=6.9.0"
4201
+ },
4202
+ "funding": {
4203
+ "type": "opencollective",
4204
+ "url": "https://opencollective.com/babel"
4205
+ }
4206
+ },
4207
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/plugin-syntax-jsx": {
4208
+ "version": "7.12.13",
4209
+ "dev": true,
4210
+ "license": "MIT",
4211
+ "dependencies": {
4212
+ "@babel/helper-plugin-utils": "^7.12.13"
4213
+ },
4214
+ "peerDependencies": {
4215
+ "@babel/core": "^7.0.0-0"
4216
+ }
4217
+ },
4218
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-pure-annotations": {
4219
+ "version": "7.12.1",
4220
+ "dev": true,
4221
+ "license": "MIT",
4222
+ "dependencies": {
4223
+ "@babel/helper-annotate-as-pure": "^7.10.4",
4224
+ "@babel/helper-plugin-utils": "^7.10.4"
4225
+ },
4226
+ "peerDependencies": {
4227
+ "@babel/core": "^7.0.0-0"
4228
+ }
4229
+ },
4230
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-pure-annotations/node_modules/@babel/core": {
4231
+ "version": "7.12.17",
4232
+ "dev": true,
4233
+ "license": "MIT",
4234
+ "peer": true,
4235
+ "dependencies": {
4236
+ "@babel/code-frame": "^7.12.13",
4237
+ "@babel/generator": "^7.12.17",
4238
+ "@babel/helper-module-transforms": "^7.12.17",
4239
+ "@babel/helpers": "^7.12.17",
4240
+ "@babel/parser": "^7.12.17",
4241
+ "@babel/template": "^7.12.13",
4242
+ "@babel/traverse": "^7.12.17",
4243
+ "@babel/types": "^7.12.17",
4244
+ "convert-source-map": "^1.7.0",
4245
+ "debug": "^4.1.0",
4246
+ "gensync": "^1.0.0-beta.1",
4247
+ "json5": "^2.1.2",
4248
+ "lodash": "^4.17.19",
4249
+ "semver": "^5.4.1",
4250
+ "source-map": "^0.5.0"
4251
+ },
4252
+ "engines": {
4253
+ "node": ">=6.9.0"
4254
+ },
4255
+ "funding": {
4256
+ "type": "opencollective",
4257
+ "url": "https://opencollective.com/babel"
4258
+ }
4259
+ },
4260
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-runtime": {
4261
+ "version": "7.12.1",
4262
+ "dev": true,
4263
+ "license": "MIT",
4264
+ "dependencies": {
4265
+ "@babel/helper-module-imports": "^7.12.1",
4266
+ "@babel/helper-plugin-utils": "^7.10.4",
4267
+ "resolve": "^1.8.1",
4268
+ "semver": "^5.5.1"
4269
+ },
4270
+ "peerDependencies": {
4271
+ "@babel/core": "^7.0.0-0"
4272
+ }
4273
+ },
4274
+ "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-typescript": {
4275
+ "version": "7.12.17",
4276
+ "dev": true,
4277
+ "license": "MIT",
4278
+ "dependencies": {
4279
+ "@babel/helper-create-class-features-plugin": "^7.12.17",
4280
+ "@babel/helper-plugin-utils": "^7.12.13",
4281
+ "@babel/plugin-syntax-typescript": "^7.12.13"
4282
+ },
4283
+ "peerDependencies": {
4284
+ "@babel/core": "^7.0.0-0"
4285
+ }
4286
+ },
4287
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env": {
4288
+ "version": "7.12.1",
4289
+ "dev": true,
4290
+ "license": "MIT",
4291
+ "dependencies": {
4292
+ "@babel/compat-data": "^7.12.1",
4293
+ "@babel/helper-compilation-targets": "^7.12.1",
4294
+ "@babel/helper-module-imports": "^7.12.1",
4295
+ "@babel/helper-plugin-utils": "^7.10.4",
4296
+ "@babel/helper-validator-option": "^7.12.1",
4297
+ "@babel/plugin-proposal-async-generator-functions": "^7.12.1",
4298
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
4299
+ "@babel/plugin-proposal-dynamic-import": "^7.12.1",
4300
+ "@babel/plugin-proposal-export-namespace-from": "^7.12.1",
4301
+ "@babel/plugin-proposal-json-strings": "^7.12.1",
4302
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
4303
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
4304
+ "@babel/plugin-proposal-numeric-separator": "^7.12.1",
4305
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
4306
+ "@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
4307
+ "@babel/plugin-proposal-optional-chaining": "^7.12.1",
4308
+ "@babel/plugin-proposal-private-methods": "^7.12.1",
4309
+ "@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
4310
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
4311
+ "@babel/plugin-syntax-class-properties": "^7.12.1",
4312
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
4313
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
4314
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
4315
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
4316
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
4317
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
4318
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
4319
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
4320
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
4321
+ "@babel/plugin-syntax-top-level-await": "^7.12.1",
4322
+ "@babel/plugin-transform-arrow-functions": "^7.12.1",
4323
+ "@babel/plugin-transform-async-to-generator": "^7.12.1",
4324
+ "@babel/plugin-transform-block-scoped-functions": "^7.12.1",
4325
+ "@babel/plugin-transform-block-scoping": "^7.12.1",
4326
+ "@babel/plugin-transform-classes": "^7.12.1",
4327
+ "@babel/plugin-transform-computed-properties": "^7.12.1",
4328
+ "@babel/plugin-transform-destructuring": "^7.12.1",
4329
+ "@babel/plugin-transform-dotall-regex": "^7.12.1",
4330
+ "@babel/plugin-transform-duplicate-keys": "^7.12.1",
4331
+ "@babel/plugin-transform-exponentiation-operator": "^7.12.1",
4332
+ "@babel/plugin-transform-for-of": "^7.12.1",
4333
+ "@babel/plugin-transform-function-name": "^7.12.1",
4334
+ "@babel/plugin-transform-literals": "^7.12.1",
4335
+ "@babel/plugin-transform-member-expression-literals": "^7.12.1",
4336
+ "@babel/plugin-transform-modules-amd": "^7.12.1",
4337
+ "@babel/plugin-transform-modules-commonjs": "^7.12.1",
4338
+ "@babel/plugin-transform-modules-systemjs": "^7.12.1",
4339
+ "@babel/plugin-transform-modules-umd": "^7.12.1",
4340
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1",
4341
+ "@babel/plugin-transform-new-target": "^7.12.1",
4342
+ "@babel/plugin-transform-object-super": "^7.12.1",
4343
+ "@babel/plugin-transform-parameters": "^7.12.1",
4344
+ "@babel/plugin-transform-property-literals": "^7.12.1",
4345
+ "@babel/plugin-transform-regenerator": "^7.12.1",
4346
+ "@babel/plugin-transform-reserved-words": "^7.12.1",
4347
+ "@babel/plugin-transform-shorthand-properties": "^7.12.1",
4348
+ "@babel/plugin-transform-spread": "^7.12.1",
4349
+ "@babel/plugin-transform-sticky-regex": "^7.12.1",
4350
+ "@babel/plugin-transform-template-literals": "^7.12.1",
4351
+ "@babel/plugin-transform-typeof-symbol": "^7.12.1",
4352
+ "@babel/plugin-transform-unicode-escapes": "^7.12.1",
4353
+ "@babel/plugin-transform-unicode-regex": "^7.12.1",
4354
+ "@babel/preset-modules": "^0.1.3",
4355
+ "@babel/types": "^7.12.1",
4356
+ "core-js-compat": "^3.6.2",
4357
+ "semver": "^5.5.0"
4358
+ },
4359
+ "peerDependencies": {
4360
+ "@babel/core": "^7.0.0-0"
4361
+ }
4362
+ },
4363
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-class-properties": {
4364
+ "version": "7.12.13",
4365
+ "dev": true,
4366
+ "license": "MIT",
4367
+ "dependencies": {
4368
+ "@babel/helper-create-class-features-plugin": "^7.12.13",
4369
+ "@babel/helper-plugin-utils": "^7.12.13"
4370
+ },
4371
+ "peerDependencies": {
4372
+ "@babel/core": "^7.0.0-0"
4373
+ }
4374
+ },
4375
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-class-properties/node_modules/@babel/core": {
4376
+ "version": "7.12.17",
4377
+ "dev": true,
4378
+ "license": "MIT",
4379
+ "peer": true,
4380
+ "dependencies": {
4381
+ "@babel/code-frame": "^7.12.13",
4382
+ "@babel/generator": "^7.12.17",
4383
+ "@babel/helper-module-transforms": "^7.12.17",
4384
+ "@babel/helpers": "^7.12.17",
4385
+ "@babel/parser": "^7.12.17",
4386
+ "@babel/template": "^7.12.13",
4387
+ "@babel/traverse": "^7.12.17",
4388
+ "@babel/types": "^7.12.17",
4389
+ "convert-source-map": "^1.7.0",
4390
+ "debug": "^4.1.0",
4391
+ "gensync": "^1.0.0-beta.1",
4392
+ "json5": "^2.1.2",
4393
+ "lodash": "^4.17.19",
4394
+ "semver": "^5.4.1",
4395
+ "source-map": "^0.5.0"
4396
+ },
4397
+ "engines": {
4398
+ "node": ">=6.9.0"
4399
+ },
4400
+ "funding": {
4401
+ "type": "opencollective",
4402
+ "url": "https://opencollective.com/babel"
4403
+ }
4404
+ },
4405
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
4406
+ "version": "7.12.13",
4407
+ "dev": true,
4408
+ "license": "MIT",
4409
+ "dependencies": {
4410
+ "@babel/helper-plugin-utils": "^7.12.13",
4411
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
4412
+ },
4413
+ "peerDependencies": {
4414
+ "@babel/core": "^7.0.0-0"
4415
+ }
4416
+ },
4417
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/node_modules/@babel/core": {
4418
+ "version": "7.12.17",
4419
+ "dev": true,
4420
+ "license": "MIT",
4421
+ "peer": true,
4422
+ "dependencies": {
4423
+ "@babel/code-frame": "^7.12.13",
4424
+ "@babel/generator": "^7.12.17",
4425
+ "@babel/helper-module-transforms": "^7.12.17",
4426
+ "@babel/helpers": "^7.12.17",
4427
+ "@babel/parser": "^7.12.17",
4428
+ "@babel/template": "^7.12.13",
4429
+ "@babel/traverse": "^7.12.17",
4430
+ "@babel/types": "^7.12.17",
4431
+ "convert-source-map": "^1.7.0",
4432
+ "debug": "^4.1.0",
4433
+ "gensync": "^1.0.0-beta.1",
4434
+ "json5": "^2.1.2",
4435
+ "lodash": "^4.17.19",
4436
+ "semver": "^5.4.1",
4437
+ "source-map": "^0.5.0"
4438
+ },
4439
+ "engines": {
4440
+ "node": ">=6.9.0"
4441
+ },
4442
+ "funding": {
4443
+ "type": "opencollective",
4444
+ "url": "https://opencollective.com/babel"
4445
+ }
4446
+ },
4447
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-numeric-separator": {
4448
+ "version": "7.12.13",
4449
+ "dev": true,
4450
+ "license": "MIT",
4451
+ "dependencies": {
4452
+ "@babel/helper-plugin-utils": "^7.12.13",
4453
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
4454
+ },
4455
+ "peerDependencies": {
4456
+ "@babel/core": "^7.0.0-0"
4457
+ }
4458
+ },
4459
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-numeric-separator/node_modules/@babel/core": {
4460
+ "version": "7.12.17",
4461
+ "dev": true,
4462
+ "license": "MIT",
4463
+ "peer": true,
4464
+ "dependencies": {
4465
+ "@babel/code-frame": "^7.12.13",
4466
+ "@babel/generator": "^7.12.17",
4467
+ "@babel/helper-module-transforms": "^7.12.17",
4468
+ "@babel/helpers": "^7.12.17",
4469
+ "@babel/parser": "^7.12.17",
4470
+ "@babel/template": "^7.12.13",
4471
+ "@babel/traverse": "^7.12.17",
4472
+ "@babel/types": "^7.12.17",
4473
+ "convert-source-map": "^1.7.0",
4474
+ "debug": "^4.1.0",
4475
+ "gensync": "^1.0.0-beta.1",
4476
+ "json5": "^2.1.2",
4477
+ "lodash": "^4.17.19",
4478
+ "semver": "^5.4.1",
4479
+ "source-map": "^0.5.0"
4480
+ },
4481
+ "engines": {
4482
+ "node": ">=6.9.0"
4483
+ },
4484
+ "funding": {
4485
+ "type": "opencollective",
4486
+ "url": "https://opencollective.com/babel"
4487
+ }
4488
+ },
4489
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-optional-chaining": {
4490
+ "version": "7.12.17",
4491
+ "dev": true,
4492
+ "license": "MIT",
4493
+ "dependencies": {
4494
+ "@babel/helper-plugin-utils": "^7.12.13",
4495
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
4496
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
4497
+ },
4498
+ "peerDependencies": {
4499
+ "@babel/core": "^7.0.0-0"
4500
+ }
4501
+ },
4502
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-optional-chaining/node_modules/@babel/core": {
4503
+ "version": "7.12.17",
4504
+ "dev": true,
4505
+ "license": "MIT",
4506
+ "peer": true,
4507
+ "dependencies": {
4508
+ "@babel/code-frame": "^7.12.13",
4509
+ "@babel/generator": "^7.12.17",
4510
+ "@babel/helper-module-transforms": "^7.12.17",
4511
+ "@babel/helpers": "^7.12.17",
4512
+ "@babel/parser": "^7.12.17",
4513
+ "@babel/template": "^7.12.13",
4514
+ "@babel/traverse": "^7.12.17",
4515
+ "@babel/types": "^7.12.17",
4516
+ "convert-source-map": "^1.7.0",
4517
+ "debug": "^4.1.0",
4518
+ "gensync": "^1.0.0-beta.1",
4519
+ "json5": "^2.1.2",
4520
+ "lodash": "^4.17.19",
4521
+ "semver": "^5.4.1",
4522
+ "source-map": "^0.5.0"
4523
+ },
4524
+ "engines": {
4525
+ "node": ">=6.9.0"
4526
+ },
4527
+ "funding": {
4528
+ "type": "opencollective",
4529
+ "url": "https://opencollective.com/babel"
4530
+ }
4531
+ },
4532
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-react": {
4533
+ "version": "7.12.1",
4534
+ "dev": true,
4535
+ "license": "MIT",
4536
+ "dependencies": {
4537
+ "@babel/helper-plugin-utils": "^7.10.4",
4538
+ "@babel/plugin-transform-react-display-name": "^7.12.1",
4539
+ "@babel/plugin-transform-react-jsx": "^7.12.1",
4540
+ "@babel/plugin-transform-react-jsx-development": "^7.12.1",
4541
+ "@babel/plugin-transform-react-jsx-self": "^7.12.1",
4542
+ "@babel/plugin-transform-react-jsx-source": "^7.12.1",
4543
+ "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
4544
+ },
4545
+ "peerDependencies": {
4546
+ "@babel/core": "^7.0.0-0"
4547
+ }
4548
+ },
4549
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-display-name": {
4550
+ "version": "7.12.13",
4551
+ "dev": true,
4552
+ "license": "MIT",
4553
+ "dependencies": {
4554
+ "@babel/helper-plugin-utils": "^7.12.13"
4555
+ },
4556
+ "peerDependencies": {
4557
+ "@babel/core": "^7.0.0-0"
4558
+ }
4559
+ },
4560
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-display-name/node_modules/@babel/core": {
4561
+ "version": "7.12.17",
4562
+ "dev": true,
4563
+ "license": "MIT",
4564
+ "peer": true,
4565
+ "dependencies": {
4566
+ "@babel/code-frame": "^7.12.13",
4567
+ "@babel/generator": "^7.12.17",
4568
+ "@babel/helper-module-transforms": "^7.12.17",
4569
+ "@babel/helpers": "^7.12.17",
4570
+ "@babel/parser": "^7.12.17",
4571
+ "@babel/template": "^7.12.13",
4572
+ "@babel/traverse": "^7.12.17",
4573
+ "@babel/types": "^7.12.17",
4574
+ "convert-source-map": "^1.7.0",
4575
+ "debug": "^4.1.0",
4576
+ "gensync": "^1.0.0-beta.1",
4577
+ "json5": "^2.1.2",
4578
+ "lodash": "^4.17.19",
4579
+ "semver": "^5.4.1",
4580
+ "source-map": "^0.5.0"
4581
+ },
4582
+ "engines": {
4583
+ "node": ">=6.9.0"
4584
+ },
4585
+ "funding": {
4586
+ "type": "opencollective",
4587
+ "url": "https://opencollective.com/babel"
4588
+ }
4589
+ },
4590
+ "node_modules/babel-preset-react-app/node_modules/@babel/preset-typescript": {
4591
+ "version": "7.12.1",
4592
+ "dev": true,
4593
+ "license": "MIT",
4594
+ "dependencies": {
4595
+ "@babel/helper-plugin-utils": "^7.10.4",
4596
+ "@babel/plugin-transform-typescript": "^7.12.1"
4597
+ },
4598
+ "peerDependencies": {
4599
+ "@babel/core": "^7.0.0-0"
4600
+ }
4601
+ },
4602
+ "node_modules/babel-preset-react-app/node_modules/@babel/runtime": {
4603
+ "version": "7.12.1",
4604
+ "dev": true,
4605
+ "license": "MIT",
4606
+ "dependencies": {
4607
+ "regenerator-runtime": "^0.13.4"
4608
+ }
4609
+ },
4610
+ "node_modules/babel-preset-react-app/node_modules/json5": {
4611
+ "version": "2.2.0",
4612
+ "dev": true,
4613
+ "license": "MIT",
4614
+ "dependencies": {
4615
+ "minimist": "^1.2.5"
4616
+ },
4617
+ "bin": {
4618
+ "json5": "lib/cli.js"
4619
+ },
4620
+ "engines": {
4621
+ "node": ">=6"
4622
+ }
4623
+ },
4624
+ "node_modules/babel-preset-react-app/node_modules/source-map": {
4625
+ "version": "0.5.7",
4626
+ "dev": true,
4627
+ "license": "BSD-3-Clause",
4628
+ "engines": {
4629
+ "node": ">=0.10.0"
4630
+ }
4631
+ },
4632
+ "node_modules/babel-runtime": {
4633
+ "version": "6.26.0",
4634
+ "dev": true,
4635
+ "license": "MIT",
4636
+ "dependencies": {
4637
+ "core-js": "^2.4.0",
4638
+ "regenerator-runtime": "^0.11.0"
4639
+ }
4640
+ },
4641
+ "node_modules/babel-runtime/node_modules/core-js": {
4642
+ "version": "2.6.12",
4643
+ "dev": true,
4644
+ "hasInstallScript": true,
4645
+ "license": "MIT"
4646
+ },
4647
+ "node_modules/babel-runtime/node_modules/regenerator-runtime": {
4648
+ "version": "0.11.1",
4649
+ "dev": true,
4650
+ "license": "MIT"
4651
+ },
4652
+ "node_modules/babylon": {
4653
+ "version": "6.18.0",
4654
+ "dev": true,
4655
+ "license": "MIT",
4656
+ "bin": {
4657
+ "babylon": "bin/babylon.js"
4658
+ }
4659
+ },
4660
+ "node_modules/balanced-match": {
4661
+ "version": "1.0.0",
4662
+ "dev": true,
4663
+ "license": "MIT"
4664
+ },
4665
+ "node_modules/base": {
4666
+ "version": "0.11.2",
4667
+ "dev": true,
4668
+ "license": "MIT",
4669
+ "dependencies": {
4670
+ "cache-base": "^1.0.1",
4671
+ "class-utils": "^0.3.5",
4672
+ "component-emitter": "^1.2.1",
4673
+ "define-property": "^1.0.0",
4674
+ "isobject": "^3.0.1",
4675
+ "mixin-deep": "^1.2.0",
4676
+ "pascalcase": "^0.1.1"
4677
+ },
4678
+ "engines": {
4679
+ "node": ">=0.10.0"
4680
+ }
4681
+ },
4682
+ "node_modules/base/node_modules/define-property": {
4683
+ "version": "1.0.0",
4684
+ "dev": true,
4685
+ "license": "MIT",
4686
+ "dependencies": {
4687
+ "is-descriptor": "^1.0.0"
4688
+ },
4689
+ "engines": {
4690
+ "node": ">=0.10.0"
4691
+ }
4692
+ },
4693
+ "node_modules/base64-js": {
4694
+ "version": "1.5.1",
4695
+ "dev": true,
4696
+ "funding": [
4697
+ {
4698
+ "type": "github",
4699
+ "url": "https://github.com/sponsors/feross"
4700
+ },
4701
+ {
4702
+ "type": "patreon",
4703
+ "url": "https://www.patreon.com/feross"
4704
+ },
4705
+ {
4706
+ "type": "consulting",
4707
+ "url": "https://feross.org/support"
4708
+ }
4709
+ ],
4710
+ "license": "MIT"
4711
+ },
4712
+ "node_modules/batch": {
4713
+ "version": "0.6.1",
4714
+ "dev": true,
4715
+ "license": "MIT"
4716
+ },
4717
+ "node_modules/bcrypt-pbkdf": {
4718
+ "version": "1.0.2",
4719
+ "dev": true,
4720
+ "license": "BSD-3-Clause",
4721
+ "dependencies": {
4722
+ "tweetnacl": "^0.14.3"
4723
+ }
4724
+ },
4725
+ "node_modules/bfj": {
4726
+ "version": "7.0.2",
4727
+ "dev": true,
4728
+ "license": "MIT",
4729
+ "dependencies": {
4730
+ "bluebird": "^3.5.5",
4731
+ "check-types": "^11.1.1",
4732
+ "hoopy": "^0.1.4",
4733
+ "tryer": "^1.0.1"
4734
+ },
4735
+ "engines": {
4736
+ "node": ">= 8.0.0"
4737
+ }
4738
+ },
4739
+ "node_modules/big.js": {
4740
+ "version": "5.2.2",
4741
+ "dev": true,
4742
+ "license": "MIT",
4743
+ "engines": {
4744
+ "node": "*"
4745
+ }
4746
+ },
4747
+ "node_modules/binary-extensions": {
4748
+ "version": "1.13.1",
4749
+ "dev": true,
4750
+ "license": "MIT",
4751
+ "engines": {
4752
+ "node": ">=0.10.0"
4753
+ }
4754
+ },
4755
+ "node_modules/bluebird": {
4756
+ "version": "3.7.2",
4757
+ "dev": true,
4758
+ "license": "MIT"
4759
+ },
4760
+ "node_modules/bn.js": {
4761
+ "version": "4.11.9",
4762
+ "dev": true,
4763
+ "license": "MIT"
4764
+ },
4765
+ "node_modules/body-parser": {
4766
+ "version": "1.19.0",
4767
+ "dev": true,
4768
+ "license": "MIT",
4769
+ "dependencies": {
4770
+ "bytes": "3.1.0",
4771
+ "content-type": "~1.0.4",
4772
+ "debug": "2.6.9",
4773
+ "depd": "~1.1.2",
4774
+ "http-errors": "1.7.2",
4775
+ "iconv-lite": "0.4.24",
4776
+ "on-finished": "~2.3.0",
4777
+ "qs": "6.7.0",
4778
+ "raw-body": "2.4.0",
4779
+ "type-is": "~1.6.17"
4780
+ },
4781
+ "engines": {
4782
+ "node": ">= 0.8"
4783
+ }
4784
+ },
4785
+ "node_modules/body-parser/node_modules/debug": {
4786
+ "version": "2.6.9",
4787
+ "dev": true,
4788
+ "license": "MIT",
4789
+ "dependencies": {
4790
+ "ms": "2.0.0"
4791
+ }
4792
+ },
4793
+ "node_modules/body-parser/node_modules/ms": {
4794
+ "version": "2.0.0",
4795
+ "dev": true,
4796
+ "license": "MIT"
4797
+ },
4798
+ "node_modules/bonjour": {
4799
+ "version": "3.5.0",
4800
+ "dev": true,
4801
+ "license": "MIT",
4802
+ "dependencies": {
4803
+ "array-flatten": "^2.1.0",
4804
+ "deep-equal": "^1.0.1",
4805
+ "dns-equal": "^1.0.0",
4806
+ "dns-txt": "^2.0.2",
4807
+ "multicast-dns": "^6.0.1",
4808
+ "multicast-dns-service-types": "^1.1.0"
4809
+ }
4810
+ },
4811
+ "node_modules/bonjour/node_modules/array-flatten": {
4812
+ "version": "2.1.2",
4813
+ "dev": true,
4814
+ "license": "MIT"
4815
+ },
4816
+ "node_modules/boolbase": {
4817
+ "version": "1.0.0",
4818
+ "dev": true,
4819
+ "license": "ISC"
4820
+ },
4821
+ "node_modules/brace-expansion": {
4822
+ "version": "1.1.11",
4823
+ "dev": true,
4824
+ "license": "MIT",
4825
+ "dependencies": {
4826
+ "balanced-match": "^1.0.0",
4827
+ "concat-map": "0.0.1"
4828
+ }
4829
+ },
4830
+ "node_modules/braces": {
4831
+ "version": "2.3.2",
4832
+ "dev": true,
4833
+ "license": "MIT",
4834
+ "dependencies": {
4835
+ "arr-flatten": "^1.1.0",
4836
+ "array-unique": "^0.3.2",
4837
+ "extend-shallow": "^2.0.1",
4838
+ "fill-range": "^4.0.0",
4839
+ "isobject": "^3.0.1",
4840
+ "repeat-element": "^1.1.2",
4841
+ "snapdragon": "^0.8.1",
4842
+ "snapdragon-node": "^2.0.1",
4843
+ "split-string": "^3.0.2",
4844
+ "to-regex": "^3.0.1"
4845
+ },
4846
+ "engines": {
4847
+ "node": ">=0.10.0"
4848
+ }
4849
+ },
4850
+ "node_modules/brorand": {
4851
+ "version": "1.1.0",
4852
+ "dev": true,
4853
+ "license": "MIT"
4854
+ },
4855
+ "node_modules/browser-process-hrtime": {
4856
+ "version": "1.0.0",
4857
+ "dev": true,
4858
+ "license": "BSD-2-Clause"
4859
+ },
4860
+ "node_modules/browserify-aes": {
4861
+ "version": "1.2.0",
4862
+ "dev": true,
4863
+ "license": "MIT",
4864
+ "dependencies": {
4865
+ "buffer-xor": "^1.0.3",
4866
+ "cipher-base": "^1.0.0",
4867
+ "create-hash": "^1.1.0",
4868
+ "evp_bytestokey": "^1.0.3",
4869
+ "inherits": "^2.0.1",
4870
+ "safe-buffer": "^5.0.1"
4871
+ }
4872
+ },
4873
+ "node_modules/browserify-cipher": {
4874
+ "version": "1.0.1",
4875
+ "dev": true,
4876
+ "license": "MIT",
4877
+ "dependencies": {
4878
+ "browserify-aes": "^1.0.4",
4879
+ "browserify-des": "^1.0.0",
4880
+ "evp_bytestokey": "^1.0.0"
4881
+ }
4882
+ },
4883
+ "node_modules/browserify-des": {
4884
+ "version": "1.0.2",
4885
+ "dev": true,
4886
+ "license": "MIT",
4887
+ "dependencies": {
4888
+ "cipher-base": "^1.0.1",
4889
+ "des.js": "^1.0.0",
4890
+ "inherits": "^2.0.1",
4891
+ "safe-buffer": "^5.1.2"
4892
+ }
4893
+ },
4894
+ "node_modules/browserify-rsa": {
4895
+ "version": "4.1.0",
4896
+ "dev": true,
4897
+ "license": "MIT",
4898
+ "dependencies": {
4899
+ "bn.js": "^5.0.0",
4900
+ "randombytes": "^2.0.1"
4901
+ }
4902
+ },
4903
+ "node_modules/browserify-rsa/node_modules/bn.js": {
4904
+ "version": "5.1.3",
4905
+ "dev": true,
4906
+ "license": "MIT"
4907
+ },
4908
+ "node_modules/browserify-sign": {
4909
+ "version": "4.2.1",
4910
+ "dev": true,
4911
+ "license": "ISC",
4912
+ "dependencies": {
4913
+ "bn.js": "^5.1.1",
4914
+ "browserify-rsa": "^4.0.1",
4915
+ "create-hash": "^1.2.0",
4916
+ "create-hmac": "^1.1.7",
4917
+ "elliptic": "^6.5.3",
4918
+ "inherits": "^2.0.4",
4919
+ "parse-asn1": "^5.1.5",
4920
+ "readable-stream": "^3.6.0",
4921
+ "safe-buffer": "^5.2.0"
4922
+ }
4923
+ },
4924
+ "node_modules/browserify-sign/node_modules/bn.js": {
4925
+ "version": "5.1.3",
4926
+ "dev": true,
4927
+ "license": "MIT"
4928
+ },
4929
+ "node_modules/browserify-sign/node_modules/readable-stream": {
4930
+ "version": "3.6.0",
4931
+ "dev": true,
4932
+ "license": "MIT",
4933
+ "dependencies": {
4934
+ "inherits": "^2.0.3",
4935
+ "string_decoder": "^1.1.1",
4936
+ "util-deprecate": "^1.0.1"
4937
+ },
4938
+ "engines": {
4939
+ "node": ">= 6"
4940
+ }
4941
+ },
4942
+ "node_modules/browserify-zlib": {
4943
+ "version": "0.2.0",
4944
+ "dev": true,
4945
+ "license": "MIT",
4946
+ "dependencies": {
4947
+ "pako": "~1.0.5"
4948
+ }
4949
+ },
4950
+ "node_modules/browserslist": {
4951
+ "version": "4.16.3",
4952
+ "dev": true,
4953
+ "license": "MIT",
4954
+ "dependencies": {
4955
+ "caniuse-lite": "^1.0.30001181",
4956
+ "colorette": "^1.2.1",
4957
+ "electron-to-chromium": "^1.3.649",
4958
+ "escalade": "^3.1.1",
4959
+ "node-releases": "^1.1.70"
4960
+ },
4961
+ "bin": {
4962
+ "browserslist": "cli.js"
4963
+ },
4964
+ "engines": {
4965
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
4966
+ },
4967
+ "funding": {
4968
+ "type": "opencollective",
4969
+ "url": "https://opencollective.com/browserslist"
4970
+ }
4971
+ },
4972
+ "node_modules/bser": {
4973
+ "version": "2.1.1",
4974
+ "dev": true,
4975
+ "license": "Apache-2.0",
4976
+ "dependencies": {
4977
+ "node-int64": "^0.4.0"
4978
+ }
4979
+ },
4980
+ "node_modules/buffer": {
4981
+ "version": "4.9.2",
4982
+ "dev": true,
4983
+ "license": "MIT",
4984
+ "dependencies": {
4985
+ "base64-js": "^1.0.2",
4986
+ "ieee754": "^1.1.4",
4987
+ "isarray": "^1.0.0"
4988
+ }
4989
+ },
4990
+ "node_modules/buffer-from": {
4991
+ "version": "1.1.1",
4992
+ "dev": true,
4993
+ "license": "MIT"
4994
+ },
4995
+ "node_modules/buffer-indexof": {
4996
+ "version": "1.1.1",
4997
+ "dev": true,
4998
+ "license": "MIT"
4999
+ },
This file is too large to show in full.
frontend/package.json
new
+48
@@ -0,0 +1,48 @@
1
+{
2
+ "name": "frontend",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "proxy": "http://localhost",
6
+ "dependencies": {
7
+ "react": "^17.0.2",
8
+ "react-dom": "^17.0.2",
9
+ "react-router-dom": "^6.1.1",
10
+ "web-vitals": "^1.0.1"
11
+ },
12
+ "devDependencies": {
13
+ "@testing-library/jest-dom": "^5.11.4",
14
+ "@testing-library/react": "^11.1.0",
15
+ "@testing-library/user-event": "^12.1.10",
16
+ "@types/jest": "^26.0.15",
17
+ "@types/node": "^12.0.0",
18
+ "@types/react": "^17.0.0",
19
+ "@types/react-dom": "^17.0.0",
20
+ "react-scripts": "4.0.3",
21
+ "typescript": "^4.1.2"
22
+ },
23
+ "scripts": {
24
+ "start": "react-scripts start",
25
+ "build": "react-scripts build",
26
+ "test": "react-scripts test",
27
+ "test-dep": "npm audit --production",
28
+ "eject": "react-scripts eject"
29
+ },
30
+ "eslintConfig": {
31
+ "extends": [
32
+ "react-app",
33
+ "react-app/jest"
34
+ ]
35
+ },
36
+ "browserslist": {
37
+ "production": [
38
+ ">0.2%",
39
+ "not dead",
40
+ "not op_mini all"
41
+ ],
42
+ "development": [
43
+ "last 1 chrome version",
44
+ "last 1 firefox version",
45
+ "last 1 safari version"
46
+ ]
47
+ }
48
+}
frontend/public/favicon.ico
Binary files /dev/null and b/frontend/public/favicon.ico differ
frontend/public/index.html
new
+43
@@ -0,0 +1,43 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <meta name="theme-color" content="#000000" />
8
+ <meta
9
+ name="description"
10
+ content="Web site created using create-react-app"
11
+ />
12
+ <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
13
+ <!--
14
+ manifest.json provides metadata used when your web app is installed on a
15
+ user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
16
+ -->
17
+ <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
18
+ <!--
19
+ Notice the use of %PUBLIC_URL% in the tags above.
20
+ It will be replaced with the URL of the `public` folder during the build.
21
+ Only files inside the `public` folder can be referenced from the HTML.
22
+
23
+ Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
24
+ work correctly both with client-side routing and a non-root public URL.
25
+ Learn how to configure a non-root public URL by running `npm run build`.
26
+ -->
27
+ <title>File Server</title>
28
+ </head>
29
+ <body>
30
+ <noscript>You need to enable JavaScript to run this app.</noscript>
31
+ <div id="root"></div>
32
+ <!--
33
+ This HTML file is a template.
34
+ If you open it directly in the browser, you will see an empty page.
35
+
36
+ You can add webfonts, meta tags, or analytics to this file.
37
+ The build step will place the bundled scripts into the <body> tag.
38
+
39
+ To begin the development, run `npm start` or `yarn start`.
40
+ To create a production bundle, use `npm run build` or `yarn build`.
41
+ -->
42
+ </body>
43
+</html>
frontend/public/logo192.png
Binary files /dev/null and b/frontend/public/logo192.png differ
frontend/public/logo512.png
Binary files /dev/null and b/frontend/public/logo512.png differ
frontend/public/manifest.json
new
+25
@@ -0,0 +1,25 @@
1
+{
2
+ "short_name": "React App",
3
+ "name": "Create React App Sample",
4
+ "icons": [
5
+ {
6
+ "src": "favicon.ico",
7
+ "sizes": "64x64 32x32 24x24 16x16",
8
+ "type": "image/x-icon"
9
+ },
10
+ {
11
+ "src": "logo192.png",
12
+ "type": "image/png",
13
+ "sizes": "192x192"
14
+ },
15
+ {
16
+ "src": "logo512.png",
17
+ "type": "image/png",
18
+ "sizes": "512x512"
19
+ }
20
+ ],
21
+ "start_url": ".",
22
+ "display": "standalone",
23
+ "theme_color": "#000000",
24
+ "background_color": "#ffffff"
25
+}
frontend/public/robots.txt
new
+3
@@ -0,0 +1,3 @@
1
+# https://www.robotstxt.org/robotstxt.html
2
+User-agent: *
3
+Disallow:
frontend/src/App.css
new
+38
@@ -0,0 +1,38 @@
1
+.App {
2
+ text-align: center;
3
+}
4
+
5
+.App-logo {
6
+ height: 40vmin;
7
+ pointer-events: none;
8
+}
9
+
10
+@media (prefers-reduced-motion: no-preference) {
11
+ .App-logo {
12
+ animation: App-logo-spin infinite 20s linear;
13
+ }
14
+}
15
+
16
+.App-header {
17
+ background-color: #282c34;
18
+ min-height: 100vh;
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-items: center;
22
+ justify-content: center;
23
+ font-size: calc(10px + 2vmin);
24
+ color: white;
25
+}
26
+
27
+.App-link {
28
+ color: #61dafb;
29
+}
30
+
31
+@keyframes App-logo-spin {
32
+ from {
33
+ transform: rotate(0deg);
34
+ }
35
+ to {
36
+ transform: rotate(360deg);
37
+ }
38
+}
frontend/src/App.test.tsx
new
+9
@@ -0,0 +1,9 @@
1
+import React from 'react';
2
+import { render, screen } from '@testing-library/react';
3
+import App from './App';
4
+
5
+test('renders learn react link', () => {
6
+ render(<App/>);
7
+ const linkElement = screen.getByText(/learn react/i);
8
+ expect(linkElement).toBeInTheDocument();
9
+});
frontend/src/App.tsx
new
+43
@@ -0,0 +1,43 @@
1
+import React from 'react'
2
+import { BrowserRouter, Link, Route, Routes, useLocation } from "react-router-dom"
3
+import { createElement as h, Fragment } from 'react'
4
+import './App.css'
5
+import { useApi } from './api'
6
+
7
+function App() {
8
+ return h(BrowserRouter, {},
9
+ h(Routes, {},
10
+ h(Route, { path:'*', element:h(BrowseFiles) })
11
+ )
12
+ )
13
+}
14
+
15
+export default App;
16
+
17
+function BrowseFiles() {
18
+ return h(Fragment, {},
19
+ h(Head),
20
+ h(FilesList))
21
+}
22
+
23
+function Head() {
24
+ return null
25
+}
26
+
27
+interface FileObj { n:string, s?:number }
28
+
29
+function FilesList() {
30
+ const res = useApi('files_list', { path: useLocation().pathname })?.list
31
+ if (!res)
32
+ return h(Loading)
33
+ return h('ul', {}, res.map(({ n }:FileObj) => {
34
+ const isDir = n.endsWith('/')
35
+ return h('li', { key: n },
36
+ isDir ? h(Link, { to: n }, n)
37
+ : h('a', { href: n }, n))
38
+ }))
39
+}
40
+
41
+function Loading() {
42
+ return 'loading' as React.ReactNode as React.ReactElement
43
+}
frontend/src/api.ts
renamed
+5
-5
@@ -1,7 +1,7 @@
1
-import { useEffect, useState } from "./main.js";
1
+import { useEffect, useState } from 'react';
2
3
-export function apiCall(cmd, params) {
4
- return fetch('/~/api/'+cmd, {
3
+export function apiCall(cmd: string, params?: object) : Promise<any> {
4
+ return fetch('/~api/'+cmd, {
5
method: 'POST',
6
headers: { 'content-type': 'application/json' },
7
body: params && JSON.stringify(params),
@@ -14,10 +14,10 @@ export function apiCall(cmd, params) {
14
})
15
}
16
17
-export function useApi(cmd, params) {
17
+export function useApi(cmd: string, params?: object) : any {
18
const [x, setX] = useState()
19
useEffect(()=>{
20
apiCall(cmd, params).then(setX, setX)
21
- }, [cmd])
21
+ }, [cmd, JSON.stringify(params)]) //eslint-disable-line
22
return x
23
}
\ No newline at end of file
frontend/src/index.css
new
+13
@@ -0,0 +1,13 @@
1
+body {
2
+ margin: 0;
3
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5
+ sans-serif;
6
+ -webkit-font-smoothing: antialiased;
7
+ -moz-osx-font-smoothing: grayscale;
8
+}
9
+
10
+code {
11
+ font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12
+ monospace;
13
+}
frontend/src/index.tsx
new
+17
@@ -0,0 +1,17 @@
1
+import React from 'react';
2
+import ReactDOM from 'react-dom';
3
+import './index.css';
4
+import App from './App';
5
+import reportWebVitals from './reportWebVitals';
6
+
7
+ReactDOM.render(
8
+ <React.StrictMode>
9
+ <App/>
10
+ </React.StrictMode>,
11
+ document.getElementById('root')
12
+);
13
+
14
+// If you want to start measuring performance in your app, pass a function
15
+// to log results (for example: reportWebVitals(console.log))
16
+// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17
+reportWebVitals();
frontend/src/logo.svg
new
+1
@@ -0,0 +1 @@
1
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>
\ No newline at end of file
frontend/src/react-app-env.d.ts
new
+1
@@ -0,0 +1 @@
1
+/// <reference types="react-scripts" />
frontend/src/reportWebVitals.ts
new
+15
@@ -0,0 +1,15 @@
1
+import { ReportHandler } from 'web-vitals';
2
+
3
+const reportWebVitals = (onPerfEntry?: ReportHandler) => {
4
+ if (onPerfEntry) {
5
+ import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6
+ getCLS(onPerfEntry);
7
+ getFID(onPerfEntry);
8
+ getFCP(onPerfEntry);
9
+ getLCP(onPerfEntry);
10
+ getTTFB(onPerfEntry);
11
+ });
12
+ }
13
+};
14
+
15
+export default reportWebVitals;
frontend/src/setupTests.ts
new
+5
@@ -0,0 +1,5 @@
1
+// jest-dom adds custom jest matchers for asserting on DOM nodes.
2
+// allows you to do things like:
3
+// expect(element).toHaveTextContent(/react/i)
4
+// learn more: https://github.com/testing-library/jest-dom
5
+import '@testing-library/jest-dom';
frontend/tpl.js
deleted
-17
@@ -1,17 +0,0 @@
1
-assert(TPL, 'tpl');
2
-
3
-TPL.item =
4
- "<a href=\"{url}\" class='item-link'><img src='{icon-file}' class='item-icon' /><span class='item-label'>{label}</span></a>"
5
- +"<div class='item-details'><div class='item-details-wrapper'>"
6
- +"<div class='item-type'>{type}</div>"
7
- +"<div class='item-size'>{size}</div>"
8
- +"</div></div>";
9
-
10
-TPL.list_onObjectItem = function(item) {
11
- item.size = item.size ? formatBytes(item.size) : 'folder';
12
-};
13
-
14
-TPL.tiles_onObjectItem = function(item) {
15
- item.type = 'Type: '+item.type;
16
- item.size = item.size ? 'Size: '+formatBytes(item.size) : '';
17
-};
frontend/tsconfig.json
new
+26
@@ -0,0 +1,26 @@
1
+{
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "lib": [
5
+ "dom",
6
+ "dom.iterable",
7
+ "esnext"
8
+ ],
9
+ "allowJs": true,
10
+ "skipLibCheck": true,
11
+ "esModuleInterop": true,
12
+ "allowSyntheticDefaultImports": true,
13
+ "strict": true,
14
+ "forceConsistentCasingInFileNames": true,
15
+ "noFallthroughCasesInSwitch": true,
16
+ "module": "esnext",
17
+ "moduleResolution": "node",
18
+ "resolveJsonModule": true,
19
+ "isolatedModules": true,
20
+ "noEmit": true,
21
+ "jsx": "react-jsx"
22
+ },
23
+ "include": [
24
+ "src"
25
+ ]
26
+}
frontend/vfs.js
deleted
-118
@@ -1,118 +0,0 @@
1
-$(function(){
2
- $('#items').on({
3
- mouseenter: function(){
4
- if (!$(this).isOverflowed()) return; // is our label clipped?
5
- var lbl = $(this).find('.item-label');
6
- // make some changes so it's hopefully fully visible. We actually just mark it, leaving the real work to your css rules.
7
- lbl.addClass('full-label');
8
- },
9
- mouseleave: function(){
10
- // undo changes made few lines above
11
- var lbl = $(this).find('.full-label');
12
- lbl.removeClass('full-label');
13
- if (lbl.data('remove bg')) {
14
- lbl.css('background-color','');
15
- lbl.removeData('remove bg',null);
16
- }
17
- },
18
- click: itemClickHandler
19
- }, '.item-link');
20
-
21
- /* display:float used by 'tiles' is CPU expensive when we get many items (500+ on a core2duo@2.1).
22
- * To ease this task we periodically set fixed line breaks.
23
- */
24
- var last;
25
- repeat(100, function(){
26
- if (currentMode !== 'tiles') {
27
- last = null;
28
- return;
29
- }
30
- var d = $('#items');
31
- var x = d.children(':first').width();
32
- if (!x) return; // no items
33
- var n = Math.floor((d.width() - 5) / x); // leave a small margin, otherwise the browser decides it is not truly fitting, and you get an undesired wrapping
34
- if ($.support.hover) n--; // we leave some space for popup properties
35
- if (n === last) return;
36
- last = n;
37
- d.children('.forced-br').removeClass('forced-br'); // clean
38
- d.children(':nth-child({0}n+1):not(:first)'.x(n)).addClass('forced-br'); // set new br
39
- });
40
-
41
-
42
-});
43
-
44
-// rebuild the DOM of items
45
-function redrawItems() {
46
- var x = $('#items').empty();
47
-
48
- if (!listFromServer) return;
49
-
50
- // add a link to the parent folder
51
- var cf = currentFolder; // shortcut
52
- if (cf > '/') {
53
- addItem({
54
- label: '↑↑',
55
- url: dirname(cf).includeTrailing('/'),
56
- type: 'folder',
57
- icon: 'folder'
58
- });
59
- }
60
-
61
- var n = listFromServer.items.length;
62
- var pages = Math.max(1, Math.ceil(n/currentPagination));
63
- if (currentPage >= pages) currentPage = pages-1;
64
- var overflow = (currentPagination && currentPagination < n);
65
- var ofs = overflow ? currentPage*currentPagination : 0;
66
- var max = currentPagination ? Math.min(currentPagination, n-ofs) : n;
67
-
68
- $('#paginator').remove();
69
- if (overflow) { // draw a paginator
70
- var d = $("<div id='paginator'>").insertBefore('#items');
71
- d.append("Pages ");
72
- for (var i=0; i<pages; i++) {
73
- $("<button>").text(i+1)
74
- .attr({page:i, disabled:i===currentPage}) // highlight current page (by disabling the button)
75
- .appendTo(d)
76
- .click(function(){
77
- currentPage = +$(this).attr('page');if (it.jquery)
78
- redrawItems();
79
- })
80
- }
81
- }
82
-
83
- for (var a=listFromServer.items, i=0; i<max; ++i) {
84
- var o = a[ofs+i]._clone(); // The item will be manipulated (also inside addItem), and we don't want to make this changes persistent over view modes
85
- o.icon = o.type;
86
- addItem(o);
87
- }
88
-} // redrawItems
89
-
90
-// build the DOM for the single item, applying possible filtering functions
91
-function addItem(it) {
92
- it._expand({'icon-file':getIconURI(it.icon)}); // make this additions before the hook, so it can change these too
93
- TPL('onObjectItem', it); // custom treatment, especially mode-based
94
- $('<li>').append(TPL.item.format(it))
95
- .appendTo('#items');
96
-} // addItem
97
-
98
-// called when an item is clicked
99
-function itemClickHandler(ev) {
100
- var x = $(this);
101
- var h = x.attr('href');
102
- if (h.substr(-1) == '/') {
103
- if (location.pathname != '/') { // reloads the page to have a neater URL
104
- location = '/#'+h.substr(1);
105
- return false;
106
- }
107
-
108
- location.hash = (h.startsWith(location.pathname)) ? h.substr(location.pathname.length) : h;
109
- var loader = $("<img src='/~/pics/loader.gif'>").css(x.find('.item-icon').offset()._expand({position:'absolute'})).appendTo('body');
110
- loadFolder(h, function(){ loader.remove() });
111
- return false;
112
- }
113
- if (!x.attr('target')) {
114
- x.attr('target', 'preview'); // open the file in a new window so the app doesn't stop
115
- }
116
- return true;
117
-} // itemClickHandler
118
-
package-lock.json
+224
@@ -5,16 +5,20 @@
5
"packages": {
6
"": {
7
"dependencies": {
8
+ "@koa/router": "^10.1.1",
9
"fast-glob": "^3.2.7",
10
"koa": "^2.13.4",
11
+ "koa-better-http-proxy": "^0.2.9",
12
"koa-bodyparser": "^4.3.0",
13
"koa-mount": "^4.0.0",
14
"koa-static": "^5.0.0"
15
},
16
"devDependencies": {
17
"@types/koa": "^2.13.4",
18
+ "@types/koa__router": "^8.0.11",
19
"@types/koa-bodyparser": "^4.3.4",
20
"@types/koa-mount": "^4.0.1",
21
+ "@types/koa-router": "^7.4.4",
22
"@types/koa-static": "^4.0.2",
23
"@types/node": "^16.11.12",
24
"nodemon": "^2.0.15",
@@ -43,6 +47,21 @@
47
"node": ">=12"
48
}
49
},
50
+ "node_modules/@koa/router": {
51
+ "version": "10.1.1",
52
+ "resolved": "https://registry.npmjs.org/@koa/router/-/router-10.1.1.tgz",
53
+ "integrity": "sha512-ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXKw==",
54
+ "dependencies": {
55
+ "debug": "^4.1.1",
56
+ "http-errors": "^1.7.3",
57
+ "koa-compose": "^4.1.0",
58
+ "methods": "^1.1.2",
59
+ "path-to-regexp": "^6.1.0"
60
+ },
61
+ "engines": {
62
+ "node": ">= 8.0.0"
63
+ }
64
+ },
65
"node_modules/@nodelib/fs.scandir": {
66
"version": "2.1.5",
67
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -223,6 +242,15 @@
242
"@types/node": "*"
243
}
244
},
245
+ "node_modules/@types/koa__router": {
246
+ "version": "8.0.11",
247
+ "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-8.0.11.tgz",
248
+ "integrity": "sha512-WXgKWpBsbS14kzmzD9LeFapOIa678h7zvUHxDwXwSx4ETKXhXLVUAToX6jZ/U7EihM7qwyD9W/BZvB0MRu7MTQ==",
249
+ "dev": true,
250
+ "dependencies": {
251
+ "@types/koa": "*"
252
+ }
253
+ },
254
"node_modules/@types/koa-bodyparser": {
255
"version": "4.3.4",
256
"resolved": "https://registry.npmjs.org/@types/koa-bodyparser/-/koa-bodyparser-4.3.4.tgz",
@@ -250,6 +278,15 @@
278
"@types/koa": "*"
279
}
280
},
281
+ "node_modules/@types/koa-router": {
282
+ "version": "7.4.4",
283
+ "resolved": "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.4.4.tgz",
284
+ "integrity": "sha512-3dHlZ6CkhgcWeF6wafEUvyyqjWYfKmev3vy1PtOmr0mBc3wpXPU5E8fBBd4YQo5bRpHPfmwC5yDaX7s4jhIN6A==",
285
+ "dev": true,
286
+ "dependencies": {
287
+ "@types/koa": "*"
288
+ }
289
+ },
290
"node_modules/@types/koa-send": {
291
"version": "4.1.3",
292
"resolved": "https://registry.npmjs.org/@types/koa-send/-/koa-send-4.1.3.tgz",
@@ -394,6 +431,11 @@
431
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
432
"dev": true
433
},
434
+ "node_modules/async": {
435
+ "version": "1.0.0",
436
+ "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
437
+ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k="
438
+ },
439
"node_modules/balanced-match": {
440
"version": "1.0.2",
441
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -661,6 +703,14 @@
703
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
704
"dev": true
705
},
706
+ "node_modules/colors": {
707
+ "version": "1.0.3",
708
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
709
+ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
710
+ "engines": {
711
+ "node": ">=0.1.90"
712
+ }
713
+ },
714
"node_modules/concat-map": {
715
"version": "0.0.1",
716
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -735,6 +785,14 @@
785
"node": ">=8"
786
}
787
},
788
+ "node_modules/cycle": {
789
+ "version": "1.0.3",
790
+ "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
791
+ "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
792
+ "engines": {
793
+ "node": ">=0.4.0"
794
+ }
795
+ },
796
"node_modules/debug": {
797
"version": "4.3.3",
798
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
@@ -856,6 +914,11 @@
914
"once": "^1.4.0"
915
}
916
},
917
+ "node_modules/es6-promise": {
918
+ "version": "3.3.1",
919
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
920
+ "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM="
921
+ },
922
"node_modules/escape-goat": {
923
"version": "2.1.1",
924
"resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
@@ -870,6 +933,14 @@
933
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
934
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
935
},
936
+ "node_modules/eyes": {
937
+ "version": "0.1.8",
938
+ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
939
+ "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
940
+ "engines": {
941
+ "node": "> 0.1.90"
942
+ }
943
+ },
944
"node_modules/fast-glob": {
945
"version": "3.2.7",
946
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
@@ -1294,6 +1365,11 @@
1365
"integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
1366
"dev": true
1367
},
1368
+ "node_modules/isstream": {
1369
+ "version": "0.1.2",
1370
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1371
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1372
+ },
1373
"node_modules/json-buffer": {
1374
"version": "3.0.0",
1375
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
@@ -1353,6 +1429,19 @@
1429
"node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
1430
}
1431
},
1432
+ "node_modules/koa-better-http-proxy": {
1433
+ "version": "0.2.9",
1434
+ "resolved": "https://registry.npmjs.org/koa-better-http-proxy/-/koa-better-http-proxy-0.2.9.tgz",
1435
+ "integrity": "sha512-v33AKm5WZw09cI0FSLbEPG0l7sAMDuwvm9ACgFp21GEQ2ekrx2ODQZ9N6dohi6XSMlLafJvwfoHKdeoE6oH9vQ==",
1436
+ "dependencies": {
1437
+ "es6-promise": "^3.3.1",
1438
+ "raw-body": "^2.2.0",
1439
+ "winston": "^2.3.1"
1440
+ },
1441
+ "engines": {
1442
+ "node": ">=10.0.0"
1443
+ }
1444
+ },
1445
"node_modules/koa-bodyparser": {
1446
"version": "4.3.0",
1447
"resolved": "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz",
@@ -1506,6 +1595,14 @@
1595
"node": ">= 8"
1596
}
1597
},
1598
+ "node_modules/methods": {
1599
+ "version": "1.1.2",
1600
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1601
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
1602
+ "engines": {
1603
+ "node": ">= 0.6"
1604
+ }
1605
+ },
1606
"node_modules/micromatch": {
1607
"version": "4.0.4",
1608
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
@@ -1730,6 +1827,11 @@
1827
"node": ">=0.10.0"
1828
}
1829
},
1830
+ "node_modules/path-to-regexp": {
1831
+ "version": "6.2.0",
1832
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz",
1833
+ "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg=="
1834
+ },
1835
"node_modules/picomatch": {
1836
"version": "2.3.0",
1837
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
@@ -2030,6 +2132,14 @@
2132
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
2133
"dev": true
2134
},
2135
+ "node_modules/stack-trace": {
2136
+ "version": "0.0.10",
2137
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
2138
+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
2139
+ "engines": {
2140
+ "node": "*"
2141
+ }
2142
+ },
2143
"node_modules/statuses": {
2144
"version": "1.5.0",
2145
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -2321,6 +2431,22 @@
2431
"node": ">=8"
2432
}
2433
},
2434
+ "node_modules/winston": {
2435
+ "version": "2.4.5",
2436
+ "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz",
2437
+ "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==",
2438
+ "dependencies": {
2439
+ "async": "~1.0.0",
2440
+ "colors": "1.0.x",
2441
+ "cycle": "1.0.x",
2442
+ "eyes": "0.1.x",
2443
+ "isstream": "0.1.x",
2444
+ "stack-trace": "0.0.x"
2445
+ },
2446
+ "engines": {
2447
+ "node": ">= 0.10.0"
2448
+ }
2449
+ },
2450
"node_modules/wrap-ansi": {
2451
"version": "7.0.0",
2452
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -2405,6 +2531,18 @@
2531
"@cspotcode/source-map-consumer": "0.8.0"
2532
}
2533
},
2534
+ "@koa/router": {
2535
+ "version": "10.1.1",
2536
+ "resolved": "https://registry.npmjs.org/@koa/router/-/router-10.1.1.tgz",
2537
+ "integrity": "sha512-ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXKw==",
2538
+ "requires": {
2539
+ "debug": "^4.1.1",
2540
+ "http-errors": "^1.7.3",
2541
+ "koa-compose": "^4.1.0",
2542
+ "methods": "^1.1.2",
2543
+ "path-to-regexp": "^6.1.0"
2544
+ }
2545
+ },
2546
"@nodelib/fs.scandir": {
2547
"version": "2.1.5",
2548
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -2570,6 +2708,15 @@
2708
"@types/node": "*"
2709
}
2710
},
2711
+ "@types/koa__router": {
2712
+ "version": "8.0.11",
2713
+ "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-8.0.11.tgz",
2714
+ "integrity": "sha512-WXgKWpBsbS14kzmzD9LeFapOIa678h7zvUHxDwXwSx4ETKXhXLVUAToX6jZ/U7EihM7qwyD9W/BZvB0MRu7MTQ==",
2715
+ "dev": true,
2716
+ "requires": {
2717
+ "@types/koa": "*"
2718
+ }
2719
+ },
2720
"@types/koa-bodyparser": {
2721
"version": "4.3.4",
2722
"resolved": "https://registry.npmjs.org/@types/koa-bodyparser/-/koa-bodyparser-4.3.4.tgz",
@@ -2597,6 +2744,15 @@
2744
"@types/koa": "*"
2745
}
2746
},
2747
+ "@types/koa-router": {
2748
+ "version": "7.4.4",
2749
+ "resolved": "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.4.4.tgz",
2750
+ "integrity": "sha512-3dHlZ6CkhgcWeF6wafEUvyyqjWYfKmev3vy1PtOmr0mBc3wpXPU5E8fBBd4YQo5bRpHPfmwC5yDaX7s4jhIN6A==",
2751
+ "dev": true,
2752
+ "requires": {
2753
+ "@types/koa": "*"
2754
+ }
2755
+ },
2756
"@types/koa-send": {
2757
"version": "4.1.3",
2758
"resolved": "https://registry.npmjs.org/@types/koa-send/-/koa-send-4.1.3.tgz",
@@ -2717,6 +2873,11 @@
2873
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
2874
"dev": true
2875
},
2876
+ "async": {
2877
+ "version": "1.0.0",
2878
+ "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
2879
+ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k="
2880
+ },
2881
"balanced-match": {
2882
"version": "1.0.2",
2883
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -2919,6 +3080,11 @@
3080
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3081
"dev": true
3082
},
3083
+ "colors": {
3084
+ "version": "1.0.3",
3085
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
3086
+ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs="
3087
+ },
3088
"concat-map": {
3089
"version": "0.0.1",
3090
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -2978,6 +3144,11 @@
3144
"integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
3145
"dev": true
3146
},
3147
+ "cycle": {
3148
+ "version": "1.0.3",
3149
+ "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
3150
+ "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI="
3151
+ },
3152
"debug": {
3153
"version": "4.3.3",
3154
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
@@ -3073,6 +3244,11 @@
3244
"once": "^1.4.0"
3245
}
3246
},
3247
+ "es6-promise": {
3248
+ "version": "3.3.1",
3249
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
3250
+ "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM="
3251
+ },
3252
"escape-goat": {
3253
"version": "2.1.1",
3254
"resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
@@ -3084,6 +3260,11 @@
3260
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
3261
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
3262
},
3263
+ "eyes": {
3264
+ "version": "0.1.8",
3265
+ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
3266
+ "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A="
3267
+ },
3268
"fast-glob": {
3269
"version": "3.2.7",
3270
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
@@ -3389,6 +3570,11 @@
3570
"integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
3571
"dev": true
3572
},
3573
+ "isstream": {
3574
+ "version": "0.1.2",
3575
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
3576
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
3577
+ },
3578
"json-buffer": {
3579
"version": "3.0.0",
3580
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
@@ -3442,6 +3628,16 @@
3628
"vary": "^1.1.2"
3629
}
3630
},
3631
+ "koa-better-http-proxy": {
3632
+ "version": "0.2.9",
3633
+ "resolved": "https://registry.npmjs.org/koa-better-http-proxy/-/koa-better-http-proxy-0.2.9.tgz",
3634
+ "integrity": "sha512-v33AKm5WZw09cI0FSLbEPG0l7sAMDuwvm9ACgFp21GEQ2ekrx2ODQZ9N6dohi6XSMlLafJvwfoHKdeoE6oH9vQ==",
3635
+ "requires": {
3636
+ "es6-promise": "^3.3.1",
3637
+ "raw-body": "^2.2.0",
3638
+ "winston": "^2.3.1"
3639
+ }
3640
+ },
3641
"koa-bodyparser": {
3642
"version": "4.3.0",
3643
"resolved": "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz",
@@ -3560,6 +3756,11 @@
3756
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
3757
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
3758
},
3759
+ "methods": {
3760
+ "version": "1.1.2",
3761
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
3762
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
3763
+ },
3764
"micromatch": {
3765
"version": "4.0.4",
3766
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
@@ -3726,6 +3927,11 @@
3927
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3928
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
3929
},
3930
+ "path-to-regexp": {
3931
+ "version": "6.2.0",
3932
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz",
3933
+ "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg=="
3934
+ },
3935
"picomatch": {
3936
"version": "2.3.0",
3937
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
@@ -3946,6 +4152,11 @@
4152
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
4153
"dev": true
4154
},
4155
+ "stack-trace": {
4156
+ "version": "0.0.10",
4157
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
4158
+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
4159
+ },
4160
"statuses": {
4161
"version": "1.5.0",
4162
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -4145,6 +4356,19 @@
4356
"string-width": "^4.0.0"
4357
}
4358
},
4359
+ "winston": {
4360
+ "version": "2.4.5",
4361
+ "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz",
4362
+ "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==",
4363
+ "requires": {
4364
+ "async": "~1.0.0",
4365
+ "colors": "1.0.x",
4366
+ "cycle": "1.0.x",
4367
+ "eyes": "0.1.x",
4368
+ "isstream": "0.1.x",
4369
+ "stack-trace": "0.0.x"
4370
+ }
4371
+ },
4372
"wrap-ansi": {
4373
"version": "7.0.0",
4374
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
package.json
+3
@@ -4,14 +4,17 @@
4
"start": "node dist"
5
},
6
"dependencies": {
7
+ "@koa/router": "^10.1.1",
8
"fast-glob": "^3.2.7",
9
"koa": "^2.13.4",
10
+ "koa-better-http-proxy": "^0.2.9",
11
"koa-bodyparser": "^4.3.0",
12
"koa-mount": "^4.0.0",
13
"koa-static": "^5.0.0"
14
},
15
"devDependencies": {
16
"@types/koa": "^2.13.4",
17
+ "@types/koa__router": "^8.0.11",
18
"@types/koa-bodyparser": "^4.3.4",
19
"@types/koa-mount": "^4.0.1",
20
"@types/koa-static": "^4.0.2",
src/apis.ts
+1
-2
@@ -12,11 +12,10 @@ export default {
12
const o = x.stats
13
const folder = x.path.endsWith('/')
14
return {
15
- n: x.name,
15
+ n: x.name+(folder ? '/' : ''),
16
c: o?.ctime,
17
m: o?.mtime,
18
s: folder ? undefined : o?.size,
19
- d: folder || undefined,
19
}
20
})
21
return { list }
src/index.ts
+22
-14
@@ -1,19 +1,35 @@
1
import Koa from 'koa'
2
import serve from 'koa-static'
3
-import send from 'koa-send'
3
import mount from 'koa-mount'
4
import bodyParser from 'koa-bodyparser'
5
+import Router from '@koa/router'
6
+import proxy from 'koa-better-http-proxy'
7
import apis from './apis'
8
9
+const PORT = 80
10
+const FRONTEND = 'frontend/build'
11
+const DEV = process.env.NODE_ENV === 'development' ? 'DEV' : ''
12
+const API_URI = '/~api/'
13
+
14
+if (DEV)
15
+ console.clear()
16
+
17
const srv = new Koa()
18
+srv.use(async (ctx, next) => {
19
+ const r = ctx.request.req
20
+ console.debug(r.method, r.url)
21
+ await next()
22
+})
23
srv.use(preventCrossDir())
10
-srv.use(serveRoot())
11
-srv.use(bodyParser())
12
-srv.use(mount('/~/api/', api(apis)))
13
-srv.use(mount('/~/', serve('frontend')))
24
+
25
+srv.use(mount(API_URI, new Koa().use(bodyParser()).use(api(apis))))
26
+
27
+const router = new Router();
28
+router.get('/(.*)', DEV ? proxy('localhost:3000', {}) : serve(FRONTEND))
29
+srv.use(router.routes())
30
31
srv.on('error', err => console.error('server error', err))
16
-srv.listen(80, ()=> console.log('running',new Date().toLocaleString()))
32
+srv.listen(PORT, ()=> console.log('running on port', PORT, DEV, new Date().toLocaleString()))
33
34
function preventCrossDir() : Koa.Middleware {
35
return async (ctx, next) => {
@@ -23,14 +39,6 @@ function preventCrossDir() : Koa.Middleware {
39
}
40
}
41
26
-function serveRoot() : Koa.Middleware {
27
- return async (ctx, next) => {
28
- if (ctx.method === 'GET' && ctx.path.endsWith('/'))
29
- await send(ctx, 'frontend/index.html')
30
- await next()
31
- }
32
-}
33
-
42
type ApiHandler = (params?:any, ctx?:any) => any
43
type ApiHandlers = Record<string, ApiHandler>
44