irongit

first commit

FIRST_NAME LAST_NAMEauthored
commit 80ea8b957080591ed36c562ced974d61272b81ecBrowse files

18 files changed, +2343 -0

+24-0.gitignore
@@ -0,0 +1,24 @@
1+# Logs
2+logs
3+*.log
4+npm-debug.log*
5+yarn-debug.log*
6+yarn-error.log*
7+pnpm-debug.log*
8+lerna-debug.log*
9+
10+node_modules
11+dist
12+dist-ssr
13+*.local
14+
15+# Editor directories and files
16+.vscode/*
17+!.vscode/extensions.json
18+.idea
19+.DS_Store
20+*.suo
21+*.ntvs*
22+*.njsproj
23+*.sln
24+*.sw?
+13-0index.html
@@ -0,0 +1,13 @@
1+<!DOCTYPE html>
2+<html lang="en">
3+ <head>
4+ <meta charset="UTF-8" />
5+ <link rel="icon" type="image/x-icon" href="/favicon.ico" />
6+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+ <title>Countdown</title>
8+ </head>
9+ <body>
10+ <div id="root"></div>
11+ <script type="module" src="/src/main.tsx"></script>
12+ </body>
13+</html>
+2130-0package-lock.json
@@ -0,0 +1,2130 @@
1+{
2+ "name": "vflcountdown",
3+ "version": "0.0.0",
4+ "lockfileVersion": 3,
5+ "requires": true,
6+ "packages": {
7+ "": {
8+ "name": "vflcountdown",
9+ "version": "0.0.0",
10+ "dependencies": {
11+ "react": "^18.2.0",
12+ "react-dom": "^18.2.0"
13+ },
14+ "devDependencies": {
15+ "@types/react": "^18.0.26",
16+ "@types/react-dom": "^18.0.9",
17+ "@vitejs/plugin-react": "^3.0.0",
18+ "autoprefixer": "^10.4.13",
19+ "postcss": "^8.4.20",
20+ "tailwindcss": "^3.2.4",
21+ "typescript": "^4.9.3",
22+ "vite": "^4.0.0"
23+ }
24+ },
25+ "node_modules/@ampproject/remapping": {
26+ "version": "2.2.0",
27+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
28+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
29+ "dev": true,
30+ "dependencies": {
31+ "@jridgewell/gen-mapping": "^0.1.0",
32+ "@jridgewell/trace-mapping": "^0.3.9"
33+ },
34+ "engines": {
35+ "node": ">=6.0.0"
36+ }
37+ },
38+ "node_modules/@babel/code-frame": {
39+ "version": "7.18.6",
40+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
41+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
42+ "dev": true,
43+ "dependencies": {
44+ "@babel/highlight": "^7.18.6"
45+ },
46+ "engines": {
47+ "node": ">=6.9.0"
48+ }
49+ },
50+ "node_modules/@babel/compat-data": {
51+ "version": "7.20.10",
52+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz",
53+ "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==",
54+ "dev": true,
55+ "engines": {
56+ "node": ">=6.9.0"
57+ }
58+ },
59+ "node_modules/@babel/core": {
60+ "version": "7.20.7",
61+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz",
62+ "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==",
63+ "dev": true,
64+ "dependencies": {
65+ "@ampproject/remapping": "^2.1.0",
66+ "@babel/code-frame": "^7.18.6",
67+ "@babel/generator": "^7.20.7",
68+ "@babel/helper-compilation-targets": "^7.20.7",
69+ "@babel/helper-module-transforms": "^7.20.7",
70+ "@babel/helpers": "^7.20.7",
71+ "@babel/parser": "^7.20.7",
72+ "@babel/template": "^7.20.7",
73+ "@babel/traverse": "^7.20.7",
74+ "@babel/types": "^7.20.7",
75+ "convert-source-map": "^1.7.0",
76+ "debug": "^4.1.0",
77+ "gensync": "^1.0.0-beta.2",
78+ "json5": "^2.2.1",
79+ "semver": "^6.3.0"
80+ },
81+ "engines": {
82+ "node": ">=6.9.0"
83+ },
84+ "funding": {
85+ "type": "opencollective",
86+ "url": "https://opencollective.com/babel"
87+ }
88+ },
89+ "node_modules/@babel/generator": {
90+ "version": "7.20.7",
91+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz",
92+ "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==",
93+ "dev": true,
94+ "dependencies": {
95+ "@babel/types": "^7.20.7",
96+ "@jridgewell/gen-mapping": "^0.3.2",
97+ "jsesc": "^2.5.1"
98+ },
99+ "engines": {
100+ "node": ">=6.9.0"
101+ }
102+ },
103+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
104+ "version": "0.3.2",
105+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
106+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
107+ "dev": true,
108+ "dependencies": {
109+ "@jridgewell/set-array": "^1.0.1",
110+ "@jridgewell/sourcemap-codec": "^1.4.10",
111+ "@jridgewell/trace-mapping": "^0.3.9"
112+ },
113+ "engines": {
114+ "node": ">=6.0.0"
115+ }
116+ },
117+ "node_modules/@babel/helper-compilation-targets": {
118+ "version": "7.20.7",
119+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
120+ "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
121+ "dev": true,
122+ "dependencies": {
123+ "@babel/compat-data": "^7.20.5",
124+ "@babel/helper-validator-option": "^7.18.6",
125+ "browserslist": "^4.21.3",
126+ "lru-cache": "^5.1.1",
127+ "semver": "^6.3.0"
128+ },
129+ "engines": {
130+ "node": ">=6.9.0"
131+ },
132+ "peerDependencies": {
133+ "@babel/core": "^7.0.0"
134+ }
135+ },
136+ "node_modules/@babel/helper-environment-visitor": {
137+ "version": "7.18.9",
138+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
139+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
140+ "dev": true,
141+ "engines": {
142+ "node": ">=6.9.0"
143+ }
144+ },
145+ "node_modules/@babel/helper-function-name": {
146+ "version": "7.19.0",
147+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
148+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
149+ "dev": true,
150+ "dependencies": {
151+ "@babel/template": "^7.18.10",
152+ "@babel/types": "^7.19.0"
153+ },
154+ "engines": {
155+ "node": ">=6.9.0"
156+ }
157+ },
158+ "node_modules/@babel/helper-hoist-variables": {
159+ "version": "7.18.6",
160+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
161+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
162+ "dev": true,
163+ "dependencies": {
164+ "@babel/types": "^7.18.6"
165+ },
166+ "engines": {
167+ "node": ">=6.9.0"
168+ }
169+ },
170+ "node_modules/@babel/helper-module-imports": {
171+ "version": "7.18.6",
172+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
173+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
174+ "dev": true,
175+ "dependencies": {
176+ "@babel/types": "^7.18.6"
177+ },
178+ "engines": {
179+ "node": ">=6.9.0"
180+ }
181+ },
182+ "node_modules/@babel/helper-module-transforms": {
183+ "version": "7.20.11",
184+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
185+ "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
186+ "dev": true,
187+ "dependencies": {
188+ "@babel/helper-environment-visitor": "^7.18.9",
189+ "@babel/helper-module-imports": "^7.18.6",
190+ "@babel/helper-simple-access": "^7.20.2",
191+ "@babel/helper-split-export-declaration": "^7.18.6",
192+ "@babel/helper-validator-identifier": "^7.19.1",
193+ "@babel/template": "^7.20.7",
194+ "@babel/traverse": "^7.20.10",
195+ "@babel/types": "^7.20.7"
196+ },
197+ "engines": {
198+ "node": ">=6.9.0"
199+ }
200+ },
201+ "node_modules/@babel/helper-plugin-utils": {
202+ "version": "7.20.2",
203+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
204+ "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
205+ "dev": true,
206+ "engines": {
207+ "node": ">=6.9.0"
208+ }
209+ },
210+ "node_modules/@babel/helper-simple-access": {
211+ "version": "7.20.2",
212+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
213+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
214+ "dev": true,
215+ "dependencies": {
216+ "@babel/types": "^7.20.2"
217+ },
218+ "engines": {
219+ "node": ">=6.9.0"
220+ }
221+ },
222+ "node_modules/@babel/helper-split-export-declaration": {
223+ "version": "7.18.6",
224+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
225+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
226+ "dev": true,
227+ "dependencies": {
228+ "@babel/types": "^7.18.6"
229+ },
230+ "engines": {
231+ "node": ">=6.9.0"
232+ }
233+ },
234+ "node_modules/@babel/helper-string-parser": {
235+ "version": "7.19.4",
236+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
237+ "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
238+ "dev": true,
239+ "engines": {
240+ "node": ">=6.9.0"
241+ }
242+ },
243+ "node_modules/@babel/helper-validator-identifier": {
244+ "version": "7.19.1",
245+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
246+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
247+ "dev": true,
248+ "engines": {
249+ "node": ">=6.9.0"
250+ }
251+ },
252+ "node_modules/@babel/helper-validator-option": {
253+ "version": "7.18.6",
254+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
255+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
256+ "dev": true,
257+ "engines": {
258+ "node": ">=6.9.0"
259+ }
260+ },
261+ "node_modules/@babel/helpers": {
262+ "version": "7.20.7",
263+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz",
264+ "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==",
265+ "dev": true,
266+ "dependencies": {
267+ "@babel/template": "^7.20.7",
268+ "@babel/traverse": "^7.20.7",
269+ "@babel/types": "^7.20.7"
270+ },
271+ "engines": {
272+ "node": ">=6.9.0"
273+ }
274+ },
275+ "node_modules/@babel/highlight": {
276+ "version": "7.18.6",
277+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
278+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
279+ "dev": true,
280+ "dependencies": {
281+ "@babel/helper-validator-identifier": "^7.18.6",
282+ "chalk": "^2.0.0",
283+ "js-tokens": "^4.0.0"
284+ },
285+ "engines": {
286+ "node": ">=6.9.0"
287+ }
288+ },
289+ "node_modules/@babel/parser": {
290+ "version": "7.20.7",
291+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz",
292+ "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==",
293+ "dev": true,
294+ "bin": {
295+ "parser": "bin/babel-parser.js"
296+ },
297+ "engines": {
298+ "node": ">=6.0.0"
299+ }
300+ },
301+ "node_modules/@babel/plugin-transform-react-jsx-self": {
302+ "version": "7.18.6",
303+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
304+ "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
305+ "dev": true,
306+ "dependencies": {
307+ "@babel/helper-plugin-utils": "^7.18.6"
308+ },
309+ "engines": {
310+ "node": ">=6.9.0"
311+ },
312+ "peerDependencies": {
313+ "@babel/core": "^7.0.0-0"
314+ }
315+ },
316+ "node_modules/@babel/plugin-transform-react-jsx-source": {
317+ "version": "7.19.6",
318+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
319+ "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
320+ "dev": true,
321+ "dependencies": {
322+ "@babel/helper-plugin-utils": "^7.19.0"
323+ },
324+ "engines": {
325+ "node": ">=6.9.0"
326+ },
327+ "peerDependencies": {
328+ "@babel/core": "^7.0.0-0"
329+ }
330+ },
331+ "node_modules/@babel/template": {
332+ "version": "7.20.7",
333+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
334+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
335+ "dev": true,
336+ "dependencies": {
337+ "@babel/code-frame": "^7.18.6",
338+ "@babel/parser": "^7.20.7",
339+ "@babel/types": "^7.20.7"
340+ },
341+ "engines": {
342+ "node": ">=6.9.0"
343+ }
344+ },
345+ "node_modules/@babel/traverse": {
346+ "version": "7.20.10",
347+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz",
348+ "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==",
349+ "dev": true,
350+ "dependencies": {
351+ "@babel/code-frame": "^7.18.6",
352+ "@babel/generator": "^7.20.7",
353+ "@babel/helper-environment-visitor": "^7.18.9",
354+ "@babel/helper-function-name": "^7.19.0",
355+ "@babel/helper-hoist-variables": "^7.18.6",
356+ "@babel/helper-split-export-declaration": "^7.18.6",
357+ "@babel/parser": "^7.20.7",
358+ "@babel/types": "^7.20.7",
359+ "debug": "^4.1.0",
360+ "globals": "^11.1.0"
361+ },
362+ "engines": {
363+ "node": ">=6.9.0"
364+ }
365+ },
366+ "node_modules/@babel/types": {
367+ "version": "7.20.7",
368+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
369+ "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
370+ "dev": true,
371+ "dependencies": {
372+ "@babel/helper-string-parser": "^7.19.4",
373+ "@babel/helper-validator-identifier": "^7.19.1",
374+ "to-fast-properties": "^2.0.0"
375+ },
376+ "engines": {
377+ "node": ">=6.9.0"
378+ }
379+ },
380+ "node_modules/@esbuild/android-arm": {
381+ "version": "0.16.12",
382+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.12.tgz",
383+ "integrity": "sha512-CTWgMJtpCyCltrvipZrrcjjRu+rzm6pf9V8muCsJqtKujR3kPmU4ffbckvugNNaRmhxAF1ZI3J+0FUIFLFg8KA==",
384+ "cpu": [
385+ "arm"
386+ ],
387+ "dev": true,
388+ "optional": true,
389+ "os": [
390+ "android"
391+ ],
392+ "engines": {
393+ "node": ">=12"
394+ }
395+ },
396+ "node_modules/@esbuild/android-arm64": {
397+ "version": "0.16.12",
398+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.12.tgz",
399+ "integrity": "sha512-0LacmiIW+X0/LOLMZqYtZ7d4uY9fxYABAYhSSOu+OGQVBqH4N5eIYgkT7bBFnR4Nm3qo6qS3RpHKVrDASqj/uQ==",
400+ "cpu": [
401+ "arm64"
402+ ],
403+ "dev": true,
404+ "optional": true,
405+ "os": [
406+ "android"
407+ ],
408+ "engines": {
409+ "node": ">=12"
410+ }
411+ },
412+ "node_modules/@esbuild/android-x64": {
413+ "version": "0.16.12",
414+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.12.tgz",
415+ "integrity": "sha512-sS5CR3XBKQXYpSGMM28VuiUnbX83Z+aWPZzClW+OB2JquKqxoiwdqucJ5qvXS8pM6Up3RtJfDnRQZkz3en2z5g==",
416+ "cpu": [
417+ "x64"
418+ ],
419+ "dev": true,
420+ "optional": true,
421+ "os": [
422+ "android"
423+ ],
424+ "engines": {
425+ "node": ">=12"
426+ }
427+ },
428+ "node_modules/@esbuild/darwin-arm64": {
429+ "version": "0.16.12",
430+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.12.tgz",
431+ "integrity": "sha512-Dpe5hOAQiQRH20YkFAg+wOpcd4PEuXud+aGgKBQa/VriPJA8zuVlgCOSTwna1CgYl05lf6o5els4dtuyk1qJxQ==",
432+ "cpu": [
433+ "arm64"
434+ ],
435+ "dev": true,
436+ "optional": true,
437+ "os": [
438+ "darwin"
439+ ],
440+ "engines": {
441+ "node": ">=12"
442+ }
443+ },
444+ "node_modules/@esbuild/darwin-x64": {
445+ "version": "0.16.12",
446+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.12.tgz",
447+ "integrity": "sha512-ApGRA6X5txIcxV0095X4e4KKv87HAEXfuDRcGTniDWUUN+qPia8sl/BqG/0IomytQWajnUn4C7TOwHduk/FXBQ==",
448+ "cpu": [
449+ "x64"
450+ ],
451+ "dev": true,
452+ "optional": true,
453+ "os": [
454+ "darwin"
455+ ],
456+ "engines": {
457+ "node": ">=12"
458+ }
459+ },
460+ "node_modules/@esbuild/freebsd-arm64": {
461+ "version": "0.16.12",
462+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.12.tgz",
463+ "integrity": "sha512-AMdK2gA9EU83ccXCWS1B/KcWYZCj4P3vDofZZkl/F/sBv/fphi2oUqUTox/g5GMcIxk8CF1CVYTC82+iBSyiUg==",
464+ "cpu": [
465+ "arm64"
466+ ],
467+ "dev": true,
468+ "optional": true,
469+ "os": [
470+ "freebsd"
471+ ],
472+ "engines": {
473+ "node": ">=12"
474+ }
475+ },
476+ "node_modules/@esbuild/freebsd-x64": {
477+ "version": "0.16.12",
478+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.12.tgz",
479+ "integrity": "sha512-KUKB9w8G/xaAbD39t6gnRBuhQ8vIYYlxGT2I+mT6UGRnCGRr1+ePFIGBQmf5V16nxylgUuuWVW1zU2ktKkf6WQ==",
480+ "cpu": [
481+ "x64"
482+ ],
483+ "dev": true,
484+ "optional": true,
485+ "os": [
486+ "freebsd"
487+ ],
488+ "engines": {
489+ "node": ">=12"
490+ }
491+ },
492+ "node_modules/@esbuild/linux-arm": {
493+ "version": "0.16.12",
494+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.12.tgz",
495+ "integrity": "sha512-vhDdIv6z4eL0FJyNVfdr3C/vdd/Wc6h1683GJsFoJzfKb92dU/v88FhWdigg0i6+3TsbSDeWbsPUXb4dif2abg==",
496+ "cpu": [
497+ "arm"
498+ ],
499+ "dev": true,
500+ "optional": true,
501+ "os": [
502+ "linux"
503+ ],
504+ "engines": {
505+ "node": ">=12"
506+ }
507+ },
508+ "node_modules/@esbuild/linux-arm64": {
509+ "version": "0.16.12",
510+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.12.tgz",
511+ "integrity": "sha512-29HXMLpLklDfmw7T2buGqq3HImSUaZ1ArmrPOMaNiZZQptOSZs32SQtOHEl8xWX5vfdwZqrBfNf8Te4nArVzKQ==",
512+ "cpu": [
513+ "arm64"
514+ ],
515+ "dev": true,
516+ "optional": true,
517+ "os": [
518+ "linux"
519+ ],
520+ "engines": {
521+ "node": ">=12"
522+ }
523+ },
524+ "node_modules/@esbuild/linux-ia32": {
525+ "version": "0.16.12",
526+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.12.tgz",
527+ "integrity": "sha512-JFDuNDTTfgD1LJg7wHA42o2uAO/9VzHYK0leAVnCQE/FdMB599YMH73ux+nS0xGr79pv/BK+hrmdRin3iLgQjg==",
528+ "cpu": [
529+ "ia32"
530+ ],
531+ "dev": true,
532+ "optional": true,
533+ "os": [
534+ "linux"
535+ ],
536+ "engines": {
537+ "node": ">=12"
538+ }
539+ },
540+ "node_modules/@esbuild/linux-loong64": {
541+ "version": "0.16.12",
542+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.12.tgz",
543+ "integrity": "sha512-xTGzVPqm6WKfCC0iuj1fryIWr1NWEM8DMhAIo+4rFgUtwy/lfHl+Obvus4oddzRDbBetLLmojfVZGmt/g/g+Rw==",
544+ "cpu": [
545+ "loong64"
546+ ],
547+ "dev": true,
548+ "optional": true,
549+ "os": [
550+ "linux"
551+ ],
552+ "engines": {
553+ "node": ">=12"
554+ }
555+ },
556+ "node_modules/@esbuild/linux-mips64el": {
557+ "version": "0.16.12",
558+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.12.tgz",
559+ "integrity": "sha512-zI1cNgHa3Gol+vPYjIYHzKhU6qMyOQrvZ82REr5Fv7rlh5PG6SkkuCoH7IryPqR+BK2c/7oISGsvPJPGnO2bHQ==",
560+ "cpu": [
561+ "mips64el"
562+ ],
563+ "dev": true,
564+ "optional": true,
565+ "os": [
566+ "linux"
567+ ],
568+ "engines": {
569+ "node": ">=12"
570+ }
571+ },
572+ "node_modules/@esbuild/linux-ppc64": {
573+ "version": "0.16.12",
574+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.12.tgz",
575+ "integrity": "sha512-/C8OFXExoMmvTDIOAM54AhtmmuDHKoedUd0Otpfw3+AuuVGemA1nQK99oN909uZbLEU6Bi+7JheFMG3xGfZluQ==",
576+ "cpu": [
577+ "ppc64"
578+ ],
579+ "dev": true,
580+ "optional": true,
581+ "os": [
582+ "linux"
583+ ],
584+ "engines": {
585+ "node": ">=12"
586+ }
587+ },
588+ "node_modules/@esbuild/linux-riscv64": {
589+ "version": "0.16.12",
590+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.12.tgz",
591+ "integrity": "sha512-qeouyyc8kAGV6Ni6Isz8hUsKMr00EHgVwUKWNp1r4l88fHEoNTDB8mmestvykW6MrstoGI7g2EAsgr0nxmuGYg==",
592+ "cpu": [
593+ "riscv64"
594+ ],
595+ "dev": true,
596+ "optional": true,
597+ "os": [
598+ "linux"
599+ ],
600+ "engines": {
601+ "node": ">=12"
602+ }
603+ },
604+ "node_modules/@esbuild/linux-s390x": {
605+ "version": "0.16.12",
606+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.12.tgz",
607+ "integrity": "sha512-s9AyI/5vz1U4NNqnacEGFElqwnHusWa81pskAf8JNDM2eb6b2E6PpBmT8RzeZv6/TxE6/TADn2g9bb0jOUmXwQ==",
608+ "cpu": [
609+ "s390x"
610+ ],
611+ "dev": true,
612+ "optional": true,
613+ "os": [
614+ "linux"
615+ ],
616+ "engines": {
617+ "node": ">=12"
618+ }
619+ },
620+ "node_modules/@esbuild/linux-x64": {
621+ "version": "0.16.12",
622+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.12.tgz",
623+ "integrity": "sha512-e8YA7GQGLWhvakBecLptUiKxOk4E/EPtSckS1i0MGYctW8ouvNUoh7xnU15PGO2jz7BYl8q1R6g0gE5HFtzpqQ==",
624+ "cpu": [
625+ "x64"
626+ ],
627+ "dev": true,
628+ "optional": true,
629+ "os": [
630+ "linux"
631+ ],
632+ "engines": {
633+ "node": ">=12"
634+ }
635+ },
636+ "node_modules/@esbuild/netbsd-x64": {
637+ "version": "0.16.12",
638+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.12.tgz",
639+ "integrity": "sha512-z2+kUxmOqBS+6SRVd57iOLIHE8oGOoEnGVAmwjm2aENSP35HPS+5cK+FL1l+rhrsJOFIPrNHqDUNechpuG96Sg==",
640+ "cpu": [
641+ "x64"
642+ ],
643+ "dev": true,
644+ "optional": true,
645+ "os": [
646+ "netbsd"
647+ ],
648+ "engines": {
649+ "node": ">=12"
650+ }
651+ },
652+ "node_modules/@esbuild/openbsd-x64": {
653+ "version": "0.16.12",
654+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.12.tgz",
655+ "integrity": "sha512-PAonw4LqIybwn2/vJujhbg1N9W2W8lw9RtXIvvZoyzoA/4rA4CpiuahVbASmQohiytRsixbNoIOUSjRygKXpyA==",
656+ "cpu": [
657+ "x64"
658+ ],
659+ "dev": true,
660+ "optional": true,
661+ "os": [
662+ "openbsd"
663+ ],
664+ "engines": {
665+ "node": ">=12"
666+ }
667+ },
668+ "node_modules/@esbuild/sunos-x64": {
669+ "version": "0.16.12",
670+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.12.tgz",
671+ "integrity": "sha512-+wr1tkt1RERi+Zi/iQtkzmMH4nS8+7UIRxjcyRz7lur84wCkAITT50Olq/HiT4JN2X2bjtlOV6vt7ptW5Gw60Q==",
672+ "cpu": [
673+ "x64"
674+ ],
675+ "dev": true,
676+ "optional": true,
677+ "os": [
678+ "sunos"
679+ ],
680+ "engines": {
681+ "node": ">=12"
682+ }
683+ },
684+ "node_modules/@esbuild/win32-arm64": {
685+ "version": "0.16.12",
686+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.12.tgz",
687+ "integrity": "sha512-XEjeUSHmjsAOJk8+pXJu9pFY2O5KKQbHXZWQylJzQuIBeiGrpMeq9sTVrHefHxMOyxUgoKQTcaTS+VK/K5SviA==",
688+ "cpu": [
689+ "arm64"
690+ ],
691+ "dev": true,
692+ "optional": true,
693+ "os": [
694+ "win32"
695+ ],
696+ "engines": {
697+ "node": ">=12"
698+ }
699+ },
700+ "node_modules/@esbuild/win32-ia32": {
701+ "version": "0.16.12",
702+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.12.tgz",
703+ "integrity": "sha512-eRKPM7e0IecUAUYr2alW7JGDejrFJXmpjt4MlfonmQ5Rz9HWpKFGCjuuIRgKO7W9C/CWVFXdJ2GjddsBXqQI4A==",
704+ "cpu": [
705+ "ia32"
706+ ],
707+ "dev": true,
708+ "optional": true,
709+ "os": [
710+ "win32"
711+ ],
712+ "engines": {
713+ "node": ">=12"
714+ }
715+ },
716+ "node_modules/@esbuild/win32-x64": {
717+ "version": "0.16.12",
718+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.12.tgz",
719+ "integrity": "sha512-iPYKN78t3op2+erv2frW568j1q0RpqX6JOLZ7oPPaAV1VaF7dDstOrNw37PVOYoTWE11pV4A1XUitpdEFNIsPg==",
720+ "cpu": [
721+ "x64"
722+ ],
723+ "dev": true,
724+ "optional": true,
725+ "os": [
726+ "win32"
727+ ],
728+ "engines": {
729+ "node": ">=12"
730+ }
731+ },
732+ "node_modules/@jridgewell/gen-mapping": {
733+ "version": "0.1.1",
734+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
735+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
736+ "dev": true,
737+ "dependencies": {
738+ "@jridgewell/set-array": "^1.0.0",
739+ "@jridgewell/sourcemap-codec": "^1.4.10"
740+ },
741+ "engines": {
742+ "node": ">=6.0.0"
743+ }
744+ },
745+ "node_modules/@jridgewell/resolve-uri": {
746+ "version": "3.1.0",
747+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
748+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
749+ "dev": true,
750+ "engines": {
751+ "node": ">=6.0.0"
752+ }
753+ },
754+ "node_modules/@jridgewell/set-array": {
755+ "version": "1.1.2",
756+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
757+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
758+ "dev": true,
759+ "engines": {
760+ "node": ">=6.0.0"
761+ }
762+ },
763+ "node_modules/@jridgewell/sourcemap-codec": {
764+ "version": "1.4.14",
765+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
766+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
767+ "dev": true
768+ },
769+ "node_modules/@jridgewell/trace-mapping": {
770+ "version": "0.3.17",
771+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
772+ "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
773+ "dev": true,
774+ "dependencies": {
775+ "@jridgewell/resolve-uri": "3.1.0",
776+ "@jridgewell/sourcemap-codec": "1.4.14"
777+ }
778+ },
779+ "node_modules/@nodelib/fs.scandir": {
780+ "version": "2.1.5",
781+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
782+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
783+ "dev": true,
784+ "dependencies": {
785+ "@nodelib/fs.stat": "2.0.5",
786+ "run-parallel": "^1.1.9"
787+ },
788+ "engines": {
789+ "node": ">= 8"
790+ }
791+ },
792+ "node_modules/@nodelib/fs.stat": {
793+ "version": "2.0.5",
794+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
795+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
796+ "dev": true,
797+ "engines": {
798+ "node": ">= 8"
799+ }
800+ },
801+ "node_modules/@nodelib/fs.walk": {
802+ "version": "1.2.8",
803+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
804+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
805+ "dev": true,
806+ "dependencies": {
807+ "@nodelib/fs.scandir": "2.1.5",
808+ "fastq": "^1.6.0"
809+ },
810+ "engines": {
811+ "node": ">= 8"
812+ }
813+ },
814+ "node_modules/@types/prop-types": {
815+ "version": "15.7.5",
816+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
817+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
818+ "dev": true
819+ },
820+ "node_modules/@types/react": {
821+ "version": "18.0.26",
822+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz",
823+ "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==",
824+ "dev": true,
825+ "dependencies": {
826+ "@types/prop-types": "*",
827+ "@types/scheduler": "*",
828+ "csstype": "^3.0.2"
829+ }
830+ },
831+ "node_modules/@types/react-dom": {
832+ "version": "18.0.10",
833+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz",
834+ "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==",
835+ "dev": true,
836+ "dependencies": {
837+ "@types/react": "*"
838+ }
839+ },
840+ "node_modules/@types/scheduler": {
841+ "version": "0.16.2",
842+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
843+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
844+ "dev": true
845+ },
846+ "node_modules/@vitejs/plugin-react": {
847+ "version": "3.0.0",
848+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz",
849+ "integrity": "sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==",
850+ "dev": true,
851+ "dependencies": {
852+ "@babel/core": "^7.20.5",
853+ "@babel/plugin-transform-react-jsx-self": "^7.18.6",
854+ "@babel/plugin-transform-react-jsx-source": "^7.19.6",
855+ "magic-string": "^0.27.0",
856+ "react-refresh": "^0.14.0"
857+ },
858+ "engines": {
859+ "node": "^14.18.0 || >=16.0.0"
860+ },
861+ "peerDependencies": {
862+ "vite": "^4.0.0"
863+ }
864+ },
865+ "node_modules/acorn": {
866+ "version": "7.4.1",
867+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
868+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
869+ "dev": true,
870+ "bin": {
871+ "acorn": "bin/acorn"
872+ },
873+ "engines": {
874+ "node": ">=0.4.0"
875+ }
876+ },
877+ "node_modules/acorn-node": {
878+ "version": "1.8.2",
879+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
880+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
881+ "dev": true,
882+ "dependencies": {
883+ "acorn": "^7.0.0",
884+ "acorn-walk": "^7.0.0",
885+ "xtend": "^4.0.2"
886+ }
887+ },
888+ "node_modules/acorn-walk": {
889+ "version": "7.2.0",
890+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
891+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
892+ "dev": true,
893+ "engines": {
894+ "node": ">=0.4.0"
895+ }
896+ },
897+ "node_modules/ansi-styles": {
898+ "version": "3.2.1",
899+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
900+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
901+ "dev": true,
902+ "dependencies": {
903+ "color-convert": "^1.9.0"
904+ },
905+ "engines": {
906+ "node": ">=4"
907+ }
908+ },
909+ "node_modules/anymatch": {
910+ "version": "3.1.3",
911+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
912+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
913+ "dev": true,
914+ "dependencies": {
915+ "normalize-path": "^3.0.0",
916+ "picomatch": "^2.0.4"
917+ },
918+ "engines": {
919+ "node": ">= 8"
920+ }
921+ },
922+ "node_modules/arg": {
923+ "version": "5.0.2",
924+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
925+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
926+ "dev": true
927+ },
928+ "node_modules/autoprefixer": {
929+ "version": "10.4.13",
930+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
931+ "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
932+ "dev": true,
933+ "funding": [
934+ {
935+ "type": "opencollective",
936+ "url": "https://opencollective.com/postcss/"
937+ },
938+ {
939+ "type": "tidelift",
940+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
941+ }
942+ ],
943+ "dependencies": {
944+ "browserslist": "^4.21.4",
945+ "caniuse-lite": "^1.0.30001426",
946+ "fraction.js": "^4.2.0",
947+ "normalize-range": "^0.1.2",
948+ "picocolors": "^1.0.0",
949+ "postcss-value-parser": "^4.2.0"
950+ },
951+ "bin": {
952+ "autoprefixer": "bin/autoprefixer"
953+ },
954+ "engines": {
955+ "node": "^10 || ^12 || >=14"
956+ },
957+ "peerDependencies": {
958+ "postcss": "^8.1.0"
959+ }
960+ },
961+ "node_modules/binary-extensions": {
962+ "version": "2.2.0",
963+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
964+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
965+ "dev": true,
966+ "engines": {
967+ "node": ">=8"
968+ }
969+ },
970+ "node_modules/braces": {
971+ "version": "3.0.2",
972+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
973+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
974+ "dev": true,
975+ "dependencies": {
976+ "fill-range": "^7.0.1"
977+ },
978+ "engines": {
979+ "node": ">=8"
980+ }
981+ },
982+ "node_modules/browserslist": {
983+ "version": "4.21.4",
984+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
985+ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
986+ "dev": true,
987+ "funding": [
988+ {
989+ "type": "opencollective",
990+ "url": "https://opencollective.com/browserslist"
991+ },
992+ {
993+ "type": "tidelift",
994+ "url": "https://tidelift.com/funding/github/npm/browserslist"
995+ }
996+ ],
997+ "dependencies": {
998+ "caniuse-lite": "^1.0.30001400",
999+ "electron-to-chromium": "^1.4.251",
1000+ "node-releases": "^2.0.6",
1001+ "update-browserslist-db": "^1.0.9"
1002+ },
1003+ "bin": {
1004+ "browserslist": "cli.js"
1005+ },
1006+ "engines": {
1007+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1008+ }
1009+ },
1010+ "node_modules/camelcase-css": {
1011+ "version": "2.0.1",
1012+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
1013+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
1014+ "dev": true,
1015+ "engines": {
1016+ "node": ">= 6"
1017+ }
1018+ },
1019+ "node_modules/caniuse-lite": {
1020+ "version": "1.0.30001441",
1021+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz",
1022+ "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==",
1023+ "dev": true,
1024+ "funding": [
1025+ {
1026+ "type": "opencollective",
1027+ "url": "https://opencollective.com/browserslist"
1028+ },
1029+ {
1030+ "type": "tidelift",
1031+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1032+ }
1033+ ]
1034+ },
1035+ "node_modules/chalk": {
1036+ "version": "2.4.2",
1037+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1038+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1039+ "dev": true,
1040+ "dependencies": {
1041+ "ansi-styles": "^3.2.1",
1042+ "escape-string-regexp": "^1.0.5",
1043+ "supports-color": "^5.3.0"
1044+ },
1045+ "engines": {
1046+ "node": ">=4"
1047+ }
1048+ },
1049+ "node_modules/chokidar": {
1050+ "version": "3.5.3",
1051+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
1052+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
1053+ "dev": true,
1054+ "funding": [
1055+ {
1056+ "type": "individual",
1057+ "url": "https://paulmillr.com/funding/"
1058+ }
1059+ ],
1060+ "dependencies": {
1061+ "anymatch": "~3.1.2",
1062+ "braces": "~3.0.2",
1063+ "glob-parent": "~5.1.2",
1064+ "is-binary-path": "~2.1.0",
1065+ "is-glob": "~4.0.1",
1066+ "normalize-path": "~3.0.0",
1067+ "readdirp": "~3.6.0"
1068+ },
1069+ "engines": {
1070+ "node": ">= 8.10.0"
1071+ },
1072+ "optionalDependencies": {
1073+ "fsevents": "~2.3.2"
1074+ }
1075+ },
1076+ "node_modules/chokidar/node_modules/glob-parent": {
1077+ "version": "5.1.2",
1078+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1079+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1080+ "dev": true,
1081+ "dependencies": {
1082+ "is-glob": "^4.0.1"
1083+ },
1084+ "engines": {
1085+ "node": ">= 6"
1086+ }
1087+ },
1088+ "node_modules/color-convert": {
1089+ "version": "1.9.3",
1090+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1091+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1092+ "dev": true,
1093+ "dependencies": {
1094+ "color-name": "1.1.3"
1095+ }
1096+ },
1097+ "node_modules/color-name": {
1098+ "version": "1.1.3",
1099+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1100+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
1101+ "dev": true
1102+ },
1103+ "node_modules/convert-source-map": {
1104+ "version": "1.9.0",
1105+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
1106+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
1107+ "dev": true
1108+ },
1109+ "node_modules/cssesc": {
1110+ "version": "3.0.0",
1111+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
1112+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1113+ "dev": true,
1114+ "bin": {
1115+ "cssesc": "bin/cssesc"
1116+ },
1117+ "engines": {
1118+ "node": ">=4"
1119+ }
1120+ },
1121+ "node_modules/csstype": {
1122+ "version": "3.1.1",
1123+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
1124+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
1125+ "dev": true
1126+ },
1127+ "node_modules/debug": {
1128+ "version": "4.3.4",
1129+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1130+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1131+ "dev": true,
1132+ "dependencies": {
1133+ "ms": "2.1.2"
1134+ },
1135+ "engines": {
1136+ "node": ">=6.0"
1137+ },
1138+ "peerDependenciesMeta": {
1139+ "supports-color": {
1140+ "optional": true
1141+ }
1142+ }
1143+ },
1144+ "node_modules/defined": {
1145+ "version": "1.0.1",
1146+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
1147+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
1148+ "dev": true,
1149+ "funding": {
1150+ "url": "https://github.com/sponsors/ljharb"
1151+ }
1152+ },
1153+ "node_modules/detective": {
1154+ "version": "5.2.1",
1155+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
1156+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
1157+ "dev": true,
1158+ "dependencies": {
1159+ "acorn-node": "^1.8.2",
1160+ "defined": "^1.0.0",
1161+ "minimist": "^1.2.6"
1162+ },
1163+ "bin": {
1164+ "detective": "bin/detective.js"
1165+ },
1166+ "engines": {
1167+ "node": ">=0.8.0"
1168+ }
1169+ },
1170+ "node_modules/didyoumean": {
1171+ "version": "1.2.2",
1172+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
1173+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
1174+ "dev": true
1175+ },
1176+ "node_modules/dlv": {
1177+ "version": "1.1.3",
1178+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
1179+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
1180+ "dev": true
1181+ },
1182+ "node_modules/electron-to-chromium": {
1183+ "version": "1.4.284",
1184+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
1185+ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
1186+ "dev": true
1187+ },
1188+ "node_modules/esbuild": {
1189+ "version": "0.16.12",
1190+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.12.tgz",
1191+ "integrity": "sha512-eq5KcuXajf2OmivCl4e89AD3j8fbV+UTE9vczEzq5haA07U9oOTzBWlh3+6ZdjJR7Rz2QfWZ2uxZyhZxBgJ4+g==",
1192+ "dev": true,
1193+ "hasInstallScript": true,
1194+ "bin": {
1195+ "esbuild": "bin/esbuild"
1196+ },
1197+ "engines": {
1198+ "node": ">=12"
1199+ },
1200+ "optionalDependencies": {
1201+ "@esbuild/android-arm": "0.16.12",
1202+ "@esbuild/android-arm64": "0.16.12",
1203+ "@esbuild/android-x64": "0.16.12",
1204+ "@esbuild/darwin-arm64": "0.16.12",
1205+ "@esbuild/darwin-x64": "0.16.12",
1206+ "@esbuild/freebsd-arm64": "0.16.12",
1207+ "@esbuild/freebsd-x64": "0.16.12",
1208+ "@esbuild/linux-arm": "0.16.12",
1209+ "@esbuild/linux-arm64": "0.16.12",
1210+ "@esbuild/linux-ia32": "0.16.12",
1211+ "@esbuild/linux-loong64": "0.16.12",
1212+ "@esbuild/linux-mips64el": "0.16.12",
1213+ "@esbuild/linux-ppc64": "0.16.12",
1214+ "@esbuild/linux-riscv64": "0.16.12",
1215+ "@esbuild/linux-s390x": "0.16.12",
1216+ "@esbuild/linux-x64": "0.16.12",
1217+ "@esbuild/netbsd-x64": "0.16.12",
1218+ "@esbuild/openbsd-x64": "0.16.12",
1219+ "@esbuild/sunos-x64": "0.16.12",
1220+ "@esbuild/win32-arm64": "0.16.12",
1221+ "@esbuild/win32-ia32": "0.16.12",
1222+ "@esbuild/win32-x64": "0.16.12"
1223+ }
1224+ },
1225+ "node_modules/escalade": {
1226+ "version": "3.1.1",
1227+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1228+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1229+ "dev": true,
1230+ "engines": {
1231+ "node": ">=6"
1232+ }
1233+ },
1234+ "node_modules/escape-string-regexp": {
1235+ "version": "1.0.5",
1236+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1237+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
1238+ "dev": true,
1239+ "engines": {
1240+ "node": ">=0.8.0"
1241+ }
1242+ },
1243+ "node_modules/fast-glob": {
1244+ "version": "3.2.12",
1245+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
1246+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
1247+ "dev": true,
1248+ "dependencies": {
1249+ "@nodelib/fs.stat": "^2.0.2",
1250+ "@nodelib/fs.walk": "^1.2.3",
1251+ "glob-parent": "^5.1.2",
1252+ "merge2": "^1.3.0",
1253+ "micromatch": "^4.0.4"
1254+ },
1255+ "engines": {
1256+ "node": ">=8.6.0"
1257+ }
1258+ },
1259+ "node_modules/fast-glob/node_modules/glob-parent": {
1260+ "version": "5.1.2",
1261+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1262+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1263+ "dev": true,
1264+ "dependencies": {
1265+ "is-glob": "^4.0.1"
1266+ },
1267+ "engines": {
1268+ "node": ">= 6"
1269+ }
1270+ },
1271+ "node_modules/fastq": {
1272+ "version": "1.14.0",
1273+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz",
1274+ "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==",
1275+ "dev": true,
1276+ "dependencies": {
1277+ "reusify": "^1.0.4"
1278+ }
1279+ },
1280+ "node_modules/fill-range": {
1281+ "version": "7.0.1",
1282+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1283+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1284+ "dev": true,
1285+ "dependencies": {
1286+ "to-regex-range": "^5.0.1"
1287+ },
1288+ "engines": {
1289+ "node": ">=8"
1290+ }
1291+ },
1292+ "node_modules/fraction.js": {
1293+ "version": "4.2.0",
1294+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
1295+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
1296+ "dev": true,
1297+ "engines": {
1298+ "node": "*"
1299+ },
1300+ "funding": {
1301+ "type": "patreon",
1302+ "url": "https://www.patreon.com/infusion"
1303+ }
1304+ },
1305+ "node_modules/fsevents": {
1306+ "version": "2.3.2",
1307+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1308+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1309+ "dev": true,
1310+ "hasInstallScript": true,
1311+ "optional": true,
1312+ "os": [
1313+ "darwin"
1314+ ],
1315+ "engines": {
1316+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1317+ }
1318+ },
1319+ "node_modules/function-bind": {
1320+ "version": "1.1.1",
1321+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1322+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1323+ "dev": true
1324+ },
1325+ "node_modules/gensync": {
1326+ "version": "1.0.0-beta.2",
1327+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1328+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1329+ "dev": true,
1330+ "engines": {
1331+ "node": ">=6.9.0"
1332+ }
1333+ },
1334+ "node_modules/glob-parent": {
1335+ "version": "6.0.2",
1336+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1337+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1338+ "dev": true,
1339+ "dependencies": {
1340+ "is-glob": "^4.0.3"
1341+ },
1342+ "engines": {
1343+ "node": ">=10.13.0"
1344+ }
1345+ },
1346+ "node_modules/globals": {
1347+ "version": "11.12.0",
1348+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1349+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1350+ "dev": true,
1351+ "engines": {
1352+ "node": ">=4"
1353+ }
1354+ },
1355+ "node_modules/has": {
1356+ "version": "1.0.3",
1357+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1358+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1359+ "dev": true,
1360+ "dependencies": {
1361+ "function-bind": "^1.1.1"
1362+ },
1363+ "engines": {
1364+ "node": ">= 0.4.0"
1365+ }
1366+ },
1367+ "node_modules/has-flag": {
1368+ "version": "3.0.0",
1369+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1370+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
1371+ "dev": true,
1372+ "engines": {
1373+ "node": ">=4"
1374+ }
1375+ },
1376+ "node_modules/is-binary-path": {
1377+ "version": "2.1.0",
1378+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1379+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1380+ "dev": true,
1381+ "dependencies": {
1382+ "binary-extensions": "^2.0.0"
1383+ },
1384+ "engines": {
1385+ "node": ">=8"
1386+ }
1387+ },
1388+ "node_modules/is-core-module": {
1389+ "version": "2.11.0",
1390+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1391+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1392+ "dev": true,
1393+ "dependencies": {
1394+ "has": "^1.0.3"
1395+ },
1396+ "funding": {
1397+ "url": "https://github.com/sponsors/ljharb"
1398+ }
1399+ },
1400+ "node_modules/is-extglob": {
1401+ "version": "2.1.1",
1402+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1403+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1404+ "dev": true,
1405+ "engines": {
1406+ "node": ">=0.10.0"
1407+ }
1408+ },
1409+ "node_modules/is-glob": {
1410+ "version": "4.0.3",
1411+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1412+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1413+ "dev": true,
1414+ "dependencies": {
1415+ "is-extglob": "^2.1.1"
1416+ },
1417+ "engines": {
1418+ "node": ">=0.10.0"
1419+ }
1420+ },
1421+ "node_modules/is-number": {
1422+ "version": "7.0.0",
1423+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1424+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1425+ "dev": true,
1426+ "engines": {
1427+ "node": ">=0.12.0"
1428+ }
1429+ },
1430+ "node_modules/js-tokens": {
1431+ "version": "4.0.0",
1432+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1433+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1434+ },
1435+ "node_modules/jsesc": {
1436+ "version": "2.5.2",
1437+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1438+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1439+ "dev": true,
1440+ "bin": {
1441+ "jsesc": "bin/jsesc"
1442+ },
1443+ "engines": {
1444+ "node": ">=4"
1445+ }
1446+ },
1447+ "node_modules/json5": {
1448+ "version": "2.2.2",
1449+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
1450+ "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==",
1451+ "dev": true,
1452+ "bin": {
1453+ "json5": "lib/cli.js"
1454+ },
1455+ "engines": {
1456+ "node": ">=6"
1457+ }
1458+ },
1459+ "node_modules/lilconfig": {
1460+ "version": "2.0.6",
1461+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
1462+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
1463+ "dev": true,
1464+ "engines": {
1465+ "node": ">=10"
1466+ }
1467+ },
1468+ "node_modules/loose-envify": {
1469+ "version": "1.4.0",
1470+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1471+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1472+ "dependencies": {
1473+ "js-tokens": "^3.0.0 || ^4.0.0"
1474+ },
1475+ "bin": {
1476+ "loose-envify": "cli.js"
1477+ }
1478+ },
1479+ "node_modules/lru-cache": {
1480+ "version": "5.1.1",
1481+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1482+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1483+ "dev": true,
1484+ "dependencies": {
1485+ "yallist": "^3.0.2"
1486+ }
1487+ },
1488+ "node_modules/magic-string": {
1489+ "version": "0.27.0",
1490+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
1491+ "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
1492+ "dev": true,
1493+ "dependencies": {
1494+ "@jridgewell/sourcemap-codec": "^1.4.13"
1495+ },
1496+ "engines": {
1497+ "node": ">=12"
1498+ }
1499+ },
1500+ "node_modules/merge2": {
1501+ "version": "1.4.1",
1502+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1503+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1504+ "dev": true,
1505+ "engines": {
1506+ "node": ">= 8"
1507+ }
1508+ },
1509+ "node_modules/micromatch": {
1510+ "version": "4.0.5",
1511+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
1512+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
1513+ "dev": true,
1514+ "dependencies": {
1515+ "braces": "^3.0.2",
1516+ "picomatch": "^2.3.1"
1517+ },
1518+ "engines": {
1519+ "node": ">=8.6"
1520+ }
1521+ },
1522+ "node_modules/minimist": {
1523+ "version": "1.2.7",
1524+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
1525+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
1526+ "dev": true,
1527+ "funding": {
1528+ "url": "https://github.com/sponsors/ljharb"
1529+ }
1530+ },
1531+ "node_modules/ms": {
1532+ "version": "2.1.2",
1533+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1534+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1535+ "dev": true
1536+ },
1537+ "node_modules/nanoid": {
1538+ "version": "3.3.4",
1539+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1540+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1541+ "dev": true,
1542+ "bin": {
1543+ "nanoid": "bin/nanoid.cjs"
1544+ },
1545+ "engines": {
1546+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1547+ }
1548+ },
1549+ "node_modules/node-releases": {
1550+ "version": "2.0.8",
1551+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
1552+ "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
1553+ "dev": true
1554+ },
1555+ "node_modules/normalize-path": {
1556+ "version": "3.0.0",
1557+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1558+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1559+ "dev": true,
1560+ "engines": {
1561+ "node": ">=0.10.0"
1562+ }
1563+ },
1564+ "node_modules/normalize-range": {
1565+ "version": "0.1.2",
1566+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
1567+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
1568+ "dev": true,
1569+ "engines": {
1570+ "node": ">=0.10.0"
1571+ }
1572+ },
1573+ "node_modules/object-hash": {
1574+ "version": "3.0.0",
1575+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
1576+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
1577+ "dev": true,
1578+ "engines": {
1579+ "node": ">= 6"
1580+ }
1581+ },
1582+ "node_modules/path-parse": {
1583+ "version": "1.0.7",
1584+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1585+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1586+ "dev": true
1587+ },
1588+ "node_modules/picocolors": {
1589+ "version": "1.0.0",
1590+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1591+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
1592+ "dev": true
1593+ },
1594+ "node_modules/picomatch": {
1595+ "version": "2.3.1",
1596+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1597+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1598+ "dev": true,
1599+ "engines": {
1600+ "node": ">=8.6"
1601+ },
1602+ "funding": {
1603+ "url": "https://github.com/sponsors/jonschlinkert"
1604+ }
1605+ },
1606+ "node_modules/pify": {
1607+ "version": "2.3.0",
1608+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
1609+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
1610+ "dev": true,
1611+ "engines": {
1612+ "node": ">=0.10.0"
1613+ }
1614+ },
1615+ "node_modules/postcss": {
1616+ "version": "8.4.20",
1617+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
1618+ "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
1619+ "dev": true,
1620+ "funding": [
1621+ {
1622+ "type": "opencollective",
1623+ "url": "https://opencollective.com/postcss/"
1624+ },
1625+ {
1626+ "type": "tidelift",
1627+ "url": "https://tidelift.com/funding/github/npm/postcss"
1628+ }
1629+ ],
1630+ "dependencies": {
1631+ "nanoid": "^3.3.4",
1632+ "picocolors": "^1.0.0",
1633+ "source-map-js": "^1.0.2"
1634+ },
1635+ "engines": {
1636+ "node": "^10 || ^12 || >=14"
1637+ }
1638+ },
1639+ "node_modules/postcss-import": {
1640+ "version": "14.1.0",
1641+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
1642+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
1643+ "dev": true,
1644+ "dependencies": {
1645+ "postcss-value-parser": "^4.0.0",
1646+ "read-cache": "^1.0.0",
1647+ "resolve": "^1.1.7"
1648+ },
1649+ "engines": {
1650+ "node": ">=10.0.0"
1651+ },
1652+ "peerDependencies": {
1653+ "postcss": "^8.0.0"
1654+ }
1655+ },
1656+ "node_modules/postcss-js": {
1657+ "version": "4.0.0",
1658+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
1659+ "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
1660+ "dev": true,
1661+ "dependencies": {
1662+ "camelcase-css": "^2.0.1"
1663+ },
1664+ "engines": {
1665+ "node": "^12 || ^14 || >= 16"
1666+ },
1667+ "funding": {
1668+ "type": "opencollective",
1669+ "url": "https://opencollective.com/postcss/"
1670+ },
1671+ "peerDependencies": {
1672+ "postcss": "^8.3.3"
1673+ }
1674+ },
1675+ "node_modules/postcss-load-config": {
1676+ "version": "3.1.4",
1677+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
1678+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
1679+ "dev": true,
1680+ "dependencies": {
1681+ "lilconfig": "^2.0.5",
1682+ "yaml": "^1.10.2"
1683+ },
1684+ "engines": {
1685+ "node": ">= 10"
1686+ },
1687+ "funding": {
1688+ "type": "opencollective",
1689+ "url": "https://opencollective.com/postcss/"
1690+ },
1691+ "peerDependencies": {
1692+ "postcss": ">=8.0.9",
1693+ "ts-node": ">=9.0.0"
1694+ },
1695+ "peerDependenciesMeta": {
1696+ "postcss": {
1697+ "optional": true
1698+ },
1699+ "ts-node": {
1700+ "optional": true
1701+ }
1702+ }
1703+ },
1704+ "node_modules/postcss-nested": {
1705+ "version": "6.0.0",
1706+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
1707+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
1708+ "dev": true,
1709+ "dependencies": {
1710+ "postcss-selector-parser": "^6.0.10"
1711+ },
1712+ "engines": {
1713+ "node": ">=12.0"
1714+ },
1715+ "funding": {
1716+ "type": "opencollective",
1717+ "url": "https://opencollective.com/postcss/"
1718+ },
1719+ "peerDependencies": {
1720+ "postcss": "^8.2.14"
1721+ }
1722+ },
1723+ "node_modules/postcss-selector-parser": {
1724+ "version": "6.0.11",
1725+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
1726+ "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
1727+ "dev": true,
1728+ "dependencies": {
1729+ "cssesc": "^3.0.0",
1730+ "util-deprecate": "^1.0.2"
1731+ },
1732+ "engines": {
1733+ "node": ">=4"
1734+ }
1735+ },
1736+ "node_modules/postcss-value-parser": {
1737+ "version": "4.2.0",
1738+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1739+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
1740+ "dev": true
1741+ },
1742+ "node_modules/queue-microtask": {
1743+ "version": "1.2.3",
1744+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1745+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1746+ "dev": true,
1747+ "funding": [
1748+ {
1749+ "type": "github",
1750+ "url": "https://github.com/sponsors/feross"
1751+ },
1752+ {
1753+ "type": "patreon",
1754+ "url": "https://www.patreon.com/feross"
1755+ },
1756+ {
1757+ "type": "consulting",
1758+ "url": "https://feross.org/support"
1759+ }
1760+ ]
1761+ },
1762+ "node_modules/quick-lru": {
1763+ "version": "5.1.1",
1764+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
1765+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
1766+ "dev": true,
1767+ "engines": {
1768+ "node": ">=10"
1769+ },
1770+ "funding": {
1771+ "url": "https://github.com/sponsors/sindresorhus"
1772+ }
1773+ },
1774+ "node_modules/react": {
1775+ "version": "18.2.0",
1776+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1777+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1778+ "dependencies": {
1779+ "loose-envify": "^1.1.0"
1780+ },
1781+ "engines": {
1782+ "node": ">=0.10.0"
1783+ }
1784+ },
1785+ "node_modules/react-dom": {
1786+ "version": "18.2.0",
1787+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
1788+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
1789+ "dependencies": {
1790+ "loose-envify": "^1.1.0",
1791+ "scheduler": "^0.23.0"
1792+ },
1793+ "peerDependencies": {
1794+ "react": "^18.2.0"
1795+ }
1796+ },
1797+ "node_modules/react-refresh": {
1798+ "version": "0.14.0",
1799+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
1800+ "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
1801+ "dev": true,
1802+ "engines": {
1803+ "node": ">=0.10.0"
1804+ }
1805+ },
1806+ "node_modules/read-cache": {
1807+ "version": "1.0.0",
1808+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
1809+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
1810+ "dev": true,
1811+ "dependencies": {
1812+ "pify": "^2.3.0"
1813+ }
1814+ },
1815+ "node_modules/readdirp": {
1816+ "version": "3.6.0",
1817+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1818+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1819+ "dev": true,
1820+ "dependencies": {
1821+ "picomatch": "^2.2.1"
1822+ },
1823+ "engines": {
1824+ "node": ">=8.10.0"
1825+ }
1826+ },
1827+ "node_modules/resolve": {
1828+ "version": "1.22.1",
1829+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1830+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1831+ "dev": true,
1832+ "dependencies": {
1833+ "is-core-module": "^2.9.0",
1834+ "path-parse": "^1.0.7",
1835+ "supports-preserve-symlinks-flag": "^1.0.0"
1836+ },
1837+ "bin": {
1838+ "resolve": "bin/resolve"
1839+ },
1840+ "funding": {
1841+ "url": "https://github.com/sponsors/ljharb"
1842+ }
1843+ },
1844+ "node_modules/reusify": {
1845+ "version": "1.0.4",
1846+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1847+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1848+ "dev": true,
1849+ "engines": {
1850+ "iojs": ">=1.0.0",
1851+ "node": ">=0.10.0"
1852+ }
1853+ },
1854+ "node_modules/rollup": {
1855+ "version": "3.9.0",
1856+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.9.0.tgz",
1857+ "integrity": "sha512-nGGylpmblyjTpF4lEUPgmOw6OVxRvnI6Iuuh6Lz4O/X66cVOX1XJSsqP1YamxQ+mPuFE7qJxLFDSCk8rNv5dDw==",
1858+ "dev": true,
1859+ "bin": {
1860+ "rollup": "dist/bin/rollup"
1861+ },
1862+ "engines": {
1863+ "node": ">=14.18.0",
1864+ "npm": ">=8.0.0"
1865+ },
1866+ "optionalDependencies": {
1867+ "fsevents": "~2.3.2"
1868+ }
1869+ },
1870+ "node_modules/run-parallel": {
1871+ "version": "1.2.0",
1872+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1873+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1874+ "dev": true,
1875+ "funding": [
1876+ {
1877+ "type": "github",
1878+ "url": "https://github.com/sponsors/feross"
1879+ },
1880+ {
1881+ "type": "patreon",
1882+ "url": "https://www.patreon.com/feross"
1883+ },
1884+ {
1885+ "type": "consulting",
1886+ "url": "https://feross.org/support"
1887+ }
1888+ ],
1889+ "dependencies": {
1890+ "queue-microtask": "^1.2.2"
1891+ }
1892+ },
1893+ "node_modules/scheduler": {
1894+ "version": "0.23.0",
1895+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
1896+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
1897+ "dependencies": {
1898+ "loose-envify": "^1.1.0"
1899+ }
1900+ },
1901+ "node_modules/semver": {
1902+ "version": "6.3.0",
1903+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1904+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1905+ "dev": true,
1906+ "bin": {
1907+ "semver": "bin/semver.js"
1908+ }
1909+ },
1910+ "node_modules/source-map-js": {
1911+ "version": "1.0.2",
1912+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1913+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1914+ "dev": true,
1915+ "engines": {
1916+ "node": ">=0.10.0"
1917+ }
1918+ },
1919+ "node_modules/supports-color": {
1920+ "version": "5.5.0",
1921+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1922+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1923+ "dev": true,
1924+ "dependencies": {
1925+ "has-flag": "^3.0.0"
1926+ },
1927+ "engines": {
1928+ "node": ">=4"
1929+ }
1930+ },
1931+ "node_modules/supports-preserve-symlinks-flag": {
1932+ "version": "1.0.0",
1933+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1934+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1935+ "dev": true,
1936+ "engines": {
1937+ "node": ">= 0.4"
1938+ },
1939+ "funding": {
1940+ "url": "https://github.com/sponsors/ljharb"
1941+ }
1942+ },
1943+ "node_modules/tailwindcss": {
1944+ "version": "3.2.4",
1945+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
1946+ "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
1947+ "dev": true,
1948+ "dependencies": {
1949+ "arg": "^5.0.2",
1950+ "chokidar": "^3.5.3",
1951+ "color-name": "^1.1.4",
1952+ "detective": "^5.2.1",
1953+ "didyoumean": "^1.2.2",
1954+ "dlv": "^1.1.3",
1955+ "fast-glob": "^3.2.12",
1956+ "glob-parent": "^6.0.2",
1957+ "is-glob": "^4.0.3",
1958+ "lilconfig": "^2.0.6",
1959+ "micromatch": "^4.0.5",
1960+ "normalize-path": "^3.0.0",
1961+ "object-hash": "^3.0.0",
1962+ "picocolors": "^1.0.0",
1963+ "postcss": "^8.4.18",
1964+ "postcss-import": "^14.1.0",
1965+ "postcss-js": "^4.0.0",
1966+ "postcss-load-config": "^3.1.4",
1967+ "postcss-nested": "6.0.0",
1968+ "postcss-selector-parser": "^6.0.10",
1969+ "postcss-value-parser": "^4.2.0",
1970+ "quick-lru": "^5.1.1",
1971+ "resolve": "^1.22.1"
1972+ },
1973+ "bin": {
1974+ "tailwind": "lib/cli.js",
1975+ "tailwindcss": "lib/cli.js"
1976+ },
1977+ "engines": {
1978+ "node": ">=12.13.0"
1979+ },
1980+ "peerDependencies": {
1981+ "postcss": "^8.0.9"
1982+ }
1983+ },
1984+ "node_modules/tailwindcss/node_modules/color-name": {
1985+ "version": "1.1.4",
1986+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1987+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1988+ "dev": true
1989+ },
1990+ "node_modules/to-fast-properties": {
1991+ "version": "2.0.0",
1992+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1993+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
1994+ "dev": true,
1995+ "engines": {
1996+ "node": ">=4"
1997+ }
1998+ },
1999+ "node_modules/to-regex-range": {
2000+ "version": "5.0.1",
2001+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2002+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2003+ "dev": true,
2004+ "dependencies": {
2005+ "is-number": "^7.0.0"
2006+ },
2007+ "engines": {
2008+ "node": ">=8.0"
2009+ }
2010+ },
2011+ "node_modules/typescript": {
2012+ "version": "4.9.4",
2013+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
2014+ "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
2015+ "dev": true,
2016+ "bin": {
2017+ "tsc": "bin/tsc",
2018+ "tsserver": "bin/tsserver"
2019+ },
2020+ "engines": {
2021+ "node": ">=4.2.0"
2022+ }
2023+ },
2024+ "node_modules/update-browserslist-db": {
2025+ "version": "1.0.10",
2026+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
2027+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
2028+ "dev": true,
2029+ "funding": [
2030+ {
2031+ "type": "opencollective",
2032+ "url": "https://opencollective.com/browserslist"
2033+ },
2034+ {
2035+ "type": "tidelift",
2036+ "url": "https://tidelift.com/funding/github/npm/browserslist"
2037+ }
2038+ ],
2039+ "dependencies": {
2040+ "escalade": "^3.1.1",
2041+ "picocolors": "^1.0.0"
2042+ },
2043+ "bin": {
2044+ "browserslist-lint": "cli.js"
2045+ },
2046+ "peerDependencies": {
2047+ "browserslist": ">= 4.21.0"
2048+ }
2049+ },
2050+ "node_modules/util-deprecate": {
2051+ "version": "1.0.2",
2052+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2053+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2054+ "dev": true
2055+ },
2056+ "node_modules/vite": {
2057+ "version": "4.0.3",
2058+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.3.tgz",
2059+ "integrity": "sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==",
2060+ "dev": true,
2061+ "dependencies": {
2062+ "esbuild": "^0.16.3",
2063+ "postcss": "^8.4.20",
2064+ "resolve": "^1.22.1",
2065+ "rollup": "^3.7.0"
2066+ },
2067+ "bin": {
2068+ "vite": "bin/vite.js"
2069+ },
2070+ "engines": {
2071+ "node": "^14.18.0 || >=16.0.0"
2072+ },
2073+ "optionalDependencies": {
2074+ "fsevents": "~2.3.2"
2075+ },
2076+ "peerDependencies": {
2077+ "@types/node": ">= 14",
2078+ "less": "*",
2079+ "sass": "*",
2080+ "stylus": "*",
2081+ "sugarss": "*",
2082+ "terser": "^5.4.0"
2083+ },
2084+ "peerDependenciesMeta": {
2085+ "@types/node": {
2086+ "optional": true
2087+ },
2088+ "less": {
2089+ "optional": true
2090+ },
2091+ "sass": {
2092+ "optional": true
2093+ },
2094+ "stylus": {
2095+ "optional": true
2096+ },
2097+ "sugarss": {
2098+ "optional": true
2099+ },
2100+ "terser": {
2101+ "optional": true
2102+ }
2103+ }
2104+ },
2105+ "node_modules/xtend": {
2106+ "version": "4.0.2",
2107+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
2108+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
2109+ "dev": true,
2110+ "engines": {
2111+ "node": ">=0.4"
2112+ }
2113+ },
2114+ "node_modules/yallist": {
2115+ "version": "3.1.1",
2116+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2117+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2118+ "dev": true
2119+ },
2120+ "node_modules/yaml": {
2121+ "version": "1.10.2",
2122+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
2123+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
2124+ "dev": true,
2125+ "engines": {
2126+ "node": ">= 6"
2127+ }
2128+ }
2129+ }
2130+}
+25-0package.json
@@ -0,0 +1,25 @@
1+{
2+ "name": "vflcountdown",
3+ "private": true,
4+ "version": "0.0.0",
5+ "type": "module",
6+ "scripts": {
7+ "dev": "vite",
8+ "build": "tsc && vite build",
9+ "preview": "vite preview"
10+ },
11+ "dependencies": {
12+ "react": "^18.2.0",
13+ "react-dom": "^18.2.0"
14+ },
15+ "devDependencies": {
16+ "@types/react": "^18.0.26",
17+ "@types/react-dom": "^18.0.9",
18+ "@vitejs/plugin-react": "^3.0.0",
19+ "autoprefixer": "^10.4.13",
20+ "postcss": "^8.4.20",
21+ "tailwindcss": "^3.2.4",
22+ "typescript": "^4.9.3",
23+ "vite": "^4.0.0"
24+ }
25+}
+6-0postcss.config.cjs
@@ -0,0 +1,6 @@
1+module.exports = {
2+ plugins: {
3+ tailwindcss: {},
4+ autoprefixer: {},
5+ },
6+};
+0-0public/favicon.ico

Binary file changed.

+17-0src/App.tsx
@@ -0,0 +1,17 @@
1+import { useState } from "react";
2+import reactLogo from "./assets/react.svg";
3+import Hero from "./components/Hero";
4+import Card from "./components/Card";
5+import video from "./assets/goalpost.mp4";
6+
7+function App() {
8+ return (
9+ <div>
10+ <Hero src={video}>
11+ <Card>hello</Card>
12+ </Hero>
13+ </div>
14+ );
15+}
16+
17+export default App;
+0-0src/assets/goalpost.mp4

Binary file changed.

+27-0src/components/Card.tsx
@@ -0,0 +1,27 @@
1+import React, { useRef } from "react";
2+import TimeBlock from "./TimeBlock";
3+
4+type Props = {
5+ children?: React.ReactNode;
6+};
7+
8+const Card = (props: Props) => {
9+ const days = useRef(0);
10+ const hours = useRef(1);
11+ const mins = useRef(2);
12+ const secs = useRef(3);
13+ return (
14+ <div className="h-screen w-screen relative">
15+ <div className="absolute mx-auto w-11/12 h-28 right-0 left-0 bg-slate-400 top-16 opacity-40 rounded-md shadow-sm"></div>
16+ <div className="absolute mx-auto w-11/12 h-28 right-0 left-0 top-16 flex px-1">
17+ <TimeBlock ref={days} unit="DAYS" />
18+ <TimeBlock ref={hours} unit="HOURS" />
19+ <TimeBlock ref={mins} unit="MINS" />
20+ <TimeBlock ref={secs} unit="SECS" />
21+ </div>
22+ ;
23+ </div>
24+ );
25+};
26+
27+export default Card;
+25-0src/components/Hero.tsx
@@ -0,0 +1,25 @@
1+import React from "react";
2+
3+interface Props {
4+ src: string;
5+ children?: React.ReactNode;
6+ alt?: string;
7+}
8+
9+const Hero = (props: Props) => {
10+ return (
11+ <div className="relative h-screen w-screen">
12+ <video
13+ src={props.src}
14+ className="w-full h-full object-cover"
15+ autoPlay
16+ loop
17+ muted
18+ playsInline
19+ />
20+ <div className="absolute top-0 left-0 h-full">{props?.children}</div>
21+ </div>
22+ );
23+};
24+
25+export default Hero;
+17-0src/components/TimeBlock.tsx
@@ -0,0 +1,17 @@
1+import React from "react";
2+
3+type Props = {
4+ ref: React.MutableRefObject<number>;
5+ unit: string;
6+};
7+
8+const TimeBlock = (props: Props) => {
9+ return (
10+ <div className="w-full my-2 mx-1 bg-slate-400 opacity-90 text-center flex flex-col justify-center rounded-sm">
11+ <div className="text-orange-500 font-mono font-bold text-4xl">{0}</div>
12+ <div className="text-white font-mono text-xl">{props.unit}</div>
13+ </div>
14+ );
15+};
16+
17+export default TimeBlock;
+3-0src/index.css
@@ -0,0 +1,3 @@
1+@tailwind base;
2+@tailwind components;
3+@tailwind utilities;
+10-0src/main.tsx
@@ -0,0 +1,10 @@
1+import React from 'react'
2+import ReactDOM from 'react-dom/client'
3+import App from './App'
4+import './index.css'
5+
6+ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
7+ <React.StrictMode>
8+ <App />
9+ </React.StrictMode>,
10+)
+1-0src/vite-env.d.ts
@@ -0,0 +1 @@
1+/// <reference types="vite/client" />
+8-0tailwind.config.cjs
@@ -0,0 +1,8 @@
1+/** @type {import('tailwindcss').Config} */
2+module.exports = {
3+ content: ["./src/**/*.{html,js,ts,tsx}"],
4+ theme: {
5+ extend: {},
6+ },
7+ plugins: [],
8+};
+21-0tsconfig.json
@@ -0,0 +1,21 @@
1+{
2+ "compilerOptions": {
3+ "target": "ESNext",
4+ "useDefineForClassFields": true,
5+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
6+ "allowJs": false,
7+ "skipLibCheck": true,
8+ "esModuleInterop": false,
9+ "allowSyntheticDefaultImports": true,
10+ "strict": true,
11+ "forceConsistentCasingInFileNames": true,
12+ "module": "ESNext",
13+ "moduleResolution": "Node",
14+ "resolveJsonModule": true,
15+ "isolatedModules": true,
16+ "noEmit": true,
17+ "jsx": "react-jsx"
18+ },
19+ "include": ["src"],
20+ "references": [{ "path": "./tsconfig.node.json" }]
21+}
+9-0tsconfig.node.json
@@ -0,0 +1,9 @@
1+{
2+ "compilerOptions": {
3+ "composite": true,
4+ "module": "ESNext",
5+ "moduleResolution": "Node",
6+ "allowSyntheticDefaultImports": true
7+ },
8+ "include": ["vite.config.ts"]
9+}
+7-0vite.config.ts
@@ -0,0 +1,7 @@
1+import { defineConfig } from 'vite'
2+import react from '@vitejs/plugin-react'
3+
4+// https://vitejs.dev/config/
5+export default defineConfig({
6+ plugins: [react()],
7+})