From fd09dff381db365886c7afe596f583b1d7aeda99 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Mon, 6 Feb 2023 20:57:34 +0100 Subject: [PATCH] basic pwa setup --- .gitignore | 4 +- pnpm-lock.yaml | 1653 ++++++++++++++++- website/README.md | 7 + website/astro.config.mjs | 40 + website/package.json | 9 +- website/public/icon.png | Bin 0 -> 35958 bytes website/public/icons/apple-icon-180.png | Bin 0 -> 11375 bytes .../icons/manifest-icon-192.maskable.png | Bin 0 -> 12638 bytes .../icons/manifest-icon-512.maskable.png | Bin 0 -> 45307 bytes website/src/components/HeadCommon.astro | 12 + website/src/env.d.ts | 2 + website/src/layouts/MainLayout.astro | 2 +- website/src/pages/index.astro | 2 +- website/src/pwa.ts | 11 + website/src/repl/Footer.jsx | 2 +- website/tsconfig.json | 6 +- 16 files changed, 1678 insertions(+), 72 deletions(-) create mode 100644 website/public/icon.png create mode 100644 website/public/icons/apple-icon-180.png create mode 100644 website/public/icons/manifest-icon-192.maskable.png create mode 100644 website/public/icons/manifest-icon-512.maskable.png create mode 100644 website/src/pwa.ts diff --git a/.gitignore b/.gitignore index 52900ad4..aaebb858 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,6 @@ talk/public/EmuSP12 talk/public/samples server/samples/old repl/stats.html -coverage \ No newline at end of file +coverage +public/icons/apple-splash-* +dev-dist \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ce03f49c..477cb723 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -373,6 +373,7 @@ importers: '@types/node': ^18.0.0 '@types/react': ^18.0.26 '@types/react-dom': ^18.0.9 + '@vite-pwa/astro': ^0.0.1 astro: ^1.7.2 canvas: ^2.11.0 fraction.js: ^4.2.0 @@ -385,6 +386,8 @@ importers: rehype-slug: ^5.0.1 remark-toc: ^8.0.1 tailwindcss: ^3.2.4 + vite-plugin-pwa: ^0.14.1 + workbox-window: ^6.5.4 dependencies: '@algolia/client-search': 4.14.3 '@astrojs/mdx': 0.13.0 @@ -424,7 +427,10 @@ importers: remark-toc: 8.0.1 tailwindcss: 3.2.4 devDependencies: + '@vite-pwa/astro': 0.0.1 html-escaper: 3.0.3 + vite-plugin-pwa: 0.14.1_workbox-window@6.5.4 + workbox-window: 6.5.4 packages: @@ -546,6 +552,18 @@ packages: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.17 + /@apideck/better-ajv-errors/0.3.6_ajv@8.12.0: + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} + engines: {node: '>=10'} + peerDependencies: + ajv: '>=8' + dependencies: + ajv: 8.12.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: true + /@astrojs/compiler/0.31.4: resolution: {integrity: sha512-6bBFeDTtPOn4jZaiD3p0f05MEGQL9pw2Zbfj546oFETNmjJFWO3nzHz6/m+P53calknCvyVzZ5YhoBLIvzn5iw==} dev: false @@ -769,6 +787,14 @@ packages: dependencies: '@babel/types': 7.20.7 + /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.20.7 + dev: true + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} @@ -782,10 +808,63 @@ packages: lru-cache: 5.1.1 semver: 6.3.0 + /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.12: + resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-member-expression-to-functions': 7.20.7 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.2.2 + dev: true + + /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.12: + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-environment-visitor/7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} + /@babel/helper-explode-assignable-expression/7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + /@babel/helper-function-name/7.19.0: resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} engines: {node: '>=6.9.0'} @@ -799,6 +878,13 @@ packages: dependencies: '@babel/types': 7.20.7 + /@babel/helper-member-expression-to-functions/7.20.7: + resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} @@ -820,16 +906,59 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helper-optimise-call-expression/7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + /@babel/helper-plugin-utils/7.20.2: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} + /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers/7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-simple-access/7.20.2: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 + /@babel/helper-skip-transparent-expression-wrappers/7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} @@ -848,6 +977,18 @@ packages: resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} engines: {node: '>=6.9.0'} + /@babel/helper-wrap-function/7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.19.0 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helpers/7.20.13: resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==} engines: {node: '>=6.9.0'} @@ -881,6 +1022,277 @@ packages: dependencies: '@babel/types': 7.20.7 + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-static-block/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.12: + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.12: + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} @@ -890,6 +1302,348 @@ packages: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.12: + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12: + resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/template': 7.20.7 + dev: true + + /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.12: + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.12: + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.12: + resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.12: + resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + /@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} engines: {node: '>=6.9.0'} @@ -933,12 +1687,203 @@ packages: '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 '@babel/types': 7.20.7 + /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 + dev: true + + /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + dev: true + + /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.12: + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/preset-env/7.20.2_@babel+core@7.20.12: + resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-class-static-block': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.12 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.12 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12 + '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12 + '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.12 + '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.12 + '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12 + '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.12 + '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.12 + '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.12 + '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.12 + '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.12 + '@babel/preset-modules': 0.1.5_@babel+core@7.20.12 + '@babel/types': 7.20.7 + babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.12 + babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.12 + babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.12 + core-js-compat: 3.27.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules/0.1.5_@babel+core@7.20.12: + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12 + '@babel/types': 7.20.7 + esutils: 2.0.3 + dev: true + /@babel/runtime/7.20.13: resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 - dev: false /@babel/template/7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} @@ -1416,6 +2361,13 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + /@jridgewell/source-map/0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} @@ -2442,6 +3394,74 @@ packages: tsm: 2.3.0 dev: false + /@rollup/plugin-babel/5.3.1_3dsfpkpoyvuuxyfgdbpn4j4uzm: + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-imports': 7.18.6 + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1: + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@types/resolve': 1.17.1 + builtin-modules: 3.3.0 + deepmerge: 4.2.2 + is-module: 1.0.0 + resolve: 1.22.1 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-replace/2.4.2_rollup@2.79.1: + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + magic-string: 0.25.9 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-replace/5.0.2_rollup@3.12.0: + resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2_rollup@3.12.0 + magic-string: 0.27.0 + rollup: 3.12.0 + dev: true + + /@rollup/pluginutils/3.1.0_rollup@2.79.1: + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + /@rollup/pluginutils/5.0.2: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} @@ -2456,6 +3476,21 @@ packages: picomatch: 2.3.1 dev: false + /@rollup/pluginutils/5.0.2_rollup@3.12.0: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.12.0 + dev: true + /@supabase/functions-js/1.3.4: resolution: {integrity: sha512-yYVgkECjv7IZEBKBI3EB5Q7R1p0FJ10g8Q9N7SWKIHUU6i6DnbEGHIMFLyQRm1hmiNWD8fL7bRVEYacmTRJhHw==} dependencies: @@ -2510,6 +3545,15 @@ packages: - supports-color dev: false + /@surma/rollup-plugin-off-main-thread/2.2.3: + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + dependencies: + ejs: 3.1.8 + json5: 2.2.3 + magic-string: 0.25.9 + string.prototype.matchall: 4.0.8 + dev: true + /@tailwindcss/typography/0.5.9_tailwindcss@3.2.4: resolution: {integrity: sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==} peerDependencies: @@ -2749,9 +3793,12 @@ packages: '@types/estree': 1.0.0 dev: false + /@types/estree/0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true + /@types/estree/1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: false /@types/extend/3.0.1: resolution: {integrity: sha512-R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==} @@ -2869,6 +3916,12 @@ packages: '@types/scheduler': 0.16.2 csstype: 3.1.1 + /@types/resolve/1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 18.11.18 + dev: true + /@types/resolve/1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: false @@ -2876,6 +3929,10 @@ packages: /@types/scheduler/0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} + /@types/trusted-types/2.0.2: + resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} + dev: true + /@types/unist/2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: false @@ -2967,6 +4024,10 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: false + /@vite-pwa/astro/0.0.1: + resolution: {integrity: sha512-FkX3F+JbVVjSjXrHkE681ZmOSIS2h43ldj7+YnBf52/qoSM9Ns05kNcjC7RNSIlRpD0a0TN1efutulDWWra6UQ==} + dev: true + /@vitejs/plugin-react/2.2.0_vite@3.2.5: resolution: {integrity: sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3087,6 +4148,15 @@ packages: uri-js: 4.4.1 dev: true + /ajv/8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + /algoliasearch/4.14.3: resolution: {integrity: sha512-GZTEuxzfWbP/vr7ZJfGzIl8fOsoxN916Z6FY2Egc9q2TmZ6hvq5KfAxY89pPW01oW/2HDEKA8d30f9iAH9eXYg==} dependencies: @@ -3436,6 +4506,10 @@ packages: lodash: 4.17.21 dev: true + /async/3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + /asynckit/0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true @@ -3492,6 +4566,42 @@ packages: resolve: 1.22.1 dev: false + /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.12: + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.12: + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 + core-js-compat: 3.27.2 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.12: + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + /bail/2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} dev: false @@ -3560,6 +4670,12 @@ packages: balanced-match: 1.0.2 concat-map: 0.0.1 + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -3602,6 +4718,11 @@ packages: node-gyp-build: 4.6.0 dev: false + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + /builtins/1.0.3: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} dev: true @@ -4045,6 +5166,11 @@ packages: engines: {node: '>=8'} dev: true + /common-tags/1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + /commondir/1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true @@ -4178,6 +5304,12 @@ packages: engines: {node: '>= 0.6'} dev: false + /core-js-compat/3.27.2: + resolution: {integrity: sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==} + dependencies: + browserslist: 4.21.4 + dev: true + /core-util-is/1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true @@ -4216,6 +5348,11 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /crypto-random-string/2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + /cssesc/3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -4344,7 +5481,6 @@ packages: /deepmerge/4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} - dev: false /defaults/1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -4613,6 +5749,14 @@ packages: safer-buffer: 2.1.2 dev: true + /ejs/3.1.8: + resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.5 + dev: true + /electron-to-chromium/1.4.284: resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} @@ -5300,9 +6444,12 @@ packages: '@types/unist': 2.0.6 dev: false + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + /estree-walker/2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: false /estree-walker/3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -5447,6 +6594,12 @@ packages: glob: 7.2.3 dev: true + /filelist/1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 + dev: true + /filename-reserved-regex/2.0.0: resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} engines: {node: '>=4'} @@ -5736,7 +6889,6 @@ packages: /get-own-enumerable-property-symbols/3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: false /get-pkg-repo/4.2.1: resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} @@ -6296,6 +7448,10 @@ packages: dev: true optional: true + /idb/7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + dev: true + /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -6544,6 +7700,10 @@ packages: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} dev: true + /is-module/1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true + /is-negative-zero/2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -6563,7 +7723,6 @@ packages: /is-obj/1.0.1: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} - dev: false /is-obj/2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -6619,7 +7778,6 @@ packages: /is-regexp/1.0.0: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} - dev: false /is-relative-path/1.0.2: resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} @@ -6745,11 +7903,31 @@ packages: istanbul-lib-report: 3.0.0 dev: true + /jake/10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + /jazz-midi/1.7.9: resolution: {integrity: sha512-c8c4BBgwxdsIr1iVm53nadCrtH7BUlnX3V95ciK/gbvXN/ndE5+POskBalXgqlc/r9p2XUbdLTrgrC6fou5p9w==} engines: {node: '>=10.0.0'} dev: false + /jest-worker/26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 18.11.18 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + /js-sdsl/4.3.0: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: true @@ -6871,6 +8049,11 @@ packages: underscore: 1.13.6 dev: true + /jsesc/0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + /jsesc/2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -6888,6 +8071,10 @@ packages: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + /json-schema/0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} dev: true @@ -6942,6 +8129,11 @@ packages: engines: {'0': node >= 0.2.0} dev: true + /jsonpointer/5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: true + /jsprim/1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} engines: {node: '>=0.6.0'} @@ -7009,6 +8201,11 @@ packages: - supports-color dev: true + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + /levn/0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} @@ -7140,6 +8337,10 @@ packages: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: false + /lodash.debounce/4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + /lodash.ismatch/4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true @@ -7163,6 +8364,10 @@ packages: resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} dev: true + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true + /lodash.template/4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: @@ -7214,6 +8419,12 @@ packages: dependencies: yallist: 4.0.0 + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + /magic-string/0.26.7: resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} engines: {node: '>=12'} @@ -7226,7 +8437,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 - dev: false /make-dir/2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} @@ -7974,6 +9184,13 @@ packages: dependencies: brace-expansion: 1.1.11 + /minimatch/5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist-options/4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -9004,17 +10221,6 @@ packages: - supports-color dev: true - /postcss-import/14.1.0: - resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} - engines: {node: '>=10.0.0'} - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.1 - dev: false - /postcss-import/14.1.0_postcss@8.4.21: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} @@ -9025,16 +10231,6 @@ packages: postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 - dev: true - - /postcss-js/4.0.0: - resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.3.3 - dependencies: - camelcase-css: 2.0.1 - dev: false /postcss-js/4.0.0_postcss@8.4.21: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} @@ -9044,23 +10240,6 @@ packages: dependencies: camelcase-css: 2.0.1 postcss: 8.4.21 - dev: true - - /postcss-load-config/3.1.4: - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.0.6 - yaml: 1.10.2 - dev: false /postcss-load-config/3.1.4_postcss@8.4.21: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} @@ -9078,15 +10257,6 @@ packages: postcss: 8.4.21 yaml: 1.10.2 - /postcss-nested/6.0.0: - resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dependencies: - postcss-selector-parser: 6.0.11 - dev: false - /postcss-nested/6.0.0_postcss@8.4.21: resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} @@ -9095,7 +10265,6 @@ packages: dependencies: postcss: 8.4.21 postcss-selector-parser: 6.0.11 - dev: true /postcss-selector-parser/6.0.10: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} @@ -9224,6 +10393,16 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + /pretty-bytes/5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /pretty-bytes/6.1.0: + resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==} + engines: {node: ^14.13.1 || >=16.0.0} + dev: true + /pretty-format/3.8.0: resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} dev: false @@ -9351,6 +10530,12 @@ packages: resolution: {integrity: sha512-A9hihu7dUTLOUCM+I8E61V4kRXnN4DwYeK0DwCBydC1MqNI1PidyAtbtpsJlBBzK4icSctEcCQ1bGcLpBuETUQ==} dev: false + /randombytes/2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + /rc/1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -9590,9 +10775,25 @@ packages: test-value: 2.1.0 dev: true + /regenerate-unicode-properties/10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate/1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + /regenerator-runtime/0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - dev: false + + /regenerator-transform/0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + dependencies: + '@babel/runtime': 7.20.13 + dev: true /regexp.prototype.flags/1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} @@ -9607,6 +10808,29 @@ packages: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} + /regexpu-core/5.2.2: + resolution: {integrity: sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsgen: 0.7.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsgen/0.7.1: + resolution: {integrity: sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==} + dev: true + + /regjsparser/0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + /rehype-autolink-headings/6.1.1: resolution: {integrity: sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==} dependencies: @@ -9771,6 +10995,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + /requirejs-config-file/4.0.0: resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} engines: {node: '>=10.13.0'} @@ -9910,6 +11139,19 @@ packages: sprintf-js: 1.1.2 dev: false + /rollup-plugin-terser/7.0.2_rollup@2.79.1: + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + peerDependencies: + rollup: ^2.0.0 + dependencies: + '@babel/code-frame': 7.18.6 + jest-worker: 26.6.2 + rollup: 2.79.1 + serialize-javascript: 4.0.0 + terser: 5.16.3 + dev: true + /rollup-plugin-visualizer/5.9.0: resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} engines: {node: '>=14'} @@ -10047,6 +11289,12 @@ packages: type-fest: 0.13.1 dev: false + /serialize-javascript/4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + dependencies: + randombytes: 2.1.0 + dev: true + /set-blocking/2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -10247,6 +11495,13 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + /source-map/0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} @@ -10260,6 +11515,13 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead @@ -10395,6 +11657,19 @@ packages: strip-ansi: 7.0.1 dev: false + /string.prototype.matchall/4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.21.1 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + internal-slot: 1.0.4 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + dev: true + /string.prototype.trimend/1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: @@ -10435,7 +11710,6 @@ packages: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 - dev: false /strip-ansi/3.0.1: resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} @@ -10469,6 +11743,11 @@ packages: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} + /strip-comments/2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + dev: true + /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -10594,8 +11873,6 @@ packages: resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==} engines: {node: '>=12.13.0'} hasBin: true - peerDependencies: - postcss: ^8.0.9 dependencies: arg: 5.0.2 chokidar: 3.5.3 @@ -10612,10 +11889,10 @@ packages: object-hash: 3.0.0 picocolors: 1.0.0 postcss: 8.4.21 - postcss-import: 14.1.0 - postcss-js: 4.0.0 - postcss-load-config: 3.1.4 - postcss-nested: 6.0.0 + postcss-import: 14.1.0_postcss@8.4.21 + postcss-js: 4.0.0_postcss@8.4.21 + postcss-load-config: 3.1.4_postcss@8.4.21 + postcss-nested: 6.0.0_postcss@8.4.21 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 @@ -10712,6 +11989,11 @@ packages: engines: {node: '>=4'} dev: true + /temp-dir/2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: true + /temp-path/1.0.0: resolution: {integrity: sha512-TvmyH7kC6ZVTYkqCODjJIbgvu0FKiwQpZ4D1aknE7xpcDf/qEOB8KZEK5ef2pfbVoiBhNWs3yx4y+ESMtNYmlg==} dev: true @@ -10727,6 +12009,27 @@ packages: uuid: 3.4.0 dev: true + /tempy/0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} + dependencies: + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + dev: true + + /terser/5.16.3: + resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + /test-exclude/6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -10847,6 +12150,12 @@ packages: /tr46/0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + /tr46/1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.0 + dev: true + /tr46/2.1.0: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} @@ -10951,6 +12260,11 @@ packages: engines: {node: '>=10'} dev: false + /type-fest/0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: true + /type-fest/0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -11079,6 +12393,11 @@ packages: engines: {node: '>=4'} dev: false + /unicode-canonical-property-names-ecmascript/2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + /unicode-match-property-ecmascript/1.0.4: resolution: {integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==} engines: {node: '>=4'} @@ -11087,16 +12406,34 @@ packages: unicode-property-aliases-ecmascript: 1.0.4 dev: false + /unicode-match-property-ecmascript/2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + /unicode-match-property-value-ecmascript/1.0.2: resolution: {integrity: sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==} engines: {node: '>=4'} dev: false + /unicode-match-property-value-ecmascript/2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + /unicode-property-aliases-ecmascript/1.0.4: resolution: {integrity: sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==} engines: {node: '>=4'} dev: false + /unicode-property-aliases-ecmascript/2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + /unified/10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: @@ -11121,6 +12458,13 @@ packages: imurmurhash: 0.1.4 dev: true + /unique-string/2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + /unist-builder/3.0.1: resolution: {integrity: sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==} dependencies: @@ -11212,6 +12556,11 @@ packages: resolution: {integrity: sha512-MmoCOrsS2gn3wLT2tT+hF56Q4V4kksIKn2LHrwAtX6umzQwQHDWSh1slMzH+0WuxTZ62s3w8/wsfIII1FQ7ACg==} dev: false + /upath/1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: true + /upath/2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} @@ -11339,6 +12688,24 @@ packages: replace-ext: 1.0.1 dev: false + /vite-plugin-pwa/0.14.1_workbox-window@6.5.4: + resolution: {integrity: sha512-5zx7yhQ8RTLwV71+GA9YsQQ63ALKG8XXIMqRJDdZkR8ZYftFcRgnzM7wOWmQZ/DATspyhPih5wCdcZnAIsM+mA==} + peerDependencies: + vite: ^3.1.0 || ^4.0.0 + workbox-window: ^6.5.4 + dependencies: + '@rollup/plugin-replace': 5.0.2_rollup@3.12.0 + debug: 4.3.4 + fast-glob: 3.2.12 + pretty-bytes: 6.1.0 + rollup: 3.12.0 + workbox-build: 6.5.4 + workbox-window: 6.5.4 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: true + /vite/3.2.5: resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -11638,6 +13005,10 @@ packages: /webidl-conversions/3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + /webidl-conversions/6.1.0: resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} engines: {node: '>=10.4'} @@ -11672,6 +13043,14 @@ packages: tr46: 0.0.3 webidl-conversions: 3.0.1 + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + /whatwg-url/8.7.0: resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} engines: {node: '>=10'} @@ -11758,6 +13137,152 @@ packages: typical: 2.6.1 dev: true + /workbox-background-sync/6.5.4: + resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==} + dependencies: + idb: 7.1.1 + workbox-core: 6.5.4 + dev: true + + /workbox-broadcast-update/6.5.4: + resolution: {integrity: sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==} + dependencies: + workbox-core: 6.5.4 + dev: true + + /workbox-build/6.5.4: + resolution: {integrity: sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==} + engines: {node: '>=10.0.0'} + dependencies: + '@apideck/better-ajv-errors': 0.3.6_ajv@8.12.0 + '@babel/core': 7.20.12 + '@babel/preset-env': 7.20.2_@babel+core@7.20.12 + '@babel/runtime': 7.20.13 + '@rollup/plugin-babel': 5.3.1_3dsfpkpoyvuuxyfgdbpn4j4uzm + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.1 + '@rollup/plugin-replace': 2.4.2_rollup@2.79.1 + '@surma/rollup-plugin-off-main-thread': 2.2.3 + ajv: 8.12.0 + common-tags: 1.8.2 + fast-json-stable-stringify: 2.1.0 + fs-extra: 9.1.0 + glob: 7.2.3 + lodash: 4.17.21 + pretty-bytes: 5.6.0 + rollup: 2.79.1 + rollup-plugin-terser: 7.0.2_rollup@2.79.1 + source-map: 0.8.0-beta.0 + stringify-object: 3.3.0 + strip-comments: 2.0.1 + tempy: 0.6.0 + upath: 1.2.0 + workbox-background-sync: 6.5.4 + workbox-broadcast-update: 6.5.4 + workbox-cacheable-response: 6.5.4 + workbox-core: 6.5.4 + workbox-expiration: 6.5.4 + workbox-google-analytics: 6.5.4 + workbox-navigation-preload: 6.5.4 + workbox-precaching: 6.5.4 + workbox-range-requests: 6.5.4 + workbox-recipes: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + workbox-streams: 6.5.4 + workbox-sw: 6.5.4 + workbox-window: 6.5.4 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: true + + /workbox-cacheable-response/6.5.4: + resolution: {integrity: sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==} + dependencies: + workbox-core: 6.5.4 + dev: true + + /workbox-core/6.5.4: + resolution: {integrity: sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==} + dev: true + + /workbox-expiration/6.5.4: + resolution: {integrity: sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==} + dependencies: + idb: 7.1.1 + workbox-core: 6.5.4 + dev: true + + /workbox-google-analytics/6.5.4: + resolution: {integrity: sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==} + dependencies: + workbox-background-sync: 6.5.4 + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + dev: true + + /workbox-navigation-preload/6.5.4: + resolution: {integrity: sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==} + dependencies: + workbox-core: 6.5.4 + dev: true + + /workbox-precaching/6.5.4: + resolution: {integrity: sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==} + dependencies: + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + dev: true + + /workbox-range-requests/6.5.4: + resolution: {integrity: sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==} + dependencies: + workbox-core: 6.5.4 + dev: true + + /workbox-recipes/6.5.4: + resolution: {integrity: sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==} + dependencies: + workbox-cacheable-response: 6.5.4 + workbox-core: 6.5.4 + workbox-expiration: 6.5.4 + workbox-precaching: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + dev: true + + /workbox-routing/6.5.4: + resolution: {integrity: sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==} + dependencies: + workbox-core: 6.5.4 + dev: true + + /workbox-strategies/6.5.4: + resolution: {integrity: sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==} + dependencies: + workbox-core: 6.5.4 + dev: true + + /workbox-streams/6.5.4: + resolution: {integrity: sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==} + dependencies: + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + dev: true + + /workbox-sw/6.5.4: + resolution: {integrity: sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==} + dev: true + + /workbox-window/6.5.4: + resolution: {integrity: sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==} + dependencies: + '@types/trusted-types': 2.0.2 + workbox-core: 6.5.4 + dev: true + /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} diff --git a/website/README.md b/website/README.md index a180b92a..e8087199 100644 --- a/website/README.md +++ b/website/README.md @@ -19,6 +19,13 @@ npm run build # <- builds repl + tutorial to ../docs npm run preview # <- test static build ``` +## Generate PWA icons + +```sh +cd website/public +npx pwa-asset-generator icon.png icons +``` + # Standard Readme of Astro Starter Kit: Docs Site ```bash diff --git a/website/astro.config.mjs b/website/astro.config.mjs index ccc169dc..aa0f185e 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -9,6 +9,7 @@ import rehypeSlug from 'rehype-slug'; import rehypeAutolinkHeadings from 'rehype-autolink-headings'; import tailwind from '@astrojs/tailwind'; +import AstroPWA from '@vite-pwa/astro'; // import { visualizer } from 'rollup-plugin-visualizer'; const options = { @@ -29,6 +30,45 @@ export default defineConfig({ react(), mdx(options), tailwind(), + AstroPWA({ + devOptions: { + enabled: true, + }, + manifest: { + includeAssets: ['favicon.ico', 'icons/apple-icon-180.png', 'favicon.svg'], + name: 'Strudel REPL', + short_name: 'Strudel', + description: + 'Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.', + theme_color: '#222222', + icons: [ + { + src: 'icons/manifest-icon-192.maskable.png', + sizes: '192x192', + type: 'image/png', + purpose: 'any', + }, + { + src: 'icons/manifest-icon-192.maskable.png', + sizes: '192x192', + type: 'image/png', + purpose: 'maskable', + }, + { + src: 'icons/manifest-icon-512.maskable.png', + sizes: '512x512', + type: 'image/png', + purpose: 'any', + }, + { + src: 'icons/manifest-icon-512.maskable.png', + sizes: '512x512', + type: 'image/png', + purpose: 'maskable', + }, + ], + }, + }), ], site: `https://strudel.tidalcycles.org`, base: '/', diff --git a/website/package.json b/website/package.json index 596925e5..b07c9f0f 100644 --- a/website/package.json +++ b/website/package.json @@ -39,6 +39,7 @@ "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", "astro": "^1.7.2", + "canvas": "^2.11.0", "fraction.js": "^4.2.0", "nanoid": "^4.0.0", "preact": "^10.7.3", @@ -47,10 +48,12 @@ "rehype-autolink-headings": "^6.1.1", "rehype-slug": "^5.0.1", "remark-toc": "^8.0.1", - "tailwindcss": "^3.2.4", - "canvas": "^2.11.0" + "tailwindcss": "^3.2.4" }, "devDependencies": { - "html-escaper": "^3.0.3" + "@vite-pwa/astro": "^0.0.1", + "html-escaper": "^3.0.3", + "vite-plugin-pwa": "^0.14.1", + "workbox-window": "^6.5.4" } } diff --git a/website/public/icon.png b/website/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7a8b6902288b74c63b2235daf424b02faa1d5abc GIT binary patch literal 35958 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 PKwOus94)J{e#HL)+`H|K literal 0 HcmV?d00001 diff --git a/website/public/icons/apple-icon-180.png b/website/public/icons/apple-icon-180.png new file mode 100644 index 0000000000000000000000000000000000000000..f261df914071cf237ca9c1143da4ee2258267a48 GIT binary patch literal 11375 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 Nxo^r+)eyWIX@? literal 0 HcmV?d00001 diff --git a/website/public/icons/manifest-icon-192.maskable.png b/website/public/icons/manifest-icon-192.maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..119b15c8165032a4cc2af3b806a98733c5b3d356 GIT binary patch literal 12638 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 RATCS*6h5iQ)JmCz{vWWYt`YzM literal 0 HcmV?d00001 diff --git a/website/public/icons/manifest-icon-512.maskable.png b/website/public/icons/manifest-icon-512.maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..6ea1c331128f232a06643f0c868ae595e0c0181a GIT binary patch literal 45307 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 literal 0 HcmV?d00001 diff --git a/website/src/components/HeadCommon.astro b/website/src/components/HeadCommon.astro index ba6e751c..ce00f97e 100644 --- a/website/src/components/HeadCommon.astro +++ b/website/src/components/HeadCommon.astro @@ -1,4 +1,5 @@ --- +import { pwaInfo } from 'virtual:pwa-info'; import '../styles/index.css'; const { BASE_URL } = import.meta.env; @@ -12,7 +13,18 @@ const base = BASE_URL; + + + + + + + +{pwaInfo && } diff --git a/website/src/env.d.ts b/website/src/env.d.ts index f964fe0c..8959d4d6 100644 --- a/website/src/env.d.ts +++ b/website/src/env.d.ts @@ -1 +1,3 @@ /// +/// +/// diff --git a/website/src/layouts/MainLayout.astro b/website/src/layouts/MainLayout.astro index 3d93f436..84eb320b 100644 --- a/website/src/layouts/MainLayout.astro +++ b/website/src/layouts/MainLayout.astro @@ -22,7 +22,7 @@ const currentFile = `src/pages${currentPage.replace(/\/$/, '')}.mdx`; const githubEditUrl = `${CONFIG.GITHUB_EDIT_URL}/${currentFile}`; --- - + diff --git a/website/src/pages/index.astro b/website/src/pages/index.astro index f22f5569..fd6f96c1 100644 --- a/website/src/pages/index.astro +++ b/website/src/pages/index.astro @@ -3,7 +3,7 @@ import HeadCommon from '../components/HeadCommon.astro'; import { Repl } from '../repl/Repl.jsx'; --- - + Strudel REPL diff --git a/website/src/pwa.ts b/website/src/pwa.ts new file mode 100644 index 00000000..18ef9a05 --- /dev/null +++ b/website/src/pwa.ts @@ -0,0 +1,11 @@ +import { registerSW } from 'virtual:pwa-register' + +registerSW({ + immediate: true, + onRegisteredSW(swScriptUrl) { + // console.log('SW registered: ', swScriptUrl) + }, + onOfflineReady() { + // console.log('PWA application ready to work offline') + }, +}) diff --git a/website/src/repl/Footer.jsx b/website/src/repl/Footer.jsx index 49da64af..31468e81 100644 --- a/website/src/repl/Footer.jsx +++ b/website/src/repl/Footer.jsx @@ -76,7 +76,7 @@ export function Footer({ context }) { {activeFooter !== '' && ( - )} diff --git a/website/tsconfig.json b/website/tsconfig.json index efb484fc..78017eaf 100644 --- a/website/tsconfig.json +++ b/website/tsconfig.json @@ -3,6 +3,10 @@ "compilerOptions": { "jsx": "react-jsx", "skipLibCheck": true, - "jsxImportSource": "react" + "jsxImportSource": "react", + "noImplicitAny": false, + "types": [ + "vite-plugin-pwa/client" + ] } } \ No newline at end of file