From b7193e838ba83d0548211cff922e107a1f11f90f Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Fri, 15 Apr 2022 16:11:25 +0200 Subject: [PATCH] feat(seo): pwa and icons --- index.html | 15 + package-lock.json | 4595 +++++++++++++++++++++++++++++ package.json | 1 + public/android-chrome-192x192.png | Bin 0 -> 9354 bytes public/android-chrome-512x512.png | Bin 0 -> 26300 bytes public/apple-touch-icon.png | Bin 0 -> 6910 bytes public/browserconfig.xml | 9 + public/favicon-16x16.png | Bin 0 -> 1045 bytes public/favicon-32x32.png | Bin 0 -> 1627 bytes public/favicon.ico | Bin 4286 -> 15086 bytes public/mstile-144x144.png | Bin 0 -> 6930 bytes public/mstile-150x150.png | Bin 0 -> 6959 bytes public/mstile-310x150.png | Bin 0 -> 7548 bytes public/mstile-310x310.png | Bin 0 -> 14938 bytes public/mstile-70x70.png | Bin 0 -> 4830 bytes public/safari-pinned-tab.svg | 6 + src/main.ts | 3 + tsconfig.app.json | 2 +- vite.config.ts | 38 + 19 files changed, 4668 insertions(+), 1 deletion(-) create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/browserconfig.xml create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/mstile-144x144.png create mode 100644 public/mstile-150x150.png create mode 100644 public/mstile-310x150.png create mode 100644 public/mstile-310x310.png create mode 100644 public/mstile-70x70.png create mode 100644 public/safari-pinned-tab.svg diff --git a/index.html b/index.html index e475566c..f1d3f3d1 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,21 @@ IT Tools + + + + + + + + + + + + + + +
diff --git a/package-lock.json b/package-lock.json index 07ad6ad4..4b0c914d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,6 +53,7 @@ "typescript": "~4.5.5", "vite": "^2.9.1", "vite-plugin-md": "^0.12.4", + "vite-plugin-pwa": "^0.11.13", "vite-svg-loader": "^3.2.0", "vitest": "^0.5.0", "vue-tsc": "^0.31.4" @@ -156,6 +157,19 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", @@ -195,6 +209,41 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, "node_modules/@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", @@ -207,6 +256,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", @@ -309,6 +370,20 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", @@ -337,6 +412,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", @@ -367,6 +454,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helpers": { "version": "7.17.8", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", @@ -406,6 +508,349 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -418,6 +863,18 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", @@ -433,6 +890,108 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", @@ -448,6 +1007,481 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-typescript": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", @@ -465,6 +1499,153 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", @@ -775,6 +1956,131 @@ "node": ">= 8" } }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "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 + } + } + }, + "node_modules/@rollup/plugin-babel/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-babel/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, "node_modules/@rollup/pluginutils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.0.tgz", @@ -815,6 +2121,18 @@ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -854,6 +2172,12 @@ "integrity": "sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA==", "dev": true }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -951,6 +2275,15 @@ "@types/node": "*" } }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", @@ -969,6 +2302,12 @@ "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==", "dev": true }, + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==", + "dev": true + }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -1886,6 +3225,54 @@ "follow-redirects": "^1.14.0" } }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/babel-walk": { "version": "3.0.0-canary-5", "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", @@ -2055,6 +3442,24 @@ "node": "*" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/c8": { "version": "7.11.0", "resolved": "https://registry.npmjs.org/c8/-/c8-7.11.0.tgz", @@ -2381,6 +3786,29 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/core-js-compat": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz", + "integrity": "sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.20.2", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -2441,6 +3869,15 @@ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/css-render": { "version": "0.15.9", "resolved": "https://registry.npmjs.org/css-render/-/css-render-0.15.9.tgz", @@ -2840,6 +4277,31 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -2984,6 +4446,21 @@ "safer-buffer": "^2.1.0" } }, + "node_modules/ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "dependencies": { + "jake": "^10.6.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.101", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.101.tgz", @@ -3056,6 +4533,57 @@ "errno": "cli.js" } }, + "node_modules/es-abstract": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", + "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/esbuild": { "version": "0.14.29", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.29.tgz", @@ -4089,6 +5617,15 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -4245,6 +5782,15 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "node_modules/functions-have-names": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz", + "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -4285,6 +5831,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -4300,6 +5852,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/getos": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", @@ -4449,6 +6017,15 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -4458,6 +6035,18 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -4639,6 +6228,12 @@ "node": ">=0.10.0" } }, + "node_modules/idb": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/idb/-/idb-6.1.5.tgz", + "integrity": "sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw==", + "dev": true + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -4738,6 +6333,60 @@ "node": ">=10" } }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -4762,6 +6411,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-expression": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", @@ -4838,6 +6502,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4847,6 +6529,30 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -4884,6 +6590,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -4896,6 +6623,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -4914,6 +6671,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", @@ -5004,6 +6773,100 @@ "node": ">=8" } }, + "node_modules/jake": { + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz", + "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==", + "dev": true, + "dependencies": { + "async": "0.9.x", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", @@ -5168,6 +7031,41 @@ "node": ">=8" } }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/joi": { "version": "17.6.0", "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", @@ -5365,6 +7263,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpointer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz", + "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jsprim": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", @@ -5444,6 +7351,15 @@ "node": ">=0.10.0" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -5530,6 +7446,12 @@ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -5542,6 +7464,12 @@ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", "dev": true }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -6052,6 +7980,42 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -6837,6 +8801,56 @@ "node": ">= 6" } }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -6849,6 +8863,50 @@ "url": "https://github.com/sponsors/mysticatea" } }, + "node_modules/regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, "node_modules/request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -6866,6 +8924,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -6970,6 +9037,21 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -7062,6 +9144,15 @@ "semver": "bin/semver.js" } }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -7100,6 +9191,20 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -7179,6 +9284,25 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -7366,6 +9490,65 @@ "node": ">=8" } }, + "node_modules/string.prototype.matchall": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.1", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -7386,6 +9569,15 @@ "node": ">=0.10.0" } }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -7473,6 +9665,78 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dev": true, + "dependencies": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -7689,6 +9953,73 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -7855,6 +10186,28 @@ "vite": "^2.0.0" } }, + "node_modules/vite-plugin-pwa": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.11.13.tgz", + "integrity": "sha512-Ssj14m3TRVLfkFEAWSMcFE2d1cSdEZyrVTzfY2lSL+umHYvcIFHVDAY143sygtBCb44OPczsAOmWwBTxwOvh7g==", + "dev": true, + "dependencies": { + "debug": "^4.3.3", + "fast-glob": "^3.2.7", + "pretty-bytes": "^5.6.0", + "rollup": "^2.60.2", + "workbox-build": "^6.4.2", + "workbox-window": "^6.4.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.0.0", + "workbox-build": "^6.4.0", + "workbox-window": "^6.4.0" + } + }, "node_modules/vite-svg-loader": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-3.2.0.tgz", @@ -8318,6 +10671,22 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -8347,6 +10716,284 @@ "node": ">=0.10.0" } }, + "node_modules/workbox-background-sync": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.3.tgz", + "integrity": "sha512-0DD/V05FAcek6tWv9XYj2w5T/plxhDSpclIcAGjA/b7t/6PdaRkQ7ZgtAX6Q/L7kV7wZ8uYRJUoH11VjNipMZw==", + "dev": true, + "dependencies": { + "idb": "^6.1.4", + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.3.tgz", + "integrity": "sha512-4AwCIA5DiDrYhlN+Miv/fp5T3/whNmSL+KqhTwRBTZIL6pvTgE4lVuRzAt1JltmqyMcQ3SEfCdfxczuI4kwFQg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-build": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.3.tgz", + "integrity": "sha512-8JNHHS7u13nhwIYCDea9MNXBNPHXCs5KDZPKI/ZNTr3f4sMGoD7hgFGecbyjX1gw4z6e9bMpMsOEJNyH5htA/w==", + "dev": true, + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "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.3", + "workbox-broadcast-update": "6.5.3", + "workbox-cacheable-response": "6.5.3", + "workbox-core": "6.5.3", + "workbox-expiration": "6.5.3", + "workbox-google-analytics": "6.5.3", + "workbox-navigation-preload": "6.5.3", + "workbox-precaching": "6.5.3", + "workbox-range-requests": "6.5.3", + "workbox-recipes": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3", + "workbox-streams": "6.5.3", + "workbox-sw": "6.5.3", + "workbox-window": "6.5.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.3.tgz", + "integrity": "sha512-9o+HO2MbJhJHjDYZaDxJmSDckvDpiuItEsrIShV0DXeCshXWRHhqYyU/PKHMkuClOmFnZhRd6wzv4vpDu/dRKg==", + "dev": true, + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.3.tgz", + "integrity": "sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-core": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.3.tgz", + "integrity": "sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.3.tgz", + "integrity": "sha512-jzYopYR1zD04ZMdlbn/R2Ik6ixiXbi15c9iX5H8CTi6RPDz7uhvMLZPKEndZTpfgmUk8mdmT9Vx/AhbuCl5Sqw==", + "dev": true, + "dependencies": { + "idb": "^6.1.4", + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.3.tgz", + "integrity": "sha512-3GLCHotz5umoRSb4aNQeTbILETcrTVEozSfLhHSBaegHs1PnqCmN0zbIy2TjTpph2AGXiNwDrWGF0AN+UgDNTw==", + "dev": true, + "dependencies": { + "workbox-background-sync": "6.5.3", + "workbox-core": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.3.tgz", + "integrity": "sha512-bK1gDFTc5iu6lH3UQ07QVo+0ovErhRNGvJJO/1ngknT0UQ702nmOUhoN9qE5mhuQSrnK+cqu7O7xeaJ+Rd9Tmg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-precaching": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.3.tgz", + "integrity": "sha512-sjNfgNLSsRX5zcc63H/ar/hCf+T19fRtTqvWh795gdpghWb5xsfEkecXEvZ8biEi1QD7X/ljtHphdaPvXDygMQ==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.3.tgz", + "integrity": "sha512-pGCP80Bpn/0Q0MQsfETSfmtXsQcu3M2QCJwSFuJ6cDp8s2XmbUXkzbuQhCUzKR86ZH2Vex/VUjb2UaZBGamijA==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-recipes": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.3.tgz", + "integrity": "sha512-IcgiKYmbGiDvvf3PMSEtmwqxwfQ5zwI7OZPio3GWu4PfehA8jI8JHI3KZj+PCfRiUPZhjQHJ3v1HbNs+SiSkig==", + "dev": true, + "dependencies": { + "workbox-cacheable-response": "6.5.3", + "workbox-core": "6.5.3", + "workbox-expiration": "6.5.3", + "workbox-precaching": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3" + } + }, + "node_modules/workbox-routing": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.3.tgz", + "integrity": "sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-strategies": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.3.tgz", + "integrity": "sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3" + } + }, + "node_modules/workbox-streams": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.3.tgz", + "integrity": "sha512-vN4Qi8o+b7zj1FDVNZ+PlmAcy1sBoV7SC956uhqYvZ9Sg1fViSbOpydULOssVJ4tOyKRifH/eoi6h99d+sJ33w==", + "dev": true, + "dependencies": { + "workbox-core": "6.5.3", + "workbox-routing": "6.5.3" + } + }, + "node_modules/workbox-sw": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.3.tgz", + "integrity": "sha512-BQBzm092w+NqdIEF2yhl32dERt9j9MDGUTa2Eaa+o3YKL4Qqw55W9yQC6f44FdAHdAJrJvp0t+HVrfh8AiGj8A==", + "dev": true + }, + "node_modules/workbox-window": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.3.tgz", + "integrity": "sha512-GnJbx1kcKXDtoJBVZs/P7ddP0Yt52NNy4nocjBpYPiRhMqTpJCNrSL+fGHZ/i/oP6p/vhE8II0sA6AZGKGnssw==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.3" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -8578,6 +11225,16 @@ "@babel/types": "^7.16.7" } }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, "@babel/helper-compilation-targets": { "version": "7.17.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", @@ -8605,6 +11262,32 @@ "@babel/helper-split-export-declaration": "^7.16.7" } }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, "@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", @@ -8614,6 +11297,15 @@ "@babel/types": "^7.16.7" } }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, "@babel/helper-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", @@ -8692,6 +11384,17 @@ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, "@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", @@ -8714,6 +11417,15 @@ "@babel/types": "^7.17.0" } }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, "@babel/helper-split-export-declaration": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", @@ -8735,6 +11447,18 @@ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, + "@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, "@babel/helpers": { "version": "7.17.8", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", @@ -8762,6 +11486,229 @@ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==" }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -8771,6 +11718,15 @@ "@babel/helper-plugin-utils": "^7.10.4" } }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, "@babel/plugin-syntax-jsx": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", @@ -8780,6 +11736,78 @@ "@babel/helper-plugin-utils": "^7.16.7" } }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-typescript": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", @@ -8789,6 +11817,301 @@ "@babel/helper-plugin-utils": "^7.16.7" } }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "dev": true, + "requires": { + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, "@babel/plugin-transform-typescript": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", @@ -8800,6 +12123,129 @@ "@babel/plugin-syntax-typescript": "^7.16.7" } }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, "@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", @@ -9062,6 +12508,97 @@ "fastq": "^1.6.0" } }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, "@rollup/pluginutils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.0.tgz", @@ -9099,6 +12636,18 @@ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -9132,6 +12681,12 @@ "integrity": "sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA==", "dev": true }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -9229,6 +12784,15 @@ "@types/node": "*" } }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/sinonjs__fake-timers": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", @@ -9247,6 +12811,12 @@ "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==", "dev": true }, + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==", + "dev": true + }, "@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -9917,6 +13487,45 @@ "follow-redirects": "^1.14.0" } }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + } + }, "babel-walk": { "version": "3.0.0-canary-5", "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", @@ -10035,6 +13644,18 @@ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "dev": true + }, "c8": { "version": "7.11.0", "resolved": "https://registry.npmjs.org/c8/-/c8-7.11.0.tgz", @@ -10286,6 +13907,24 @@ "is-what": "^3.14.1" } }, + "core-js-compat": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz", + "integrity": "sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==", + "dev": true, + "requires": { + "browserslist": "^4.20.2", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -10343,6 +13982,12 @@ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, "css-render": { "version": "0.15.9", "resolved": "https://registry.npmjs.org/css-render/-/css-render-0.15.9.tgz", @@ -10648,6 +14293,22 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -10758,6 +14419,15 @@ "safer-buffer": "^2.1.0" } }, + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } + }, "electron-to-chromium": { "version": "1.4.101", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.101.tgz", @@ -10818,6 +14488,45 @@ "prr": "~1.0.1" } }, + "es-abstract": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", + "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "esbuild": { "version": "0.14.29", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.29.tgz", @@ -11492,6 +15201,15 @@ "flat-cache": "^3.0.4" } }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -11603,6 +15321,12 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "functions-have-names": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz", + "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==", + "dev": true + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -11631,6 +15355,12 @@ "has-symbols": "^1.0.1" } }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -11640,6 +15370,16 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "getos": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", @@ -11758,12 +15498,27 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -11887,6 +15642,12 @@ "safer-buffer": ">= 2.1.2 < 3.0.0" } }, + "idb": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/idb/-/idb-6.1.5.tgz", + "integrity": "sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw==", + "dev": true + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -11948,6 +15709,42 @@ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, "is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -11966,6 +15763,15 @@ "has": "^1.0.3" } }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-expression": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", @@ -12020,12 +15826,39 @@ "is-path-inside": "^3.0.2" } }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -12054,12 +15887,45 @@ "has-tostringtag": "^1.0.0" } }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -12072,6 +15938,15 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", @@ -12143,6 +16018,75 @@ "istanbul-lib-report": "^3.0.0" } }, + "jake": { + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz", + "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", @@ -12260,6 +16204,34 @@ } } }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "joi": { "version": "17.6.0", "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", @@ -12422,6 +16394,12 @@ "universalify": "^2.0.0" } }, + "jsonpointer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz", + "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==", + "dev": true + }, "jsprim": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", @@ -12483,6 +16461,12 @@ } } }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -12543,6 +16527,12 @@ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -12555,6 +16545,12 @@ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", "dev": true }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -12955,6 +16951,30 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -13534,12 +17554,90 @@ "util-deprecate": "^1.0.1" } }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, + "regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, "request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -13554,6 +17652,12 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -13630,6 +17734,18 @@ "fsevents": "~2.3.2" } }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -13699,6 +17815,15 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -13728,6 +17853,17 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -13788,6 +17924,24 @@ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -13920,6 +18074,53 @@ "strip-ansi": "^6.0.1" } }, + "string.prototype.matchall": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.1", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -13934,6 +18135,12 @@ "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", "dev": true }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true + }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -13996,6 +18203,58 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true + } + } + }, + "terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dev": true, + "requires": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -14162,6 +18421,55 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -14275,6 +18583,20 @@ "markdown-it": "^12.3.2" } }, + "vite-plugin-pwa": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.11.13.tgz", + "integrity": "sha512-Ssj14m3TRVLfkFEAWSMcFE2d1cSdEZyrVTzfY2lSL+umHYvcIFHVDAY143sygtBCb44OPczsAOmWwBTxwOvh7g==", + "dev": true, + "requires": { + "debug": "^4.3.3", + "fast-glob": "^3.2.7", + "pretty-bytes": "^5.6.0", + "rollup": "^2.60.2", + "workbox-build": "^6.4.2", + "workbox-window": "^6.4.2" + } + }, "vite-svg-loader": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-3.2.0.tgz", @@ -14638,6 +18960,19 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -14661,6 +18996,266 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "workbox-background-sync": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.3.tgz", + "integrity": "sha512-0DD/V05FAcek6tWv9XYj2w5T/plxhDSpclIcAGjA/b7t/6PdaRkQ7ZgtAX6Q/L7kV7wZ8uYRJUoH11VjNipMZw==", + "dev": true, + "requires": { + "idb": "^6.1.4", + "workbox-core": "6.5.3" + } + }, + "workbox-broadcast-update": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.3.tgz", + "integrity": "sha512-4AwCIA5DiDrYhlN+Miv/fp5T3/whNmSL+KqhTwRBTZIL6pvTgE4lVuRzAt1JltmqyMcQ3SEfCdfxczuI4kwFQg==", + "dev": true, + "requires": { + "workbox-core": "6.5.3" + } + }, + "workbox-build": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.3.tgz", + "integrity": "sha512-8JNHHS7u13nhwIYCDea9MNXBNPHXCs5KDZPKI/ZNTr3f4sMGoD7hgFGecbyjX1gw4z6e9bMpMsOEJNyH5htA/w==", + "dev": true, + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "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.3", + "workbox-broadcast-update": "6.5.3", + "workbox-cacheable-response": "6.5.3", + "workbox-core": "6.5.3", + "workbox-expiration": "6.5.3", + "workbox-google-analytics": "6.5.3", + "workbox-navigation-preload": "6.5.3", + "workbox-precaching": "6.5.3", + "workbox-range-requests": "6.5.3", + "workbox-recipes": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3", + "workbox-streams": "6.5.3", + "workbox-sw": "6.5.3", + "workbox-window": "6.5.3" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.3.tgz", + "integrity": "sha512-9o+HO2MbJhJHjDYZaDxJmSDckvDpiuItEsrIShV0DXeCshXWRHhqYyU/PKHMkuClOmFnZhRd6wzv4vpDu/dRKg==", + "dev": true, + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.3.tgz", + "integrity": "sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==", + "dev": true, + "requires": { + "workbox-core": "6.5.3" + } + }, + "workbox-core": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.3.tgz", + "integrity": "sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q==", + "dev": true + }, + "workbox-expiration": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.3.tgz", + "integrity": "sha512-jzYopYR1zD04ZMdlbn/R2Ik6ixiXbi15c9iX5H8CTi6RPDz7uhvMLZPKEndZTpfgmUk8mdmT9Vx/AhbuCl5Sqw==", + "dev": true, + "requires": { + "idb": "^6.1.4", + "workbox-core": "6.5.3" + } + }, + "workbox-google-analytics": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.3.tgz", + "integrity": "sha512-3GLCHotz5umoRSb4aNQeTbILETcrTVEozSfLhHSBaegHs1PnqCmN0zbIy2TjTpph2AGXiNwDrWGF0AN+UgDNTw==", + "dev": true, + "requires": { + "workbox-background-sync": "6.5.3", + "workbox-core": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3" + } + }, + "workbox-navigation-preload": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.3.tgz", + "integrity": "sha512-bK1gDFTc5iu6lH3UQ07QVo+0ovErhRNGvJJO/1ngknT0UQ702nmOUhoN9qE5mhuQSrnK+cqu7O7xeaJ+Rd9Tmg==", + "dev": true, + "requires": { + "workbox-core": "6.5.3" + } + }, + "workbox-precaching": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.3.tgz", + "integrity": "sha512-sjNfgNLSsRX5zcc63H/ar/hCf+T19fRtTqvWh795gdpghWb5xsfEkecXEvZ8biEi1QD7X/ljtHphdaPvXDygMQ==", + "dev": true, + "requires": { + "workbox-core": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3" + } + }, + "workbox-range-requests": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.3.tgz", + "integrity": "sha512-pGCP80Bpn/0Q0MQsfETSfmtXsQcu3M2QCJwSFuJ6cDp8s2XmbUXkzbuQhCUzKR86ZH2Vex/VUjb2UaZBGamijA==", + "dev": true, + "requires": { + "workbox-core": "6.5.3" + } + }, + "workbox-recipes": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.3.tgz", + "integrity": "sha512-IcgiKYmbGiDvvf3PMSEtmwqxwfQ5zwI7OZPio3GWu4PfehA8jI8JHI3KZj+PCfRiUPZhjQHJ3v1HbNs+SiSkig==", + "dev": true, + "requires": { + "workbox-cacheable-response": "6.5.3", + "workbox-core": "6.5.3", + "workbox-expiration": "6.5.3", + "workbox-precaching": "6.5.3", + "workbox-routing": "6.5.3", + "workbox-strategies": "6.5.3" + } + }, + "workbox-routing": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.3.tgz", + "integrity": "sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==", + "dev": true, + "requires": { + "workbox-core": "6.5.3" + } + }, + "workbox-strategies": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.3.tgz", + "integrity": "sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==", + "dev": true, + "requires": { + "workbox-core": "6.5.3" + } + }, + "workbox-streams": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.3.tgz", + "integrity": "sha512-vN4Qi8o+b7zj1FDVNZ+PlmAcy1sBoV7SC956uhqYvZ9Sg1fViSbOpydULOssVJ4tOyKRifH/eoi6h99d+sJ33w==", + "dev": true, + "requires": { + "workbox-core": "6.5.3", + "workbox-routing": "6.5.3" + } + }, + "workbox-sw": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.3.tgz", + "integrity": "sha512-BQBzm092w+NqdIEF2yhl32dERt9j9MDGUTa2Eaa+o3YKL4Qqw55W9yQC6f44FdAHdAJrJvp0t+HVrfh8AiGj8A==", + "dev": true + }, + "workbox-window": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.3.tgz", + "integrity": "sha512-GnJbx1kcKXDtoJBVZs/P7ddP0Yt52NNy4nocjBpYPiRhMqTpJCNrSL+fGHZ/i/oP6p/vhE8II0sA6AZGKGnssw==", + "dev": true, + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.3" + } + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", diff --git a/package.json b/package.json index c928ad76..3c87faef 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "typescript": "~4.5.5", "vite": "^2.9.1", "vite-plugin-md": "^0.12.4", + "vite-plugin-pwa": "^0.11.13", "vite-svg-loader": "^3.2.0", "vitest": "^0.5.0", "vue-tsc": "^0.31.4" diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..d104fd1b8305b4304de4d69c32ffe3ddb7fa7c55 GIT binary patch literal 9354 zcmZ{KWmH?w7wrx1UR;7pai>tM!QG)0DH7bRcqo)&MT!@v#hqe>0>OT`LvfejS|~+d z`hTC^hqtnBW@R$x%)MvLJ$vsn6RoYOgpWgw0{{TNiZVnO*~0%_SQyA}-DPJ?WP@fW zry&ObbqTolZ_$yz!Pd&U8UPT$1^}=K0JueV!S(>ahaUhAECJv}1^`gFXSeD|A^*Uz zQd5EePyaso?Ip>`9&C4I6E6TjIsSKnWV{XOk)4>{DjEuyyJ&>?d?LqYu?+ygbglxC z(|@;koa1k4Fx&Xl>6Dk1g^iZF&BiDp27VT7Y**z%=MJZOzL+S-h%J6Cq3?8eP$To) zw<-A8sZpwkK!sAUd>xI6Yc}Q=sFCXzNaPP2%a2|Vn&9&C_qjV}Inbc{c*7|^;_@S^ zO-)BfF$IU>t!h#xadwKJr>u zSmBD2MF`miK7IU*0(|5Wmb;{S9ev=T4E+hz!pOwmG~%nDRWvbXo}<7?va1$R2%X-6 zEI}wmrA=X(Ki3M-e|CKbP=`=u`2$TC$j?yVD7^=30Ql52{u$B%@T!~;AXNKjL5_Wf zaaJ2a0g&gT8Kb^4?!g6c-I*#uQrsKpFm$Y-d`B9o%8g@iuZrb)w)193a^}7=iUqo? z4^ac~E<5ViRo_jf*6v($8U0tAZd}-gvA2S%=3*KtW1oq75P4X(;0m=9rN3{48V8)n1()X7{lf*CFFe!>dibLFiGoPLH%&P^27?Wgr@odjd_ z{cXullcsR{XDTLnF~3tsQ)gesJH4ruRmbZHZDH}}5<&q0xwlLqKiUI3LpO#xugd6C z%v7=gW670tQk*vgBy-{Z2Vj{iYSJ}oPPca>*rfI4LmdUg7C7$cfZ0{z{D>j6`lF&j z(vK^?1>PLFAG1YsLg$|V9E`tZSd_TIk#+n!ycaAGV0(^CLpcBCSRAt=R78Yozs^7B zdsdU_ES<3wyB=lTaOOK{SdV_f2gwOZFn3&^FZW-YN9LtU)um9K$(9*?7f#rv()>0v zwzQX*LeIw`CHY1WsZ$K0XoevwN8I=QECEzRhS_iY<*jz?2P)dnJ~7s*d|0LNbvI6S zw#S%IwCy!hZ`qNODhzk$Y>lPN#_vq2!>hUyfGR5Zu49uqLQxBaKd|!V75~^?X{8&z zLwNSVlmobfIPM1!#C4Y^t4#EggC%6u(B#jFG7UQU_#pZ6pY5o%WebFtiuda7MJt7Y z&l?i}Py9)*HdpbR0<*NWo`28Xs|W3qc3U~kq)xOgl6Pw|7(GBOTHI1(V5xdb4a<1R z2B&c+aq}w}pJRpnJ6(m3sc7)t@_J_c&stp_Wl9ihkL%*0MX~Gq*q@72*!2`*;WwDT zl>Toq>}V2qKdzFM#WyDHw&R_&%D^=lEZljz|IMQL!dc=HozF|)!cjH;bDT)6|LW*E z5B1G`j>+@|`RGXE<47KCPZ8GNx-zaKj~V9XSYvP8bV=w*LBYVqTE%EtINEv}rM+x! z-nl$V&`J%UYCV>KXx9^C=vcP<$i8ZF?wJEhKNdQ5Mx3VB{a@oCYRS|#-dwjycL^_z zR{B+=%UXJzzh!aY$=0H?2PT#e=Ao=~-zdjdozTbZRZtPUR^BzqYyG@%1Td=mys>vd20v95UdV)PxB;n^pq~tMQ`xJJ9ZeHW_?zeYVxy zHGLfD;CG(KT;W)5LT79&(y;v66#MBY>12{T8ty>BDafDPPq(dgc}d+{Sc;-`893`i zD8+&smi*o9fO&;{iVXi8w5nv!ei;p@=}l1j zQ;6eS=YXlOQ20Y;zj7gI^mer67Xt7rpMJA$@H#m%64#KyGOi!!5fx@=9 zh~XpCr59~wORWP*$!o?b^oQir(H_L%P}F&?E0{RuL*duL6GJ5yNvKdb%50w>@nmZJ zzIM+gp8lV|4aMWUW@$vYkMK>2OqQ<{;STgz?AG2Isnn8!ae^bRg4skTN3vHXl$DI@ zx=L5#T7+1QB)=)`$_$sI~T zwjv5tqIx)_wac5rsbh)RE8W@9MO|upHcc~8=dU&Fkrc+v&Y2T|#iujTtvx?eEVI_X1m-EV~YqSh90I`ZFTsqP;2?<+0-_`GJYBIen`8$OPT-dHs$X zy=L#$4paU_^{Zz<^2)E5;`iWhKU=NM^-3JomMz!iya{0oB z2j5zMX<{H@e+40g%j}ifm+HDiW#KumkzgAqWx3B~*~wPj~jSB-mI z8Yf6{adE+h#TY*;%#)YNjxxYlNDGw)EONf20!=7Uf?kruA2R=1l$DjaIWMTJ&>sbAALc zp{PAc)L=H~<50ZWW1v>l-f*bWSDjaLSLxCA{;H}&OiJPZ0Im@=eaA4}8M+Sb|BZ*q z++uxnQvteP!1t;C31VCJ>oU$uI~UMTV`6eVP)iv40$mTEPzl3G&?Hd}|tLeNj z_WqE%D-_9+mw*5M{fNu>Nb^8&>KdA%X8QW|L5>mHkjWce)X0k1shWJ3#Jce8N6{^$ z;raB_v2>oHP5LDTIeGk?&jX)))Rp%7Js=BN^Hn0gfqQQWV*D!GV~1Na_J&GS^-Tf; zj@;C*;%IVCdcofH{JgdMBOMby4>+7Vm_T*-;=$+Y;D$y1HqN17ZvmL0h}knEB$jUL zixh<5YvRnc2749k?lXkv7Y-~JCsg6!V1y^*;NbiM8KWU8mg3Niay%|~e2Doi(DM5q zsxRg}un9Vz#WSX~xqJ~63~_coKs%d}uFBqh7D*1}`#b!<*02;%>#qLIG; zxM^W87IMG8vkSqx3C$a+ar+MLE;$U~fjwVt3g*c8TeIPA>>v4QY^a!^>zkEx zvF%(6{YiwS5(-RM08_U7>#GYNb5}R%ZFAgX5wp3&L}R;c(0XoKTH2vLO=AuIppu*u8OP04w6md8qXzy*(6Y zD@|6*5$AFV4T~$UcLT(KrOGW}zxDrC-}QTwpAzpeDvEZ+HI@QejsLOd^4uWoAc9f% z#}N-oTW|uCjNO!E$vn@@BMKEu>Wg`FOD;^%69rrs< z8q97)8@?;MTw3Asb;vwVVi@i+)u$Y77gO7nHt6eJ1VYPZH-JT3frjaIQcjN9`^On> z?BQay^v3tKGX_Nwmy^aeho?iofQj_fV?y|~py(?&5aL$PgUxt?ns{8;-c#o}k|EG{ zI9GG3=Q5y7B(U|z-7m)1^4j;$uHd({{hTTiZu&1oK1HYIODqPT3%4bJqb+n5@Fd0Ue+u(_)zAa9v|n- zE-zQE|NJEK?VHSx@wm=uU#TSNU-B0nXafExZ`>12zrsfhpz%_BtsOE#YwKw_J!jOg%hkZsmqxsM zk{IVq6peqo+M8CQYk2@l;psj(AWVHF#%ebYG{2@{in)Q$xfACuexypE&aRTYuLctT z(&ulajI&g{7;YXtf_w{;r?w=g5;*|zSgid-Wz0kjx%Zj<$BcV;Eh#67U2YIA>iC#u zGjsD*w7hYO$j#n2kl#>la!HrzVvXt@xc8Ur^3MT8%eNRdz;D`c8SrCyC0Tegkxm?p zFM}BU9cKQqa`@ASEKlfWr@XLG<=^=wVkNELRB!gv zUV0^*h@yWnHt@A^EWdsM5(9@-#MHH^LS7A0I7^#(qINtBLL0mrD82r;@-7gQ0$5{UoFq9XQ z|3hXo$z*a!XJ^RPf1lXC+fR4_p-MiTk&LOvfgDaMlao1KUqo?$D8)|}VZ{0_3(DYK zyG@tm^z?Mlx>a9sjlGMDMuw+aYqiDj2p?(-J=`CnkCETn-2A6VC7CVr0-f{x{Xxhl zJo*Z%jyphB-PqHCH;T5+%R!R5|KWTXahXGCS*iLxdSIlr&o^FTH-pS4Ud2SpM60)3y{+i2Nf2A|2haF)+k;f^_Y={Q0SV#YFLU{Wc-v4l&28O%Bs+ zMbmlR-Q5lL!nZ_1hL6GBnt>fgqd{dxAWvS8vpzG^CuqX z4l^+J>Fa`yUWw+Xz(tNs8Qt0OcZ}WQNcr2g_T&>w{O8f%+}vDx23m|kX6}TChLS0r zcPh{us;zT)aPUIVJQyvgw7llLJMIAuu0jf+EfBlW$J$tp#Ow@V#aM-CTrA*1noDM&T_c^^L?8aO|majydPQ4$jfu{FW1%9cGtGBSd&@T7DR!@-yKsWPaRjT zr?qlmr3iy8p-M_D>(yvNcG!%$&p9}5a!sgOtH;5Gp&1Jm2|Z&iek&1LYQ;bzitJS7 zVrFe#H1xRqm_Fhh(!fNC_v@fldb1}0NmKN^%`9RbtH$22#5;6F8B96E@BKmp1RY^EJw7k{&C^XNG&az>*7^IX8s^2Hc&j*MT%WPhZE zgxDv|W_w{#xk3xxF^)@01f7f#dDK8}`$`cI4o{_liuJv;C6%w#cL^dP@w@&6f3Qsk z=}G!);Ma{yrAf zZoYSgH-q=LP1gy8647$D+F5IThKN6R4_ZB|UKd|8+eV#39c@}(Gw^CI!fzxXLo)-* zx9PqQv5Yc{=;geB*_7$o;MSS*gxb(hX6kXzgztYNrr&CPcsKrcw(cc)tcIhL(;drd zq=X2oR`|xRc7!i17Z`Sh-43f^LqJEC?g^F$7&;V`E1&!Bl1BFOv1gs{9CP%{q$u*K zW38kRM#HB_A~kw0io>0otWjTs&r2u9xXI9%E;g^5Gu8CUKz{0VEYs2aF=$<)Q>9f` zS64kX=NWA~8E(St&n3NH)ScFTcu6c0Lbm3w~xE*x83U0wU)koEoDwKu<(*lUdFZXrmec` z+~;=je`d+7yIGTlZeLfFzeF_m&eGA*kS9dCZELyF1`uryZX*^#OtCZ6 znid~}&i<{0N6$=)uOBlyD9TEkgSe)>LY#;uwd4yD_xJ70uZ~Vh_Tg^n8$!GF~?f}^P(3VcL?r!!_vSWw{Z$%F(v z?hdtz814j&x#2V2`iRq-TPi4OZnPQobR11Hf5@EJ{>R4ieSG!A;0Ay%%wx5>Uu$#| z`H&e=uE@YWt;HmUF^_k8t-P}w-HpLeQst9qikjrOY94txyu?K_XOg<}zlhk!FSI}A zsQ=i?o;hYo2f23^)1K#OM*DIDqN#k3WH7|NBQ~f-oD8R`nah5u#lw%JP5KIiRiNDZ zW+&w)qMC45qSJvAzBV;I-AP68kw-FA)5n8VfY)e}`15bO`#FppGR!Xi8H!YMOby1vj)3ZBt9xnKZ92j?Pb_ilqPr z?)BL6E-Uj?49_}x;ZiERelI3vX1)oNO8kuh0_!GEYgeXz)ZryIDWGz4U!%-f!&=D1 z)Jn;p)9WX`YQ3wJ`J=3{@yeE+>|cT2XZqI*49?*T_&QH}`&3=kxS2|n{>k9Uy?m5V zR#sN?(S10Q7SS;lNnyh$M}k;j4#1|y0S)RI2!;>jrt3Iow* zxAXY6)o93tc`#7T`Oswfi2wQPyFN{6a*`6fZ%f`}{isL>c@cMWdq-f092w-Tpb$Uc z@v>Lf;}`zP2x3>-<&BoHaFBA$COeVn9OiCiViogQLMI7A1+5vl#2ZlFE50bn`&V%8 zRbD`Q2>`F2&UyC7c{W^KpSops=1tp<|Er1sH z%&*`iyMu&MpS-NJ;=5^el^bj@nLR-W&syZ#12JC3D;de?2W=0@>8gUv$dQ=JC4R0= zWl@uxcO?3QXthg{8!1Dh=0mSXV}_6D$q7F*!xEHzFbe)-u&o8m(*sTIAm0}px3}>0p8tkn;#Zu4Ue+W6FYw29RPjkoKS zws#BF=x&-m`_8bR=rwIYT_bi1Tr`jS4TW8+08%Ed07C`|5!k;_#h;VmxYTiRXzS^! z%kq#2g}+~dOor0V?qhZtLZz4R5&htt0!#iDB5ggAekQ)#hsS9oRX`Y`?-)L_5I#$C zvhWMRUUvg2xQIj9Jk^<$}B4d z(FEG581D_JI3u2)sZr#ZV;P#d$ySqH5f!@0Ym^2aHKb$en{!vzcjo&PJ zYYU)-cg1G@1vTT>h9Rb>r^g$6{(i4ewZqy}%CBTg^JD@-{4FCr#v>OrUKK+b26%1( z*d_OYGjo?+!??>$a}2>L9-uLIB?h|xh{Mc%_QucekAF^1&QcZ5km;L%!jyY7nEGsv zu51ddEiibIC(o?axmRz%;giCnR$JqX+I^Rc+5)N)zcB~ThO>TcB4DpIL;EC^;2I~asK&|x0sk_i4K>^FpRv5Sbs zKS`X;#W#x3TOP%F5BSd)UpBMo#+Ux%d zjsosDuvZ3z|AB)b@Ynn`DPKZ;Y)(jq55G618i+rw4pi{uz;&{_ z*V{nq+RmCn@J=Fm=@rpt&dLDi&-lm^DJr0+Pa}v{@qvg!R7_0rGwm#ngaPX;xDinl zb?zQ$`|zQ>pUH$+`A9Dw`|utBKt|;mc<8vERcUAT5U>ZSX7%s8hcz{01Sb4*purO0 z-W{(c2+sJS*GL>F57EM6X zWdT)<;wvAF!TKP747_Oz`!1H@?~lx5l{TIsV7X!j`3F;uOkyMpz!VmH?@>b4mi}H8QRV$npOP^~mZ9N?vOU#T9?^<^lxi>Oy1L}2D z{Z)`OXPDfEMQTB$=p*j#EZ|9N*ch&2PRZ$}{*CWOWjIl(0I4~JOiWCah$d}EXixj= zn=|}Z=j*IXKKUXrVWT@fZr9h;9|3zv=nFaacO#Y_DM*MWHmbg}a`Kn)QM;fP8Qj%~l4_69 z9W!H<9EGqsb*{6z)$Qx2CsZnC0ehlSVkJYTTffS z&(Dw7!PUvj`mMVyubZb`)`=7~a*$DgzOlFNTR*V7ryJD4*%s{W?`{iraQC(bkcT(6 zF7U8C3^_Q4w1!7ic60$$W?WutTvBFIwPZ3>QZNK2++%~v{9PYBJU=tgJJL(ri#ZHa c&R69H4k(DdFXTm1ky8LF3Yw5=dCT|z2S`JbPXGV_ literal 0 HcmV?d00001 diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..17df08f5d051dfe65b3e442725f13cecdc28153d GIT binary patch literal 26300 zcmYhj2{@GR7dQTl!H}J@#8|T=yRRj?D2yzLkUd2qOGb9ak|nZb%`OuyLPCvgq)23$ z$`XSpj4k`ly!Z6`zwhCR4uTe(AxJG3 zg1CGOa91?I2edbg4fG*0<*THn;xTwa?`vr54?&22%0F1#6!_xrmshW?_<5 zT6Rc!3qiL;jP!LagMKa(1H*p&*(0y*1VozBj=^rG6>ta!WbRi3J}3^g8#(hySufU%Yv< z!2fmsyP{MB0jtntw>afY5VihWmvX|>z-s35tAE-Po z)}qq6pTS`djZN-#d}mr+IgXsTs8da22XAi2^Ex-Tm#EM+bUYeq^TECFL()kd?OCE) zkVXgz?D5NzXE!r?Ohw^ba8(|R2=TwLw=wOJw634%ZjxJ{zX^GXPPafIAgqQ^b;vdk z=d3?>c{&;iPfA#3?Z~NFwXf;}^39^BLig&TDj1*Sp@_Nn6`Cdo}&% zH3Kl6=l^xTlvFRIKNr=Kv-bSxOu~E1K&ng>3lhpi#f*;`Pkik>Ow=(jYz(qj`CKqs z>%8Yr5JJ%uQiiozSr+ARF3^VON)o3zmf7x^c{>ce(*->XDiUBQn$s~Os)0IO!VxHu@<^d zK|e;>Bgniel|v($8b?@ctWHJDEaO9Ui_~rwq`yA*JuUZ2Npz*|%~< zss)c4N8BsRHAzCo~}DML41J&= z8HuWrg{-%$k^hD+qm2JipN7Dsdu{w%*<@WNiv8$@g=AuaUpYF)0>u;yBreKPtMx(o z0nXoGaYqXD(w3Wv5)(s07N5OIL;gUl>=fC`v{1`E7-ut}%qN5L&BCt%t(*2fd~7o` z+rp^K=`u<*%deavy4UT|;QyP=!+KV_KXSubva{7i zm|)Ysey23L*k*e+OP?|Px`X8V#Ds``3rVBRB%|lQ3DwU}PA6+2YyQ7R_ejH;7GJnF z^Rq0v^+V`%&i-McDCOl>PFGQ9BL{r0p+wmhDX)lAUNO?&SHfnl(^H1~|F^{UQ<roRxP=N!GcDky6!}>U*kmxZoT>qxQMSk^r14@WN<{+uUFYAf zn{#p*{lDMd*gO#~ECDUCIZ|h{sK1>?DFp5evcOInH&W-Bm@nq`n2pqLd^|UapGmDl zr&>fj6PG%xWRt{|KR(h{@wlCo?WYzs!63+>(~7>H;3Yob�l-8UC#6=HcGgmn-8k zNNi>?kp6e*GS1aox2#_?hEWEZp@KNd^S_V1gNEdGuiS7yrQXL;xRJA*kz(ye%t3w|d=ecc8vpkdcl4I^2qaR`RO;WP$ zU-awKyD*#|Lv}6e_!YrXVp>$^LhcWkn8#W zeK!WYXk|L_fnP&l&4zf9A;QAiQx3E0JmSc?qkA7r5s>buws&%#!|y~;x$jTngSjW< z=lEHPh}kD8&t~}X)1R*GZyEJeOKSH;_c&KF_I9CmB%DUOOG4@GhX)n6f7KK#ruiQf zob4R(H6(xC<7J!8~2bRabs0yJjT3FJ<9B9?V3Sq&_=5 zNpsg?@uSD= z7^ytRhdktNRC_u;S>NY9E{%MQdav|{0pCm=uYEF)vA5*U>!wAH{OVSp_)Sk11|&qd z)m_gMY&+)dHlTFpxG+$0=38ObR-VNWpUpybSzE2VE9v@2y7=BrrA zkW ztv>37YZ8i6U0lo^1NQbVhiPJX2!{yxu?GH@cUkUf zhl~HOxG#TXQIT5FrU=Z*{2h?#Vs>+?J;xb=#e8{OxbiL{|($uahS!1p7=fKcty-f zm%pmrKlzAviY{kunPHCt9h*mfn?wXK7XC7gleFPg zb!96E0#dgWu9I=u{`$V-%zy_pgSCq*NlI=h3yMv%CwGfPxq zlb$|mD-GyE5sI^?{_qr7#UrM$2D9^Ok=*Mprp4v(+UsuVqyc&|+vq=|reDX3a`IUeBL)qAsYjZ}=;CMNc z7f<}ljPEO9o?`7XN^*4kf1X=dL2V=Ys-+XJ-*08;w4axcz%nO9#Unp3-DOxH7cHe0 zhK6=GxfJ|>*2|sT736*m^=);9kH56G-i>00I%?+F>TH;%BuLq3P;$2;+%GyfC}`PS zvHHYDd^YFl+{&!eu$grA3qmSpfv?BuuAR+fMlwsTwWhmThZbGrUyD|F%*qm9o(*R7 z5dd%kBuGvl7CP6a%{7%8VEL-@^tyq~y}Oqjhqh6)t?)>Dw$jXDbkv%0VCDhQq>eX` zc`N3(RaRkNY!=jM)K-!y=&>}1Q!Vu|`T8srTRS z{2d70I+x|)Ah>_8>kv1|=b<9lhCf#1oZmSKAa9!K znlKV#7OZHv`DR8fmFjbj_Z8GxB{X$G&d9A5nd46nLS7Rh(9lSKx%w<;S^$5PBjH)5 zMY|6AxUY6*Wl(5p8GP79@$TcXO(!D4FF&(DJ&$?sJonD8XKf@o0i9qyZ-hAl_SWP~ zeh}kSpfP2NC^n!fY>D^6G3K9F*aPJDdV0DU)zq-8z5)`i&e zdQd`tB!m&k$xN@`(V!Ij{Yk?d8=%slh{lPN4)lzsdbY9VXr(IygruIf5+7K7(fe>tb@#+FsBxr>2&4jHK4Vh=0 zMP|s9@<8`q%oaf(e6Z?Z*1@L=S1;vk@Q@y&>AylczbEK){=%y=Ef!ek^Jj9hA581| zmU2VuFWie^f@tv|%4SRPbNJ082&YJ_4`CP=?=)|7u)|y$D&*}qcx^W2Rk)6>N%t9O z&L|MPz0TC7W+Q=2_lOdJ?3GW^Ei$EoQJI)#PXCul9kNV!2;oc4mGgpUd#1V(Ip^)v zgtMqLq02AwBLBm1{F~w)i(=tfVj3!nAF|)!)fN_D)Uu%*luicp-qj1Z8M@J~Ss$p6xK-&@kdP8OLi309K3 zrb40xd(*nbMX_H0dx+mnLPuMm&KBR$kS_eU;AG<+SbIw>*k8*9n}OnTUW>$XxP^2h z&Px?{0zUHw$@o!&!7DpP1)6GYd2S3OuqgtWXnqEA&D z#g|)51p@LXN=*j={jrrv7-HWI_6)w|QyuQyQ`UL+fL#8FkQJ{t#q_T3l+HPf_{6>+ zt;wsih10A@EQ-a@KsRJc<6Dk?V}V$^J-`(yc!qLF9kRImh}K&U3F}m}KB6BK8TTK% z9Q?PnbZj?PmgPWjxKkfg+nu-mH;^~Sv@Z54y(*JVIy&0|+8438)4&iKZdJhP^)EbPPkB5F$s5@yNJJ~dkpbUadC`!+jp6A?}5VZm06D5{^i07X4 zseVPqp$)D(zC`P&{kfK96;q>w)1wiHar*CaB${W(hj00qrjB>(-uL#~5`ODVA_6yh zxT1X1i#nbXqSy2du5_K()!y@|HfMq;7M$Io?;A8BODv-zRXcm%>^gq!AK~ikBOoaR z4&Mb&Utr#;!?=YGCa{FEER)X7zP%oeNSw)=*p(!SwuUnvRU7Wm9zj}?RavnnS;tsi za$(4@D^_>nuK$f8zn(-nL{&VAQ#y6-*N2Ex2IO@j`dAB#l?5(%1L?6}`y{dJGJbe&0@XG;Yr z>wMuQ#OD2g8FpeGay3$Z6FFpQ+hV15Nz@?X?%tiD^{oL!%vnfKYSAXr{^CgBCK{U0 zvAcR~Bu756f1dtjfOFW+{FRk^n$Kn5t$X&E)p@m@c*aobwCJ+cl#=e9H<7Q`22F@n zJlm}MxT#2D&bn4b9ahoe?sbZjNDxOpCAeDrDBy4y;nk6dS~+~sEdT(CBWNBv57iWp zFT9b3?bf2>QSTpJK0IQ(|1sm)mj!PUx9C%H#?)Uu7A9)`sB7+iLsCZ}WLb)fZNwcW zL1cZL9+qku+W6YS)3-B8!2$%OFTDQ(ff9je-)HC~RAL1&edR&Eo61Ti^BUl9n1vgk zE!jCsWv`eU)iK28zqz|@5^}FtEw|vsx~=|UIP^E&`%3o(vp0$M-_J*m%8=Nr2VqmJ z>o2~vcEwg31y;Iv%5ge*02C>VEDLj9yYX0k??-U&p(d4>(Ojj=VBm3l2^{b8`$r}j zljoDRVy>sNDVcsSy1mE5VpJhP?sih}EdR>4b&B;hB2Ak3ly8;X^LwB#z<4?U z|MlnY))9~%_y)Fb)7xd+P7nUn7D)z(S$+-9(c9*NWYWB^z(4L9`^5Pd$sET6Osyj) z0oF7OX$cjUF(<-aG=%Ribf*3YKy_6*cUMWibe=9|pQj^n1{g;6%r5zF*%x%-6H^yJ8y(r3Zn^&dSXJgVcnhpk zhwWVpY4@U_N2ci&pKplHM+T{Av!PE;*z1eYolMA6TU=4W%8n z5Tbov`9ioUKZKuZmyyKzpzY1C2ZbBf%~Hs+590q$ufIB`4r_O^?WV$4+q?b?%Emdn ziOi6mxuuogNAHCQTUj>t8HLrDKAWz_tuxx94|U(yV~eT2J%TQw=3+B%&2TPWRY#by zz!=+QHcbTu4R9jm(;st3ZLg4-91gQosRE^J*3RjvGU1g;1!)SMY66c_Rz;8yZIW)> zQZ=Mse)Yn9t5;uyPw1_qtAK%BetB2-XfjbgN#`Zj?n6S9>}7B$rHH>&Lg<{+?!EZJ z$?ozTZSeWs>4> zB3Qc%H|uUasjGeCorO-YfGgGF&@W(0P*5A%__ICX%9Y4Abga|75Jp!pe^&^-W>%r( zHO?|WU47{0`src7XhFDS%u1#=JqK09^}{5Fx^nfy59!RSNd-UOTuoRzH~-oQr!n$v z#_{dmLMJnc6&rVBu|-zwKJjRs_>{cI51(S3-$_BM;=~m_hhK*dYe*xf5jeP<&c{QO zc`jev;R}%=dC#7*OPVjQ@9{>dbAFHH(9eQGu>Kz~39VWYcWhhH@dERZ9JHr&>o5HA z#J=Jdcdrwvva-!ocI~Pzp|<38oU{X7OQ^G2a*F;c5(r=*@GU&e&S762qa{gX^Ob=o zfiQRLMACQp!P}b{_h(%*Ys-*5318ClQd+Y}n#kh(25pRg-`jVfcJ6POk=jSV+^L?V z{WFv)OY_b`O>`p)p#dgm6$~@93|&vGJf+iAudH={X=HflmF?59pE3Wf4XyKW{0h}o zy@(T?;$Nz)94;Kw8~AtlQPs|6P37uT-Z?O*!E3eCE+p3Ke6@gukNU!Xl9+FKduO07 zo$Zv&aLCbZmJ4d0Qte}CX=x#Qd3r8p9NPywtjWss{ye{(;DPBWw~Ow@^bh})MpVG@ z?NW|j_mUigdGKq5v#@R2&-UN{mjmGceUg*2b&}g(OtF}1>Lw&ls)QLry9}5gLq8GM z?d*!-o3kc}w-g6|_{Ar&w6WHNjkaxM6n%&WU1IH;4H1}_&(F^u(a94vPqb1jEV{n07SlwPXrVG2!v z5`o9D9FC7#3f>`0Z8tAk7+u0grpe7UIMp@V;x1lyarqSr*`xGxV5;=(M^D~@-V#~| zzJD*@xj$lN8Za72w;KuA`X3ozN4x&Bx)x|0AN0tPHVAruk=%L$w_EW=Eq*-D#qrR! zb|n5r?TE?XZ8VatMPGliqo~bC*WnO`m-ByLzy0^(#f##ot{@Zli$^NCdoMwkRwFS* zsm2CDSJK*kF?PR=%ji|X6-2^wg^BDs(q7|=9lPTzWo2c;ZbeQ%U+7JN$vC_ zEtjhB!aOn;ZWkU}RN)t?tJ{7BwE9LdFtp^$I1!APs@unka*^gsfzY;mY3a?k-~POM zu!ObJeM>)7I9OY==0p%8nVXyYM$f1gyU!{>BITjY4-*#h^YeSK>KgI7AYgBVR|3hi z)A}IWMZ{FBuK8qnubm*mM&iHSYK0sQA3tojd-R9lLe1_~Aoo3Rd|X_6wR7LI<8}qu z6>}~=9lT2E36Iott)?kStv3;-LJmG!={E`tN?d_9^DPz0w{t?B5OUXWq7vNAKk(-( zT5jxZ5Tu_ggzs-Af6Z6vcb)Br2c@D@S%|!;U9!MPmPN;9uqDdO2|*Qry8nDXUZKLv z#{3`-oxnBEtfSr2;uI@$Y^1NA+j~*h@sNRmLHkYc#%xYr@LBYlz>B0UdkoyOkoc~t zqN|W*>MubWrZ80B;*_1T3f2Xg``UG1Ni-~{pOOck47%fUsJA!^YHgN|hJKPo%6JIU zx;pyS$|@?0(v2)PrmOy(7mF#TF+W3OXKk{-pQK`?9CsXX5(kF_(|?7Ta*=<#bautO z+vVcqoHcklDB62iAamU9S`}W6j>)-uXyYKRlLL*2f!0qM^A@op&4Qb7JcV13-v}Te zqjYyo-ESQ&6L`8aA3s)t7)w1TBmp9)BvpHUiDfE9*RCKMkW0O zP^R-{yUa&WTGpM{q62JzchiaegWOnb6D6ki=A2CWH0yTjRtxP^K5$eBn#`3}CLOy^ z591R{eXeD=#&%E18W|We>_7wN)0lY<0uN{%X}1#SleWL?PqObSlTt9d`lidxi3GNc3!2dHfQvHllCji|ojB2*^@fY*!pVHQ zcfLKl)p?`#@A;Gs1&lv7^aGxoWB+k2tw@rAJz|Q6lmc>&6bJb- z1(~vXuh{`jZFcQSanIZHgcQm{FX$sMy0>4vT5+3kq<2n2Cr!%FT%~EuirrTD4(NdQ zKmL5Hnaf-B;LctBDp;^4ko4)bT&D(NDx4tg;#ze#%X>BdI4YDMI!B!L(Qxaxa{hJl zCk!*{h-hK?Ah-6VZ*NOG?KO9bYpUk`%m1COx-r{SGbf}Z`IWD0keA4)3w-Gj zTDiXpmxo7YtgOEG)BKM7($QYZ2ZdBNvEwC3%mQO~9gZuDi(i~d`lR)>w_it~|J<@V zCNkd84f{R({ow#Hj81Y*EFrWm4u8p zhAbecx?*|Qj{f6MofIbi3S1tR@==x>HVoXgU&(JOuplL%8HiAt-PQYS7+2uFA7ZQu zPX)APtZ+X(JUmr3dI$ogBLQeDDi(N$dYm28`E$HAFxf^d&kt(WQj>`sC!~jr=E1 z8c>bYR%6loZF;gydzSZZC@_1$$2y8Jx^fJnw8njcl z0Xp1zy;xN5O~gF{%sR*n%{D=s6DRci(T=kzbyyLC=zm}d{wo&&bHB1G+PSs%z9&3j zY|uvPK8@leQ+RYS*IUJn_f=I@yybcqC@H#{6)Omby?U6y)SvEcm@~i#Q4jUpjKk3N zqbybigd+RhPw87H3u81BKemOP-0 zI%S(ASxOkN>S3RihQhv>xgP;zb1v^aGj2DuofDb^fJTWR53BV3@aUJn} zdFECb=aB#Cse7KYVGw{AU|94~_QgkI<%+bzryrSi6$Kurpp!nxxE1{%5Z0|pto89U zk<2>P==gs9WcjEzCEqCoR8uHhIHi4P(Y5cIV`R;!f91**w(aH)`cFpc{KL1B-pWvpXq@*c>EMvykPr`1;qvQI+oGnc5loa!F%)^}hbNpc#Fz@3FX4?WPn{O!w zO^iLU2`UgImJJx|i+=t3H5CD$X^i8jP(O{F8CPUv(8de(M);;4IFc??4(F|~0+}m@S$JmX{NhF* z`v9ZKtnRm=@kn-a`WZK0D1HW(g45ccb{q_B(cO-+;Ik7>-yT zF2ojnR68F8GRlnhVuim%!f%d~vr<$UzYPyJGVa?r-C>;KSPMD?fq>F~iTcA|p^3DW z)pWo2d1Gc-DTWVpn4!IkOJuuuS%0|x?c2j^ zYWhr0X4MA_v_4rYt4y7r2=vccKf^EyTTA4qrkBeLoz_4^V&dZNClx18V9M<-ti;XE z&N>+zRQ?`$Q|ZSmPa?t)$&;Ft7zusx4UISSxk~cfjVT8LGQve_QiA9!VQXuv4P$*L zt5N)3h(9$nB*&1c$Yj6_h6XdGsihxx!Qh!7{g8qnd;)poU(%Nc!IAW-kE+HHC-S?M zGqp=o^URCV(cM~{DYOOp)%~aj1tB^5a=cd=^kxwRCd5^HdyS#%b~MC&u8v-()UKJL zBlWVlemP=-ruF^Gj{GYF<_Z_og!7`6p#L&ed&9EPak6qnxAUEL-l99(H@CMVauUjb zIJfJwv$Ow##eMg9`6`qK9|P=iINjA({`VSPo_}&Lkwu z)C>XXa#4Tsd*Jb}_M2OsI`Er}eOcay3ybN@hGGrqXXqGN)+g$haE?X$K2)rq)qVEx zjZgCP+eDD1gbIJ%4i88chyqsk15_SJt?>|;wAOfgz0pAMXHGvV>geS%42=DrI=%L8 z_%GdaizpjedOnD%MI|yg*qL8mpa6!^r7n;u`~}zaC60kc!c#b7A(%(zLmU6==FuC@5XiDkhrA9IWBQ<%J=qm`&{;2-%y)HJyKM$9gw2lI zyl7N>7hi7SES?dn2|0{}8j^q39z~E6;I%^$jG$7)AeVLUD^U1z1mqW9HBRN@q$u}t z^{}ZUkglLwGhClygvz_fEb&pD^~J#@1~}KqPoF;7LTDjW^(|mYhK&p)`k!YouSWGs ztD6WiThZQtK7)b<=KU2v!PDh%=JM+5zo#J@uqExifxyf^fL@`K);ZM)4lw5mbo{U_ zLLl4QFiwXNl8FxRk2^U^7**UhA|)J|tl# zbis6}t5?5RawV{Ji0+qUO*`4={s`Sn7ioIceSd$64)WzwPZ@1i%1!&lCet(;N+z=M z-M_Om5$Qg_EiBbu2D1KOG!~E~hioN6lSI=JxA*S>5_#IOL_C ztGTzy=prZ$xf(WQOM4BzDT`52%Wiz<+puz!n!S&^bkl7U!kdZ(_W#MANPi0}0R?;( zAKaRA@Lh7FRG5^`qQ&(t_-86P=1@+O{D^=4@E}1}OCJYlxmeAy&Xl?7}ge}6OUpB5vR!bj4_}=2j-gHqZhG*_| zFIKm`PHH=?s_@A9C0xe?`MzIUAYiKa!cm}GNeh`ahyMMKTe2KA!Xh1qYFdGNoQ#75 z*A_k{nV2qRoe&OV(Ruy3!jy>{K8(KhT{dfF#9E3oR6wy!5Re<|Y@h;VjiQ!5g}Kgn^Afh`;4u(W+$6t1BRmdqxPD)=}Cm2kT+ zg@okrj_U4)E#FjGTYs1kt7omVoRmkLG*-c31VG#AOj!j~aOUX64~*tFz)@ZzC4`$4 zss#vRMnPD-(*_i|sCl_=9Rb&nB9_p4m5H{hH$HpSQ2AmyA?mmc#`M4Z9(V+sD%R<5 z*x|uh-3*=>GU?I+(%dv--?q@VUb##K^wq(s>$b#StU0 zsn4RKGs14aB_V56o3c_+Z>RrN4K@c+BCE3x>!8v=Jg(BkgW{?LHDiBkcclj$tF3Ln z>6oZmO@rgF1ok5Hvq&1$AI=i04Vk(-`yQ%;kZ{BrAR*?dAW}-njal;W`1rUCv6L!$ z_X>$x>5KtyO#H@6cY*c6PY5JL;k)bXcVG^ON6Gv|e}&XQ)bXzEMbvRn}-JUnj*XTk`er|r#Sf2y+=}AW&s?B4q%)7WXZhCopq2# zAcLQhv%v>K%wE0dApEEc4vG`!C8MkWBFdk!j)B9_MesRlv1 z8Ic?;_jd&LnL>QgHyRGVaIyP~{nS?MxSyle7A13BRyH{Q>h^#8fv&xE`kPFUyGy_8 z>(q}$Le2_o4s=roow>u{jhF`y9!xmdBE^_k&n5|6x*6UAa@2t{#2A zp-Sa1k*Svl#V2_xy}Vnf7bD#=fg6p(m0) zeE4uUF)`r|*~ga>uM_1q=0Zb5txugi$)^uX^%-u5|dJ+2w$n)#P)v1QZ zr-i%h)S+Gtkj$-2*etZg0n6O4uptc{!mL#Lrm(<*2LkR#_!^espOc=&{x zl<`u%3a1D6NNLz(f$&@Gpp?helF%%Mtf>aZRg89Z-|k0>3unb}l#4_^%nLMBp*BCmnMBmp_b=CjZk}OJB&Vm0 zBuSI)aJr%_cBgM8j4HZ6d2z;hy%&-TUjHqDsU;v$Oy&SCO|1KiQg?C%E88tFlp&=VeTk*oP3 zmAb^;Q?3rRyL6?lcxHjo6H>rh6x@c0S!Z&!!b2_r3Ir|}IwBy|o$%RnZXjrxPee)o za>1>HO;#O@m%USrA8Jz7sft;`>LNgZ-H>=dgOrH=g8p(^2aLLR8ThMnGQ+ z>SzR9<#ro_3D&P;;fG%PnEf?9ok+uR+Q!5I`B?=RSB#ja@ zl^{qWjhXIUH-Bj0Jny#(v;L8HelsV8aTjoZd|%ZUjgsVRaBx=E%f5`SCTJui5(dSH zs}20ZW}1Uin1YoRZ{jVUa!R!3{qybf^aPn4Zyq|~ClbU}PGuj83dmtxoi~-MblYz> z7^*CF$kj1JXWf$5z7waLL5n+i>VYfvuqhFOH2l*NHov~sy-2YvE&NdK=?of9s zprN5L5Zp>NvBJlLWtF{qr|Q|2f((@3xJ8hTaY^QpCDw59EM5-@@|pktV1&u%qp{zL-}nx;~K4sH8!i!VMqt;g9-NC~N9A z#CsWQ;0-8_ZUUR*P}{Bw)jLDnEs13Lr{%oc!Z!V3saHDmeHjgb$Uho86-)#t7~#*S z%+xmx2VWvj0~spq@?`S-^0EWHfcL@Q9%DFOhU+yt29=_j13OL7gCtL(5rW}j-sA5EH-_sfu0}*0 z8@l$QpgB|{BNtn+8VOkH_1T!kOGFOJ?lbQ$jfbK?+KIy! zROoqTMAAQ-0jdl8?p=`AwQEBix?|guIXQi>`3k2om~-AJX6uqpRB1=SPgh+4IK%-( zLQ$rztu4)Dj5bSD-a$F29{zWYXCG5N<*avE4IH7+`7mbTqfk+=lbBABeGn4W zNZHIIFL$wQ;AI3a!_cByOot*1lglhWiT1&a!*IBuxOkUhq-@+dPJlPhu&2sz0BZcs z?>tzEdf;34iJO%!b#WtCcT%l8obj$e0dLGA2}~yh%UA%qD*cdnpNEHRFUfc@`RRNj7LDd@D zR31#Q_96lUxxjribxoNNF0arZ9EYwGVXN60NcH;~=3t<_HW9cL$Y(s0pLKx@P>pnJ zy+)X)d=!nM^K#ze!<0DV71cqd;sP^fr{Krf*unho?#ICB(gJGT@lJ9u>uR6xIlSWB zH=7yi*|3Zn*Epq{n_kN$a!Z9UXP^;dSl;h2lR$@^2hq{d4CQ*v|8^AQV~{!`7mjb= z0SYE}_gBblX!2=gB8-k*Y`wRsyxwzog?g%xH@7nU53lPnH}F7LMK(nh>;g^4X=7j}<(mCZLEGbZ2#S;MzN@ohE)M;)290{kT``(DyCAi4 zS~!Fe)X${GqYV+wpKiPb=a`*}mx=_jp8Q?-659T4{t_Ld_9{`|lIzi>zvm<*RIdt` z)YQmnb0!@<$#a6q352{HJ*qcCEL}YLlS3Y!ph|V)W$Jx8I=6m4s`&~yCbCzdv-jbp zr)04*Nht6?6_tv6h%T^|bv5qoZ5eq6hLKdwU${4L=ngxZKsTzGZ4LLIio>}tTzJKi zHL}7Ux5B^2PV)8lYE!Kq0T^bbzbT0M0fJ$tjwAfHXC^)4wXR*=kPPj=au%*dxaQ(; z^$tN0*^n|Amfw2{Z7Pc0lRPYV)&Jrl(``iaNxI=^r9 zLs2c-PGo+@(H;WqU=WF!npb`m4^e%(^>p8ZBUKjklD z56f;H?Qazl*h1xNfs^?#a!1OK0suW6L@=bL-bX(&OgAjb>UCI=ktjL$|Ic2)j1!XKuhI~+k~pU6CAMPkN=#Z}e! z8yYNGSz4ttIlrKwz7=`(1~L(XFbhJ-#S>X2PkKsxR| z6r`huVj8=o9Cm;1@Kh0Qv+sJ-=@30ZENw6MMlQOeHDOhYM4P2C^fNRnyr}8x%}6mM zHty5oByH$zL&FMf4GL6z7SDg}>x-~ayWvEwWd%?f0v@^W%6?6%rXLzO-}Z}5c)lBR z{Co6Mq^z)Jzy5Pr$n+0ur>$P5pOmmLPu>CGL>l!t?~wyp5Euy71dtdA0UiU&^6GOz z!D|SN;hD0zJP9R8-x7d?YJPMvV>qpj&cK_7y#SxW%)8r1W`zuk{4}cwlD?8N@93&+ zVOC)48RR|H#i6P(x+z%z2ZQZp6(^;UwX({)HNZJPl$H^HJ-LJEJ=TtSbif0RVU2&d z1V@aKp_RwX=3i#60j@}zz~<8ta;Qy57v?~wC;J3Ocw)7b$$^r2f($1&$es^|G`Y16Da5dJLO4cqIB)DGd+ zc@7sWGiXNdXhVVn?+HvEs<#omt*^G8bi$8YK&%YP;k|E`7b2!~NjW9Z?rtHuH8;2( z+?C@Gc!|cVv!bEZ>gCRb#&rYE^tEG2gPRu9ab zImx}fy$1h?{!9dM{cxjy$H-u*Cox%-LnjU_@2%47nIZzES|a`+F&>n-VerdY0otzj zwMqgRE}sKcKPOsa7jccCQGX3Td56bsDm!*;tJGxU^f2>pE=DhCe%Lm6&Ukq+<#ECq zJ;aN3x{D`GS6kA_ZF~V{;w>t$`6)xl;iPQBYI2ljOI=yS;Oxu4ysLN1?^L$^`p01m z=Iowfb3h0>?Q^ioMcEtz&R(q+aD;6C%E-QS^d$kdIK<}K|L&_SmaBgkvX!eAj*tAQ z)%L5jGz=re0)?7*N_2<$2i{ax%%M_6fZGc0pXR7)cNf(ovCOFn$D`xpVZuRx8W#X;PcTuX`dI4Z9%ZmC5p^dnW^F`W*4PsB?Rh+wRi1 zoXc%wy?rjGk?I+8%9`Eu_k*t+E4R(AeXI$DEbbl>jJuM1`NKc!VjKHgp%Oz}KrVXC zTGIZ>^xAF{bf#QyI}2RdpysY%G75^}_OdkYjcn+At;9DR3;fj~kJA`1w*HP{(#fjuX|$OsTDZ&~LIjGR*?X^?B_&-(_uh_O#493jNWS zX+aXI7M?Z0^2Q0#HSYZQv2ix6wV*a6s= zfE#XZvrh-W+fn;Jo|)upG)fl)jumh#YMmke3eevaC&k^Q`v}zpPau~=`;s@a@XZ^4 z7Z>fATE3e-kNW9Wb@U$nG0HcV>jPpgE^$!=U?KK~Z4g@Oj(l7ySl$Ud#w}NWpJE#{ zYu^5@4dGoCg&A8zb_FCxxJL#ezOK8GQf|`qLeP{S2?IOvv7rqtk*RxjY01m1^`Jj# zu20xG15n63Q%0n?Gp*Uqz9KwkhANCY&J9NaYt|mCxqAoIt@{fYpC3<5v)BAcwAwXz z5du>;doIYb&C*pH2J%I>Zdgl>|IFQMB(NbAK-NTZ`TgUUYK%9KP;(*xjo&5=1Yd)w z;VA30n%i+C;98qNcIzWFEPQ)W*W=Y<Q@_&vQE^;0_r3V@pq2} z%5M?|*PE{3I#?uhy2w!&CWvzV`aVQXTbUoG9~eb4@RCK53VgWTb4p$+RZeXa=O%L| zqVP^>-mCPUZ+Zc_-F>nW20`3Q4~+l&$@DE5m_LwQ?I`U!%mS`7L^|Ct%nmo>eD6h1 zAFVGCpjq>Xa)oytC8gpGL53k0JQZK7*Hyjg>#;t=m(9On?J**y=tLYE8WKg`lcRm- zh-+8jcGT$dvY}FeHn-np%)!uj++2eLalUbkz3q|r!8xTc{ml-*h`vR4wOOeFQxJ?k5)xOzTFY0LMF*k z9+U5mN7@Vx&e%;+{%n8{@$vPS0pmRRk~w69eJo2n7%b~#Q^M`OCrX|nAeeW%5kRtp z1VHvIJ+v0&Pg4vVK+f*9Qk&U~&+xR`N-xEjq1sk{4cv{yX3Rcb3mX5X9;J`ggbZ*U zvW&alq`2?Ruc3uV@uHN+tJ7Xz8G%`}IP!kfHB(Pui&uykwF>^23$BTajHU3AURHc% zwh=^tiIr-7YSSB!?q9HfcNjp*QR55gb$b5Wc{b9)8$b3}WI_NzSN z{AkDd4z>{(USTroJ2CiN-%#&3<+jG=A|JEnY&9TDi7QTqKM9tu*u{4+Uw4pwL@Miu1z?^12ScV$A)OlGnC5& zNMP!7v&HxHURT7P*8|r;zH7bq^zaC=SDW^|=h0&do4H3~F1D@TTR6CHXi$zSL13ua zw+x3&qUgSQjn|D;+fGOw;o|gC_s(T$=x=@t(rDGkx$0D9M?ftrk>+#-3;x~uG$GK4 z<>-iR_j@H@4k@>Ptnbm2|J%rNa(w(yl#~+n`MG2<&FW<^9toBFHmd1hvK3tMfFQ-m z^Svy!Ly4*tftEumMs3;u+o6S8P#SRpnrJ)U3(Ny3HzqNXOAnO4dXJxVNJoKtBq53g zlW=ZA-h1jp@e3=-OxDCv$s@Hm$|^G!L|uDN0c^LN&difA9@N)W+7uDfnS8TYZ}vQB z`tL53;GuU-TMCA(`n%7I^2Y-9l^ElJ&PzT&2GG&Z^y<}b*GOqm67Q;hOUOxQudJ3z z&lreOg>I7_K@Sj~m8kI9X&qIZ#1r9kxRu*xVYDUSrWHuU1@K})*v979iU1WF%xx~S zaU~On?oOZ>;^*wJCX@45D007z!}Ry7uhzqjMuGp+WJ}MgdPR`z3)=`6qFgeDw8V(N z4B}K*$H+Q{K>wYm?GUTqiUK7zHYx5UX9dYj+y-+Ux+I)lXJ==3R3|cGK5f(abpUb9 zc+oiYTT^j%ieWsc-{1+q&%+$9FjWWYVf*4}>U|6wng1OgOY)nczM!M6;TeKZO#0ZV zJw6Nz$S|_I2D1trg$jZjLf5PBgl$ZT!wHY+8yA~FnRykVu%mSB7$y3{$zfQt!}{+b z?6-B60Ae)|WDdX3tlEKs9dLgL;@iEcLsg}$sV=*Du*@GY=JdQg{c(Gaz(hLv0vNtmSOF>s9w?wmXn7TI|7nH5WU%VLGa`ra zX?*+E{^%bt>SDa+Z8gd$7mmVpR41&aZa<6@$Ep*~qTxF37l{J7B*ntol+lQ`K8k@x zJ#o>u7-xZu}N|=R4KR9R});O8&AYJq1+jBC?@H@s@||* z4SsSy`g59GWp$^NsGwxww5wggghN!s`efAn+j+fzbJCbm?K6`8KXqMcJd|J9e#TfM zL$Wt^5!qWuvKB@~k|kwdQnnb`Vy4ZKUDm9HqAZn4DNI?5Y$;`lKUt>560*;{_rv?; z{qTONUq7Dnoaa9GIpq<$9ein?_lNKJKlMe6~kuI-rZ9z|Y2pNUZ1@`d9Yq+(w zE&S>YBt~+bwp+-iHINDba$?hZIhu6i#tfcm=1Bs=mLa?sWhRP$iXH zIDV6+ScTC^BgItkYQMbn_Etc*@HP?~RSu0pcI7h9XoLHrgt^wRI4FWVSi zfeB!={xdCc?B6o%KO1z#?T{Gx9Kr3SUzR_a72U-{(jm{o?CR^gh0W)AD9tnuGI6V| zGc*t$tj`M#>Ax>guw~b&STtpFs^wr#n@R*(iAV?;dmfjv%m7rPmPnAX+4&`f9F^gd zHpLzlzq`FWH9oO05;;WNxJRp_CbKd#Gp9MaNAk#_Hg_FsIYYYb&3R@MvJ@V{T`WW6 zrm)e}$VCx1Fl+6XvQ;YV>uPNXJ2O!xI+vz3$I)DpiO!oOAx9r!dgSbWJaXtLET~9w zonwb_I60ZyxEh$%-D3l9V;6}Jm{~B|{d-F?`f3gzt0zSG@tZ6TKNVJ_iR_E?aPCoUDLOXG5{?-{xMf<)t|;*0YWGl zXtdLkm$^Iv?oo#wCN>wIVT^^h0;g0-_g#LTr%lhxEjaxxKWs^!1nWbFa@4 zkW@ z6V={f0NG}x332eHrEV8Zx5TuhdUND+f2y3@57l4&Zj56=3|U^wsVwJnUte|TG;TXT z|CsumVdkT8%G))VWb`Aq*PaZ(CK->B?(RjANHKuP?s|JHk5*c`S_E+( z5UP(>FGY513NY4>-`PVu@7z{oKsrdtM2?ymK4=j@64d9`%YT&vguH(@{s+tQ^RWl7 zzLd)V##BkSftp8f#%rj~&E6ozphN9MhjJ8TV56X51RcG&sKYI7;?U?=*NZ5QjLLof zrQB)!Gz5Gd(#-BNxTD?y-x?7S5FYU6C}tK7w})I^1)$kU+=xeh)#BD7xzLah<)6QQ z59}Sl?Q#8(aw*zi#07bP$>1K=N8;1MudW&+L0hSFp$zxfW!qDyP8Ey4@RJYzT;wlo z!6KnwElUmm3|xjB(hVyblIXP3uALI`x1DTu|5)a><1*WtnGVE9#XFCWMinE}q_!*D zlgaBr`zd9}3srwUN`S$$at5O}UQ8=w5DkP*EreX(WEPS5=A%n@)eo2Peo*-SIRD>P znm|Q2M&c%E7FU#_LdUA1Q~lB>ow+RUwi8ipihc4$?5~TylwW3WC__6C^Oa~|JD+nU z8M=Mzi~oB2SMLk)lAnaVy#;uxH>h4gmlwl~*!QAtOKx^wa6!wzFPJ@0|7NxmuL_{J-LgAUnCc7+k0Xw+UL+45BT(H0h;?LF(m`K$4Ln4nvVBk>InG*54&&k z87Lyh(!4oDv2+9A5mt-tX9s4IK4YYA3w5=~)}jx{DBnGR_$0czD5yKHHJP(6vv$AC zsjIt}q{Lep{(~Mnt4CeGA_slLsQ59hkGb z2k%9Aine6;Zc;()im+7O%@HHBy%*Wyfh-RkGt72D!Gu3>Lt4Xm*43!pCYHtf-m5*6 zt5H}*s7R=ZpLd?z{+;e;QEa!MD z#-Q+a%7hk>SJF4hD@N>N2y9K*`Qm25&x@KXi*6$0*bMo>f-4a-tMR;3o+!5N6kxRZ zo^INMdaPLCeVl}OQ-lAvpQEontE!f_(EPlom<5a<6xtSFMpgtFsYrYBrh#>0fu5Yf z1(FV|9V}f3p$xl|e}}v5TVxrD#}R>P%P3k-{p&?q8+io-(N2Y zq6el$AG6zRN11{x*Sjj#S(6u-AS~5V^)lu0b@u+UF+6kMmg{y1WBrY)Ec=_$eDOFB z8PV|7cV3rd*b9V(42Lgq5pGegAg_?4M&$MsA`7e7RB5rceYJEd(_RGK)o-oWM2XoD zidi9tm2>W;Fd_2`^Dp_(s=`iuvcgeB7*UF2uG4z@#twN0|LaFR z#D@ZVcUx4WHV84aoS9HV8qrboKYSP*+fFnryrsfMp?!Mb{(In+KMN(n=zoW+d-lVc zCzna}2q;Db1RVoeyF`UrO*RJmAMTxgH>q;bGSlu{w|l?#d-HTxL8`+UBieH243-grJ&V^H?B2$h*8 zP}DQ5Dm?Tj1(#yaiU5*(a0A4l-~~pQuL||Q`wS$5pu*;vK+=D>;FG`$JB2T1 zfjJvnaacbf++B=5A5V%RX6fvvAKY8naaSv*?(i9+`A#ppo)b$4NEX zjg;C$G|Kw#b88jJ+~5QmjYHR_06#`#i5xR5;xm75f`t|P51d20;^7(-XLlg{h~w@n z=aevAf^_N|bp#z9_;``V4g%zzwW2yNz#2m`pGw z3??blYWY?91qA5Vq7EyqzdOC*V`a*(g{bGyf^hzs+aJF@*o*S*xQ)}FaU;NnIf~dP zg?Ih0o21&iMT;UXs8)*ky^q#c9(y^4IpnPcN_c28LsPU4cW$j-26dL>w3}%!#lSrL zMqJ-7u&3Yfnq@=e@O8$(Fj1yd7}r^EuHM5BDu^!*&9w6SPQ?26D_R~>!AnVwVRZoh z#9#u>q>4q+aa93E-?xdm+|bou0kB}F1mD^XocuQ9PUG3NON&hcSP7Y#WSMoTjqjNz zKklg6_?n+Av#xkf%R>@)sa>uUNQ2W86*!_5P_Mb*o>zf7&6n0=RuN&dZ066fFn?_} z0ClUJ*jT;j(_<4NPGJx8%-?=)ZK%`~EPZJOcXx8_#xH_T!iQEZeteW07V&M)K^$$f z>^!%&c)JHr0ic)~Vv@XmDb<~2B!_Hw`Wx-ok~F0YJsVOw8yQIQ3oK7eqX5&A5=6%_ zr*(rS;D`yogZe4_!IqTLia^U<5i`KL+|2oC-rBWn-RR=QM-}3~Z`*6FTC~nfpb364 zX;%A&W1Vfn(E?6nfE#8cbs$DNn+*|@MxBY{+#1f=S`*gr8MDquU+wt6agk-u(^;Hn z_v4trKFjBD6m50?y-6O}8SlwO=X{2FUHh$-)k6I@o-OEO^F(B!v(D3THc@T->HYin zy=jU6WdwzOi;TO=wvbczSGzW5Te~1yMtrkqxWUVpv^_#C=?=K|Z#NyiMD*Wy8)0<- zASy^DPHJ`6OYuyv`ERI`;V?pqgZFw=Nj(4E{=@lm`fw+CH^>6nXg0^%GQDG>nPIB` zXtQ4zL*M|4%v^Sagm?7xnM0nj%TYr^%M%-V6EKDxjKTA&?Mgp;>`O<9j#9Xt7}`8! zT>>F)K8GQ(^#UTVpg`z4vnoW9F04O&hS{kfPU?9Vp0aDo^bZy631>Pd_A3{!PB?_y zcpqO*psu;n*7i)Y`nsY#yKc#F^ByiK&(De zB5BPzUJ+nXetySKwwAJ8tM;n3lIwcr#jWb+UTkvPhqxx0YXOH)(zbSha+c4#T{!Ed)VkM0e*JDL%q3;n zo}+tF>UOO&-JaZf?O@#o&s8!!pk*_t1Xz$gW`_#?VfP3fQm_Ol8oV$hxEw(BgLHlz z-r%7Xv9?_EmAk!K*1jC~>(oLPgpy&{8;sQOC&ry`BRc+M*Np&^SX=W40!~d&IB4OX z6k%!hecANkF0CflkR3X?aE4-a^FK$>T16Go>oVepRA3caC03H=e~CrBY#q-&p4!Tg z#*YL7q8aW9Q>lCIclWPw9C8b%UdmQnt6ehPkOFDvL;k|;BSL9b>gwGG>*ilg9tDNh z4viV|%us#*my_?ZYo{RUcyK)bOEy9d$LOog%=`GlG?? z4@%3dRSByJu?zV2oNJAh9vt7Q$m`ePu^}!iBhP&Rff~Xmfw}ishMIHv*-E$L z6{HqlRBH2TmTw+{Ug0JBOPUm)AljLQ>^pxiMg?=c(Pm!5f6=OQb{ySFOO!a+DNa!H zFCt|SU#(tyyfo3%o;A61Ao6ZZ-QRL=9`8vZTJGzfoJ?X5b@=y3TjkSQ~7|x~!QoX&OGvZ8dB*55%LE zK_v2LRuR{l`m10DyjGGG^HuU2H*D|8Dug?!E=EqQbUs#pCJhd_w z*=S3C9MW6o09;(T6WP`)8-?bo!oCeLHrGr=WMvO!(PXh$hbD2Kzx?@W(F(g+94&+N zzD!A*FU<#QmOV0bAtzwDz;R_D#tVXI6-Uc|o@CiNt$6bv5 zyJMxK!o!Cx-{Ynfx$a)Onu$p1ubF8%3^+&m_*^7}?-fva(Oscb%8o#VL`WBb0F3p3HZCjkfA zVkGkvztU4Du{3ytgKvCtL^}xOWmC^Gy^}@m!%A(J*rPEjsk-jCR@|T;(q?lL54g5K zthF@$Uc_-hhRl0Zob_f+tWNq>U-dVP{Oth_T*E%hwY{>Hexui_$wZLGm4#@_O?|GQ zTk?W6$de?kjg5^CiXHCY>2T?cM0Vit>~Bi(H$FSq<@l;wdgTThz9uD_+Z_SO@tDCg zkj38mZF*!j=-`|6Jr&eVkxv?dCGEshsxdQxAL8|Lo{QM7yo_ZJq3~z^^jqmg*Hiv- z0xB*KJ97$Xj52Xhx929!rq|~W^c|GLPE}D!Nu(3(zuji^8%QdeQ=s=N+KX!VTJa(W zyLm4dk!BZ}m;wPNV*Mt_a_Wbb<<(1RB=g5z38<=)?76!ZJVGFkDcv*7bFxO6E>;=z za0XpiF&s za%B2=0f;EfZPys~2K}>ZdTa;-9vDTtdmK8`_&mL~&a6fGR2f!U=$A?n0#H}bVc(byN#Y~eHH@?)ZWlIY)xwnHbv+}QbS?>RaAT?DC% zZ5|bmRFJDP(H2r`}-%da;{eG0FHEO8Ht%$N%0FbZHvs; z7$BL6dQHZY=oFtWT2hrMp+(MmBepOED~%oG^*~)`yLyOlzPa(-mr5jKS(%oRFMZFa zVRV*}I%QT;pox@x20SMEV?_1RNP{8f%`W_Q3xoMo_=ss@VDWZmh`v*^Zxlp=NOp1+ zD`g^&T$>Q}v*ojWM_c#8L}{Ampq~2_6pKQX^S2yM+7ncDb-=5(V-dETrdEYmUV zDxz$cCMyMvY2D~)qzqFVH@mOh-F}s%sARpYLQbZb4e9l^tKpAt!QBW`2$5Ci~_2WyU46+rRXg>P%nQXQs^i5je4c$spbdwyTyXj#`pM-T#LJ z76F|ad#QWk#%wD(*D@#2{#`ov$-jg<@$38Ncic&lc&Y;O;V_yR;|bWz7O^xo46#<> zO??4sG>P0N#Q^f)I?O?fMSebM2{}X1E0Iu(T%Pv!@tHo0Fp{_z@|E3cpTU!h-I5=i zGkT5Wn73k0L47ZUSYE#snVg*bYG5#d?Yx~uzbME1@q&j(uo1x^*fipz56Uz*OcZJY z>@<<(qa$D*&U<^?`IKpigFuu6?yFPmL6BcqK1t&lJ6_hirv#HeZ0-)@8_B zodVE!_o@uPd-G84V8 zzdy8TW#LyAOsWI42x~>CmucIzorb4S1rcJPJimp$2!iATV@^`4T8L^%6HL-ul-m|9 zjK||c$boxhLln-^3DxF%Io5nXVNMG#JxY?tSGn{I?9M#@~?6j$ONVXB!&WBfi(> zV+K3mCNqR>t$5e{yds9rN2xBlPw9xj(Grm*$fj%R)A@B0cY3V;P!%C2P?m+S| zzLJ!v&R+qT0o-u&Y|tTjIVA;g#o}F=DU`W7hc*nT#@*g`!;mk!ymg;_Sl;11#=9gv zM3H|VK7Pze1dvCO+I=7=7;Y;!IKag^!$e_qs|C@cBBj9!o09tXB{}<(Jnu0L6Om@) z#X=(-rp~=d37@)m44OOdw`t6e=k;#-U99h<5v>u4QJkniPpu@rFr`l)WV;X$Kme{{ zji`nZbO#UQ+iyew|CHjf)>`z`W`1>DeA(yZsR*3snq1G2fVx zqsFBfp<_s$5n^@yy?)R|Ee%JKl2lWhjKYSUWpbscuHYGO{RBV#mp7}cqayTrg`B6% z^JjT4DyHAw^h`uBr{;1m>)?phhu3uN1*gi42qE8Da0*${5o?l*BgvKE?B@!9A?m8? z>Po76l+^ZGsA&-P>?iEiP*hbVsH$q+K0^LK4|w^wc(?`s{|_8%U$2J;gwZ#g@^K>t zI{LXHfq{X_9^M!IogIB$m3{o&v!)Kgu0yOsEUZc9j)4-sem-seZbMi^^ncUuv<&!X=?5TIbN>^G)w0`YrX=rQM h(ZJS9G0G<@BR>UsNq_bBrot-_<0B^w%Jm$s{SWXZ$ie^s literal 0 HcmV?d00001 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bef317bfde102c8c11d037f76991c9a2f230fa68 GIT binary patch literal 6910 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 V&r4Z>G~^Tj6$MTCDp`xL{{gDEG@Aeb literal 0 HcmV?d00001 diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 00000000..b3930d0f --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c91c59676220dd7018ae6b5397a34d3dbd52434e GIT binary patch literal 1045 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 diff --git a/public/mstile-144x144.png b/public/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..10263a88a7fb98697b78f49527ee65cec33d6f7d GIT binary patch literal 6930 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 literal 0 HcmV?d00001 diff --git a/public/mstile-310x150.png b/public/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..f08c43f9b0775ee7b29a6df9ee9873e0f35f397f GIT binary patch literal 7548 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 literal 0 HcmV?d00001 diff --git a/public/mstile-310x310.png b/public/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..ce1caeaa503f935cf49757bb94d44dffca97c8dc GIT binary patch literal 14938 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 literal 0 HcmV?d00001 diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg new file mode 100644 index 00000000..ed942cc7 --- /dev/null +++ b/public/safari-pinned-tab.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/main.ts b/src/main.ts index 30756ff9..a989c760 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,9 @@ import { createApp } from 'vue'; import { createPinia } from 'pinia'; import { createHead } from '@vueuse/head'; +import { registerSW } from 'virtual:pwa-register'; + +registerSW(); import { Buffer } from 'buffer'; globalThis.Buffer = Buffer; diff --git a/tsconfig.app.json b/tsconfig.app.json index 915698a5..ad5b32cf 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,6 +1,6 @@ { "extends": "@vue/tsconfig/tsconfig.web.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "**/*.d.ts"], + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "**/*.d.ts", "node_modules/vite-plugin-pwa/client.d.ts"], "exclude": ["src/**/__tests__/*"], "compilerOptions": { "lib": ["ES2021"], diff --git a/vite.config.ts b/vite.config.ts index 9b41f99b..abf81c2e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; import markdown from 'vite-plugin-md'; import svgLoader from 'vite-svg-loader'; +import { VitePWA } from 'vite-plugin-pwa'; // https://vitejs.dev/config/ export default defineConfig({ @@ -15,6 +16,43 @@ export default defineConfig({ vueJsx(), markdown(), svgLoader(), + VitePWA({ + registerType: 'autoUpdate', + strategies: 'generateSW', + manifest: { + name: 'IT Tools', + description: 'Aggregated set of useful tools for developers.', + display: 'standalone', + lang: 'fr-FR', + start_url: '/?utm_source=pwa&utm_medium=pwa', + orientation: 'any', + theme_color: '#18a058', + background_color: '#f1f5f9', + icons: [ + { + src: '/favicon-16x16.png', + type: 'image/png', + sizes: '16x16', + }, + { + src: '/favicon-32x32.png', + type: 'image/png', + sizes: '32x32', + }, + { + src: '/android-chrome-192x192.png', + sizes: '192x192', + type: 'image/png', + }, + { + src: '/android-chrome-512x512.png', + sizes: '512x512', + type: 'image/png', + purpose: 'any maskable', + }, + ], + }, + }), ], resolve: { alias: {