diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..2b31862 --- /dev/null +++ b/.babelrc @@ -0,0 +1,8 @@ +{ + "presets": ["@babel/preset-env"], + "plugins": [ + ["@babel/plugin-transform-runtime", { + "regenerator": true + }] + ] +} diff --git a/package-lock.json b/package-lock.json index 1a86a26..6015a0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,1115 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/compat-data": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", + "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", + "dev": true + }, + "@babel/core": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.5.tgz", + "integrity": "sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.5.tgz", + "integrity": "sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "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-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", + "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helpers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.5.tgz", + "integrity": "sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q==", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.5.tgz", + "integrity": "sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg==", + "dev": true + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz", + "integrity": "sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz", + "integrity": "sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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-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-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-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", + "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", + "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz", + "integrity": "sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", + "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz", + "integrity": "sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.5.tgz", + "integrity": "sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.5.tgz", + "integrity": "sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.5", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@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.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.5", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.5", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.5", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.14.0", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "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.14.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.5.tgz", + "integrity": "sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA==", + "requires": { + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + } + } + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", + "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", + "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", + "dev": true + }, + "@types/eslint": { + "version": "7.2.13", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.13.tgz", + "integrity": "sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.47", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", + "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", + "dev": true + }, "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -27,186 +1136,178 @@ "dev": true }, "@types/node": { - "version": "14.14.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", - "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", + "version": "15.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", + "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==", "dev": true }, "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@webassemblyjs/helper-numbers": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", "dev": true }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "@webassemblyjs/helper-numbers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0" } }, "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/helper-wasm-section": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-opt": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "@webassemblyjs/wast-printer": "1.11.0" } }, "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" } }, "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0" } }, "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" } }, "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", + "@webassemblyjs/ast": "1.11.0", "@xtuc/long": "4.2.2" } }, + "@webpack-cli/configtest": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", + "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", + "dev": true + }, + "@webpack-cli/info": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", + "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.1.tgz", + "integrity": "sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==", + "dev": true + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -219,6 +1320,12 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -230,9 +1337,9 @@ } }, "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", + "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", "dev": true }, "ajv": { @@ -283,27 +1390,34 @@ "dev": true }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "optional": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "color-convert": "^1.9.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } }, "arr-diff": { "version": "4.0.0", @@ -350,53 +1464,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -430,683 +1497,61 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true, - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "babel-loader": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", - "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", "dev": true, "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "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": { - "babel-runtime": "^6.22.0" + "object.assign": "^4.1.0" } }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" } }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "babel-plugin-polyfill-corejs3": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz", + "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.9.1" } }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-define-polyfill-provider": "^0.2.2" } }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true, - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dev": true, - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base": { @@ -1164,12 +1609,6 @@ } } }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -1183,29 +1622,26 @@ "dev": true }, "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "blueimp-canvas-to-blob": { "version": "3.28.0", "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.28.0.tgz", "integrity": "sha512-5q+YHzgGsuHQ01iouGgJaPJXod2AzTxJXmVv90PpGrRxU7G7IqgPqWXz+PBmt3520jKKi6irWbNV87DicEa7wg==" }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -1229,6 +1665,30 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -1285,129 +1745,24 @@ } } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" } }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "buffer-indexof": { "version": "1.1.1", @@ -1415,47 +1770,12 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -1490,104 +1810,47 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001207", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001207.tgz", - "integrity": "sha512-UPQZdmAsyp2qfCTiMU/zqGSWOYaY9F9LL61V8f+8MrubsaDGpaHD9HRV/EWZGULZn0Hxu48SKzI5DgFwTvHuYw==", + "version": "1.0.30001236", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz", + "integrity": "sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ==", "dev": true }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, - "optional": true, "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "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, - "optional": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "class-utils": { "version": "0.3.6", @@ -1640,6 +1903,17 @@ } } }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -1665,10 +1939,17 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, "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==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "commondir": { "version": "1.0.1", @@ -1704,6 +1985,23 @@ "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "concat-map": { @@ -1712,36 +2010,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -1778,30 +2052,29 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + "core-js-compat": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.14.0.tgz", + "integrity": "sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "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", @@ -1809,109 +2082,65 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.6.tgz", + "integrity": "sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w==", "dev": true, "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" + "schema-utils": "^3.0.0", + "semver": "^7.3.5" }, "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -1921,19 +2150,13 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, "decamelize": { @@ -1970,6 +2193,96 @@ "requires": { "execa": "^1.0.0", "ip-regex": "^2.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "define-properties": { @@ -2035,14 +2348,6 @@ "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - } } }, "depd": { @@ -2051,62 +2356,18 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, "detect-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", - "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -2132,24 +2393,6 @@ "buffer-indexof": "^1.0.0" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -2157,34 +2400,11 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.707", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz", - "integrity": "sha512-BqddgxNPrcWnbDdJw7SzXVzPmp+oiyjVrc7tkQVaznPGSS9SKZatw6qxoP857M+HbOyyqJQwYQtsuFIMSTNSZA==", + "version": "1.3.752", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", + "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", "dev": true }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -2213,28 +2433,21 @@ } }, "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -2244,6 +2457,18 @@ "prr": "~1.0.1" } }, + "es-module-lexer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -2257,12 +2482,12 @@ "dev": true }, "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, @@ -2322,29 +2547,21 @@ "original": "^1.0.0" } }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" } }, "exif-js": { @@ -2367,6 +2584,15 @@ "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -2384,18 +2610,15 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, "express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", @@ -2439,6 +2662,21 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -2540,25 +2778,32 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, "file-saver": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.8.tgz", - "integrity": "sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true }, "fill-range": { "version": "4.0.0", @@ -2596,54 +2841,50 @@ "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^2.0.0" - } - }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", - "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", "dev": true }, "for-in": { @@ -2653,9 +2894,9 @@ "dev": true }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fragment-cache": { @@ -2673,28 +2914,6 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2702,11 +2921,15 @@ "dev": true }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, - "optional": true + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } }, "function-bind": { "version": "1.1.1", @@ -2714,6 +2937,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2732,13 +2961,10 @@ } }, "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true }, "get-value": { "version": "2.0.6", @@ -2752,9 +2978,9 @@ "integrity": "sha1-IPpUA2VN/sQCrl9B8jhb69gJkQU=" }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2766,54 +2992,36 @@ } }, "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "global-prefix": "^3.0.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "is-extglob": "^2.1.0" } } } }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "globby": { @@ -2863,15 +3071,6 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2916,80 +3115,10 @@ } } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "hermite-resize": { "version": "git+https://github.com/viliusle/Hermite-resize.git#fae53290d2b03520a6fc81d734c3028902a599c0", "from": "git+https://github.com/viliusle/Hermite-resize.git" }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -3064,124 +3193,37 @@ "micromatch": "^3.1.10" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true }, "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3197,12 +3239,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "internal-ip": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", @@ -3214,20 +3250,11 @@ } }, "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -3282,13 +3309,12 @@ } }, "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, - "optional": true, "requires": { - "binary-extensions": "^2.0.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -3297,6 +3323,15 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -3318,9 +3353,9 @@ } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", "dev": true }, "is-descriptor": { @@ -3354,12 +3389,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -3429,19 +3458,19 @@ } }, "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" } }, "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, "is-windows": { @@ -3474,21 +3503,49 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.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": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jquery": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-better-errors": { @@ -3510,10 +3567,13 @@ "dev": true }, "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } }, "killable": { "version": "1.0.1", @@ -3528,9 +3588,9 @@ "dev": true }, "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true }, "loader-utils": { @@ -3556,13 +3616,12 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, "lodash": { @@ -3571,37 +3630,34 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "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 + }, "loglevel": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "yallist": "^3.0.2" + "yallist": "^4.0.0" } }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "pify": "^3.0.0" + "semver": "^6.0.0" } }, "map-cache": { @@ -3619,17 +3675,6 @@ "object-visit": "^1.0.0" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -3652,6 +3697,12 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -3679,24 +3730,6 @@ "to-regex": "^3.0.2" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -3704,32 +3737,32 @@ "dev": true }, "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", "dev": true }, "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", "dev": true, "requires": { - "mime-db": "1.47.0" + "mime-db": "1.48.0" } }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -3745,24 +3778,6 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -3793,24 +3808,10 @@ "minimist": "^1.2.5" } }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "multicast-dns": { @@ -3838,6 +3839,19 @@ "object-assign": "^4.1.1" } }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", + "dev": true + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -3881,44 +3895,11 @@ "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true }, "normalize-path": { "version": "3.0.0", @@ -3927,12 +3908,12 @@ "dev": true }, "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "^3.0.0" } }, "object-assign": { @@ -3996,6 +3977,18 @@ "isobject": "^3.0.0" } }, + "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" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -4035,6 +4028,15 @@ "wrappy": "1" } }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, "opn": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", @@ -4053,24 +4055,6 @@ "url-parse": "^1.4.3" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -4078,21 +4062,21 @@ "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" } }, "p-map": { @@ -4111,45 +4095,9 @@ } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parseurl": { @@ -4164,12 +4112,6 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -4177,9 +4119,9 @@ "dev": true }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { @@ -4195,9 +4137,15 @@ "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-to-regexp": { @@ -4206,41 +4154,22 @@ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "pica": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/pica/-/pica-5.3.0.tgz", - "integrity": "sha512-kuHSj8OEgEiqKdfMKGrzZZb7IPWj1XeQpuvTQ+HGKRGxvFK9wIRPpWhOlq6S0BnDD3+4AQN5BoKwkvxAZWhUEg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pica/-/pica-7.0.0.tgz", + "integrity": "sha512-76jCwbOAuSj/2yAMIwxPGK/VUtvcyEYyxiUjblveJSIHCsuZpyzhb/E3zOhq2/fTdAWSST8X38DKX5GCeqCQiQ==", "requires": { + "glur": "^1.1.2", "inherits": "^2.0.3", "multimath": "^2.0.0", "object-assign": "^4.1.1", "webworkify": "^1.5.0" } }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "optional": true - }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pinkie": { @@ -4259,12 +4188,12 @@ } }, "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "^4.0.0" } }, "portfinder": { @@ -4286,12 +4215,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, @@ -4302,108 +4225,58 @@ "dev": true }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.1.tgz", + "integrity": "sha512-9qH0MGjsSm+fjxOi3GnwViL1otfi7qkj+l/WX5gcRGmZNGsIcqc+A5fBkE6PUobEQK4APqYVaES+B3Uti98TCw==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" } }, "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true }, "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", + "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" } }, "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" + "postcss-selector-parser": "^6.0.4" } }, "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" + "icss-utils": "^5.0.0" } }, "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", "dev": true, "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" } }, @@ -4413,37 +4286,19 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, @@ -4453,28 +4308,6 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -4485,29 +4318,6 @@ "once": "^1.3.1" } }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -4526,12 +4336,6 @@ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -4547,16 +4351,6 @@ "safe-buffer": "^5.1.0" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -4580,6 +4374,15 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } } } }, @@ -4599,13 +4402,23 @@ } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, - "optional": true, "requires": { - "picomatch": "^2.2.1" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "dev": true, + "requires": { + "resolve": "^1.9.0" } }, "regenerate": { @@ -4614,20 +4427,22 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", "dev": true, "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" + "regenerate": "^1.4.0" + } + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" } }, "regex-not": { @@ -4651,26 +4466,29 @@ } }, "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -4691,9 +4509,9 @@ "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { @@ -4702,15 +4520,6 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -4729,42 +4538,29 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "dependencies": { - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - } + "resolve-from": "^5.0.0" } }, "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "resolve-url": { @@ -4794,25 +4590,6 @@ "glob": "^7.1.3" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -4852,18 +4629,18 @@ "dev": true }, "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", "dev": true, "requires": { "node-forge": "^0.10.0" } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "send": { @@ -4887,6 +4664,23 @@ "statuses": "~1.5.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -4896,9 +4690,9 @@ } }, "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -4919,6 +4713,15 @@ "parseurl": "~1.3.2" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -4937,6 +4740,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4986,41 +4795,34 @@ } } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "kind-of": "^6.0.2" } }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "signal-exit": { @@ -5029,12 +4831,6 @@ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -5051,6 +4847,15 @@ "use": "^3.1.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -5069,10 +4874,10 @@ "is-extendable": "^0.1.0" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -5189,12 +4994,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, @@ -5205,18 +5004,26 @@ "dev": true }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true }, "source-map-loader": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", - "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.0.tgz", + "integrity": "sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw==", "dev": true, "requires": { - "async": "^2.5.0", - "loader-utils": "^1.1.0" + "abab": "^2.0.5", + "iconv-lite": "^0.6.2", + "source-map-js": "^0.6.2" } }, "source-map-resolve": { @@ -5232,15 +5039,6 @@ "urix": "^0.1.0" } }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", @@ -5258,23 +5056,6 @@ "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } } }, "spdy-transport": { @@ -5291,21 +5072,6 @@ "wbuf": "^1.7.3" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -5328,15 +5094,6 @@ "extend-shallow": "^3.0.0" } }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -5364,45 +5121,6 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -5455,6 +5173,12 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, "style-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", @@ -5465,15 +5189,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -5499,155 +5214,97 @@ } }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } }, "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true }, "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", - "requires": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", + "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", "dev": true, "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" }, "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "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 }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" + "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 + } } } } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "terser-webpack-plugin": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz", + "integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==", "dev": true, "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "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 + } } }, "thunky": { @@ -5656,25 +5313,10 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-object-path": { @@ -5725,24 +5367,6 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -5753,10 +5377,32 @@ "mime-types": "~2.1.24" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "dev": true }, "union-value": { @@ -5771,30 +5417,6 @@ "set-value": "^2.0.1" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -5896,23 +5518,6 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -5942,137 +5547,14 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", "dev": true, "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - } + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" } }, "wbuf": { @@ -6090,107 +5572,75 @@ "integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64=" }, "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz", + "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.47", + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/wasm-edit": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "acorn": "^8.2.1", + "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.4.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.1", + "watchpack": "^2.2.0", + "webpack-sources": "^2.3.0" }, "dependencies": { "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } } } }, "webpack-cli": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", - "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz", + "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==", "dev": true, "requires": { - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.1", - "findup-sync": "^3.0.0", - "global-modules": "^2.0.0", - "import-local": "^2.0.0", - "interpret": "^1.4.0", - "loader-utils": "^1.4.0", - "supports-color": "^6.1.0", - "v8-compile-cache": "^2.1.1", - "yargs": "^13.3.2" + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.0.4", + "@webpack-cli/info": "^1.3.0", + "@webpack-cli/serve": "^1.5.1", + "colorette": "^1.2.1", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^5.7.3" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true } } }, @@ -6256,116 +5706,74 @@ "yargs": "^13.3.2" }, "dependencies": { - "anymatch": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "import-local": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "find-up": "^3.0.0" } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "ms": "2.1.2" + "resolve-from": "^3.0.0" } }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -6377,12 +5785,6 @@ "ajv-keywords": "^3.1.0" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -6412,14 +5814,32 @@ } } }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", + "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "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 + } } }, "websocket-driver": { @@ -6445,9 +5865,9 @@ "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g==" }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -6459,14 +5879,11 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true }, "wrap-ansi": { "version": "5.1.0", @@ -6485,15 +5902,6 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -6520,22 +5928,16 @@ "async-limiter": "~1.0.0" } }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yargs": { @@ -6575,15 +5977,6 @@ "path-exists": "^3.0.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -6593,10 +5986,10 @@ "p-limit": "^2.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } @@ -6610,6 +6003,12 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 7ca0dbb..8d35687 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "effects" ], "scripts": { - "server": "webpack-dev-server --mode development --open", + "server": "webpack serve --mode development --env development --open", "dev": "webpack --mode development", "build": "webpack --mode production" }, @@ -22,27 +22,27 @@ "homepage": "https://github.com/viliusle/miniPaint", "license": "MIT", "devDependencies": { - "babel-core": "^6.26.3", - "babel-loader": "^7.1.5", - "babel-preset-env": "^1.7.0", - "css-loader": "^3.6.0", - "source-map-loader": "^0.2.4", + "@babel/core": "^7.14.5", + "@babel/plugin-transform-runtime": "^7.14.5", + "@babel/preset-env": "^7.14.5", + "babel-loader": "^8.2.2", + "css-loader": "^5.2.6", + "source-map-loader": "^3.0.0", "style-loader": "^2.0.0", - "webpack": "^4.44.2", - "webpack-cli": "^3.3.12", + "webpack": "^5.38.1", + "webpack-cli": "^4.7.2", "webpack-dev-server": "^3.11.2" }, "dependencies": { + "@babel/runtime": "^7.14.5", "alertifyjs": "^1.13.1", - "babel-polyfill": "^6.26.0", "blueimp-canvas-to-blob": "^3.28.0", "exif-js": "^2.3.0", - "file-saver": "^1.3.3", + "file-saver": "^2.0.5", "gif.js.optimized": "^1.0.1", "hermite-resize": "git+https://github.com/viliusle/Hermite-resize.git", "jquery": "^3.5.1", - "pica": "^5.3.0", - "terser": "^3.17.0", + "pica": "^7.0.0", "uuid": "^8.3.2", "webfontloader": "^1.6.28" } diff --git a/src/js/libs/gifjs/gif.js b/src/js/libs/gifjs/gif.js deleted file mode 100644 index f17a5c2..0000000 --- a/src/js/libs/gifjs/gif.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.GIF=e():t.GIF=e()}(this,function(){return function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){var n,r,s,o=function(t,e){function i(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},a={}.hasOwnProperty,h=[].indexOf||function(t){for(var e=0,i=this.length;e0&&i.data&&(this.groups.has(i.data)?this.groups.get(i.data).push(r):this.groups.set(i.data,[r])),this.frames.push(i)},e.prototype.render=function(){var t,e,i,n;if(this.running)throw new Error("Already running");if(null==this.options.width||null==this.options.height)throw new Error("Width and height must be set prior to rendering");if(this.running=!0,this.nextFrame=0,this.finishedFrames=0,this.imageParts=function(){var e,i,n;for(n=[],t=e=0,i=this.frames.length;0<=i?ei;t=0<=i?++e:--e)n.push(null);return n}.call(this),i=this.spawnWorkers(),this.options.globalPalette===!0)this.renderNextFrame();else for(t=e=0,n=i;0<=n?en;t=0<=n?++e:--e)this.renderNextFrame();return this.emit("start"),this.emit("progress",0)},e.prototype.abort=function(){for(var t;;){if(t=this.activeWorkers.shift(),null==t)break;this.log("killing active worker"),t.terminate()}return this.running=!1,this.emit("abort")},e.prototype.spawnWorkers=function(){var t,e,i;return t=Math.min(this.options.workers,this.frames.length),function(){i=[];for(var n=e=this.freeWorkers.length;e<=t?nt;e<=t?n++:n--)i.push(n);return i}.apply(this).forEach(function(t){return function(e){var i;return t.log("spawning worker "+e),i=new Worker(t.options.workerScript),i.onmessage=function(e){return t.activeWorkers.splice(t.activeWorkers.indexOf(i),1),t.freeWorkers.push(i),t.frameFinished(e.data,!1)},t.freeWorkers.push(i)}}(this)),t},e.prototype.frameFinished=function(t,e){var i,n,r,s,o;if(this.finishedFrames++,e?(n=this.frames.indexOf(t),r=this.groups.get(t.data)[0],this.log("frame "+(n+1)+" is duplicate of "+r+" - "+this.activeWorkers.length+" active"),this.imageParts[n]={indexOfFirstInGroup:r}):(this.log("frame "+(t.index+1)+" finished - "+this.activeWorkers.length+" active"),this.emit("progress",this.finishedFrames/this.frames.length),this.imageParts[t.index]=t),this.options.globalPalette===!0&&!e&&(this.options.globalPalette=t.globalPalette,this.log("global palette analyzed"),this.frames.length>2))for(i=s=1,o=this.freeWorkers.length;1<=o?so;i=1<=o?++s:--s)this.renderNextFrame();return h.call(this.imageParts,null)>=0?this.renderNextFrame():this.finishRendering()},e.prototype.finishRendering=function(){var t,e,i,n,r,s,o,a,h,l,f,p,u,d,c,g,v,m,y,_;for(v=this.imageParts,r=s=0,l=v.length;s=this.frames.length))return t=this.frames[this.nextFrame++],e=this.frames.indexOf(t),e>0&&this.groups.has(t.data)&&this.groups.get(t.data)[0]!==e?void setTimeout(function(e){return function(){return e.frameFinished(t,!0)}}(this),0):(n=this.freeWorkers.shift(),i=this.getTask(t),this.log("starting frame "+(i.index+1)+" of "+this.frames.length),this.activeWorkers.push(n),n.postMessage(i))},e.prototype.getContextData=function(t){return t.getImageData(0,0,this.options.width,this.options.height).data},e.prototype.getImageData=function(t){var e;return null==this._canvas&&(this._canvas=document.createElement("canvas"),this._canvas.width=this.options.width,this._canvas.height=this.options.height),e=this._canvas.getContext("2d"),e.setFill=this.options.background,e.fillRect(0,0,this.options.width,this.options.height),e.drawImage(t,0,0),this.getContextData(e)},e.prototype.getTask=function(t){var e,i;if(e=this.frames.indexOf(t),i={index:e,last:e===this.frames.length-1,delay:t.delay,transparent:t.transparent,width:this.options.width,height:this.options.height,quality:this.options.quality,dither:this.options.dither,globalPalette:this.options.globalPalette,repeat:this.options.repeat,canTransfer:!0},null!=t.data)i.data=t.data;else if(null!=t.context)i.data=this.getContextData(t.context);else{if(null==t.image)throw new Error("Invalid frame");i.data=this.getImageData(t.image)}return i},e.prototype.log=function(t){if(this.options.debug)return console.log(t)},e}(n),t.exports=r},function(t,e){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return"function"==typeof t}function r(t){return"number"==typeof t}function s(t){return"object"==typeof t&&null!==t}function o(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!r(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,i,r,a,h,l;if(this._events||(this._events={}),"error"===t&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(e=arguments[1],e instanceof Error)throw e;var f=new Error('Uncaught, unspecified "error" event. ('+e+")");throw f.context=e,f}if(i=this._events[t],o(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(s(i))for(a=Array.prototype.slice.call(arguments,1),l=i.slice(),r=l.length,h=0;h0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function i(){this.removeListener(t,i),r||(r=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var r=!1;return i.listener=e,this.on(t,i),this},i.prototype.removeListener=function(t,e){var i,r,o,a;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(i=this._events[t],o=i.length,r=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(s(i)){for(a=o;a-- >0;)if(i[a]===e||i[a].listener&&i[a].listener===e){r=a;break}if(r<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(r,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e){var i,n,r,s,o;o=navigator.userAgent.toLowerCase(),s=navigator.platform.toLowerCase(),i=o.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/)||[null,"unknown",0],r="ie"===i[1]&&document.documentMode,n={name:"version"===i[1]?i[3]:i[1],version:r||parseFloat("opera"===i[1]&&i[4]?i[4]:i[2]),platform:{name:o.match(/ip(?:ad|od|hone)/)?"ios":(o.match(/(?:webos|android)/)||s.match(/mac|win|linux/)||["other"])[0]}},n[n.name]=!0,n[n.name+parseInt(n.version,10)]=!0,n.platform[n.platform.name]=!0,t.exports=n}])}); -//# sourceMappingURL=gif.js.map \ No newline at end of file diff --git a/src/js/libs/gifjs/gif.js.map b/src/js/libs/gifjs/gif.js.map deleted file mode 100644 index 779d964..0000000 --- a/src/js/libs/gifjs/gif.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///gif.js","webpack:///webpack/bootstrap c4508600e32c0e7f0139","webpack:///./src/gif.coffee","webpack:///./~/events/events.js","webpack:///./src/browser.coffee"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","EventEmitter","GIF","browser","extend","child","parent","ctor","constructor","key","hasProp","prototype","__super__","hasOwnProperty","indexOf","item","i","l","length","superClass","options","base","value","running","frames","groups","Map","freeWorkers","activeWorkers","setOptions","defaults","frameDefaults","workerScript","workers","repeat","background","quality","width","height","transparent","debug","delay","copy","setOption","_canvas","results","push","addFrame","image","frame","index","ImageData","data","CanvasRenderingContext2D","WebGLRenderingContext","getContextData","context","childNodes","Error","getImageData","has","get","set","render","j","numWorkers","ref","nextFrame","finishedFrames","imageParts","spawnWorkers","globalPalette","renderNextFrame","emit","abort","worker","shift","log","terminate","Math","min","apply","forEach","_this","Worker","onmessage","event","splice","frameFinished","duplicate","indexOfDuplicate","indexOfFirstInGroup","finishRendering","k","len","len1","len2","len3","len4","offset","page","ref1","ref2","ref3","pageSize","cursor","round","Uint8Array","Blob","type","task","setTimeout","getTask","postMessage","ctx","document","createElement","getContext","setFill","fillRect","drawImage","last","dither","canTransfer","msg","console","_events","_maxListeners","undefined","isFunction","arg","isNumber","isObject","isUndefined","defaultMaxListeners","setMaxListeners","n","isNaN","TypeError","er","handler","args","listeners","error","arguments","err","Array","slice","addListener","listener","newListener","warned","trace","on","once","g","removeListener","fired","list","position","removeAllListeners","ret","listenerCount","evlistener","emitter","UA","mode","platform","ua","navigator","userAgent","toLowerCase","match","documentMode","name","version","parseFloat","parseInt"],"mappings":"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","file":"gif.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"GIF\"] = factory();\n\telse\n\t\troot[\"GIF\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"GIF\"] = factory();\n\telse\n\t\troot[\"GIF\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar EventEmitter, GIF, browser,\n\t extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n\t hasProp = {}.hasOwnProperty,\n\t indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\t\n\tEventEmitter = __webpack_require__(1).EventEmitter;\n\t\n\tbrowser = __webpack_require__(2);\n\t\n\tGIF = (function(superClass) {\n\t var defaults, frameDefaults;\n\t\n\t extend(GIF, superClass);\n\t\n\t defaults = {\n\t workerScript: 'gif.worker.js',\n\t workers: 2,\n\t repeat: 0,\n\t background: '#fff',\n\t quality: 10,\n\t width: null,\n\t height: null,\n\t transparent: null,\n\t debug: false\n\t };\n\t\n\t frameDefaults = {\n\t delay: 500,\n\t copy: false\n\t };\n\t\n\t function GIF(options) {\n\t var base, key, value;\n\t this.running = false;\n\t this.options = {};\n\t this.frames = [];\n\t this.groups = new Map();\n\t this.freeWorkers = [];\n\t this.activeWorkers = [];\n\t this.setOptions(options);\n\t for (key in defaults) {\n\t value = defaults[key];\n\t if ((base = this.options)[key] == null) {\n\t base[key] = value;\n\t }\n\t }\n\t }\n\t\n\t GIF.prototype.setOption = function(key, value) {\n\t this.options[key] = value;\n\t if ((this._canvas != null) && (key === 'width' || key === 'height')) {\n\t return this._canvas[key] = value;\n\t }\n\t };\n\t\n\t GIF.prototype.setOptions = function(options) {\n\t var key, results, value;\n\t results = [];\n\t for (key in options) {\n\t if (!hasProp.call(options, key)) continue;\n\t value = options[key];\n\t results.push(this.setOption(key, value));\n\t }\n\t return results;\n\t };\n\t\n\t GIF.prototype.addFrame = function(image, options) {\n\t var frame, index, key;\n\t if (options == null) {\n\t options = {};\n\t }\n\t frame = {};\n\t frame.transparent = this.options.transparent;\n\t for (key in frameDefaults) {\n\t frame[key] = options[key] || frameDefaults[key];\n\t }\n\t if (this.options.width == null) {\n\t this.setOption('width', image.width);\n\t }\n\t if (this.options.height == null) {\n\t this.setOption('height', image.height);\n\t }\n\t if ((typeof ImageData !== \"undefined\" && ImageData !== null) && image instanceof ImageData) {\n\t frame.data = image.data;\n\t } else if (((typeof CanvasRenderingContext2D !== \"undefined\" && CanvasRenderingContext2D !== null) && image instanceof CanvasRenderingContext2D) || ((typeof WebGLRenderingContext !== \"undefined\" && WebGLRenderingContext !== null) && image instanceof WebGLRenderingContext)) {\n\t if (options.copy) {\n\t frame.data = this.getContextData(image);\n\t } else {\n\t frame.context = image;\n\t }\n\t } else if (image.childNodes != null) {\n\t if (options.copy) {\n\t frame.data = this.getImageData(image);\n\t } else {\n\t frame.image = image;\n\t }\n\t } else {\n\t throw new Error('Invalid image');\n\t }\n\t index = this.frames.length;\n\t if (index > 0 && frame.data) {\n\t if (this.groups.has(frame.data)) {\n\t this.groups.get(frame.data).push(index);\n\t } else {\n\t this.groups.set(frame.data, [index]);\n\t }\n\t }\n\t return this.frames.push(frame);\n\t };\n\t\n\t GIF.prototype.render = function() {\n\t var i, j, numWorkers, ref;\n\t if (this.running) {\n\t throw new Error('Already running');\n\t }\n\t if ((this.options.width == null) || (this.options.height == null)) {\n\t throw new Error('Width and height must be set prior to rendering');\n\t }\n\t this.running = true;\n\t this.nextFrame = 0;\n\t this.finishedFrames = 0;\n\t this.imageParts = (function() {\n\t var j, ref, results;\n\t results = [];\n\t for (i = j = 0, ref = this.frames.length; 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) {\n\t results.push(null);\n\t }\n\t return results;\n\t }).call(this);\n\t numWorkers = this.spawnWorkers();\n\t if (this.options.globalPalette === true) {\n\t this.renderNextFrame();\n\t } else {\n\t for (i = j = 0, ref = numWorkers; 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) {\n\t this.renderNextFrame();\n\t }\n\t }\n\t this.emit('start');\n\t return this.emit('progress', 0);\n\t };\n\t\n\t GIF.prototype.abort = function() {\n\t var worker;\n\t while (true) {\n\t worker = this.activeWorkers.shift();\n\t if (worker == null) {\n\t break;\n\t }\n\t this.log(\"killing active worker\");\n\t worker.terminate();\n\t }\n\t this.running = false;\n\t return this.emit('abort');\n\t };\n\t\n\t GIF.prototype.spawnWorkers = function() {\n\t var j, numWorkers, ref, results;\n\t numWorkers = Math.min(this.options.workers, this.frames.length);\n\t (function() {\n\t results = [];\n\t for (var j = ref = this.freeWorkers.length; ref <= numWorkers ? j < numWorkers : j > numWorkers; ref <= numWorkers ? j++ : j--){ results.push(j); }\n\t return results;\n\t }).apply(this).forEach((function(_this) {\n\t return function(i) {\n\t var worker;\n\t _this.log(\"spawning worker \" + i);\n\t worker = new Worker(_this.options.workerScript);\n\t worker.onmessage = function(event) {\n\t _this.activeWorkers.splice(_this.activeWorkers.indexOf(worker), 1);\n\t _this.freeWorkers.push(worker);\n\t return _this.frameFinished(event.data, false);\n\t };\n\t return _this.freeWorkers.push(worker);\n\t };\n\t })(this));\n\t return numWorkers;\n\t };\n\t\n\t GIF.prototype.frameFinished = function(frame, duplicate) {\n\t var i, indexOfDuplicate, indexOfFirstInGroup, j, ref;\n\t this.finishedFrames++;\n\t if (!duplicate) {\n\t this.log(\"frame \" + (frame.index + 1) + \" finished - \" + this.activeWorkers.length + \" active\");\n\t this.emit('progress', this.finishedFrames / this.frames.length);\n\t this.imageParts[frame.index] = frame;\n\t } else {\n\t indexOfDuplicate = this.frames.indexOf(frame);\n\t indexOfFirstInGroup = this.groups.get(frame.data)[0];\n\t this.log(\"frame \" + (indexOfDuplicate + 1) + \" is duplicate of \" + indexOfFirstInGroup + \" - \" + this.activeWorkers.length + \" active\");\n\t this.imageParts[indexOfDuplicate] = {\n\t indexOfFirstInGroup: indexOfFirstInGroup\n\t };\n\t }\n\t if (this.options.globalPalette === true && !duplicate) {\n\t this.options.globalPalette = frame.globalPalette;\n\t this.log(\"global palette analyzed\");\n\t if (this.frames.length > 2) {\n\t for (i = j = 1, ref = this.freeWorkers.length; 1 <= ref ? j < ref : j > ref; i = 1 <= ref ? ++j : --j) {\n\t this.renderNextFrame();\n\t }\n\t }\n\t }\n\t if (indexOf.call(this.imageParts, null) >= 0) {\n\t return this.renderNextFrame();\n\t } else {\n\t return this.finishRendering();\n\t }\n\t };\n\t\n\t GIF.prototype.finishRendering = function() {\n\t var data, frame, i, image, index, j, k, l, len, len1, len2, len3, len4, m, offset, page, ref, ref1, ref2, ref3;\n\t ref = this.imageParts;\n\t for (index = j = 0, len1 = ref.length; j < len1; index = ++j) {\n\t frame = ref[index];\n\t if (frame.indexOfFirstInGroup) {\n\t this.imageParts[index] = this.imageParts[frame.indexOfFirstInGroup];\n\t }\n\t }\n\t len = 0;\n\t ref1 = this.imageParts;\n\t for (k = 0, len2 = ref1.length; k < len2; k++) {\n\t frame = ref1[k];\n\t len += (frame.data.length - 1) * frame.pageSize + frame.cursor;\n\t }\n\t len += frame.pageSize - frame.cursor;\n\t this.log(\"rendering finished - filesize \" + (Math.round(len / 1000)) + \"kb\");\n\t data = new Uint8Array(len);\n\t offset = 0;\n\t ref2 = this.imageParts;\n\t for (l = 0, len3 = ref2.length; l < len3; l++) {\n\t frame = ref2[l];\n\t ref3 = frame.data;\n\t for (i = m = 0, len4 = ref3.length; m < len4; i = ++m) {\n\t page = ref3[i];\n\t data.set(page, offset);\n\t if (i === frame.data.length - 1) {\n\t offset += frame.cursor;\n\t } else {\n\t offset += frame.pageSize;\n\t }\n\t }\n\t }\n\t image = new Blob([data], {\n\t type: 'image/gif'\n\t });\n\t return this.emit('finished', image, data);\n\t };\n\t\n\t GIF.prototype.renderNextFrame = function() {\n\t var frame, index, task, worker;\n\t if (this.freeWorkers.length === 0) {\n\t throw new Error('No free workers');\n\t }\n\t if (this.nextFrame >= this.frames.length) {\n\t return;\n\t }\n\t frame = this.frames[this.nextFrame++];\n\t index = this.frames.indexOf(frame);\n\t if (index > 0 && this.groups.has(frame.data) && this.groups.get(frame.data)[0] !== index) {\n\t setTimeout((function(_this) {\n\t return function() {\n\t return _this.frameFinished(frame, true);\n\t };\n\t })(this), 0);\n\t return;\n\t }\n\t worker = this.freeWorkers.shift();\n\t task = this.getTask(frame);\n\t this.log(\"starting frame \" + (task.index + 1) + \" of \" + this.frames.length);\n\t this.activeWorkers.push(worker);\n\t return worker.postMessage(task);\n\t };\n\t\n\t GIF.prototype.getContextData = function(ctx) {\n\t return ctx.getImageData(0, 0, this.options.width, this.options.height).data;\n\t };\n\t\n\t GIF.prototype.getImageData = function(image) {\n\t var ctx;\n\t if (this._canvas == null) {\n\t this._canvas = document.createElement('canvas');\n\t this._canvas.width = this.options.width;\n\t this._canvas.height = this.options.height;\n\t }\n\t ctx = this._canvas.getContext('2d');\n\t ctx.setFill = this.options.background;\n\t ctx.fillRect(0, 0, this.options.width, this.options.height);\n\t ctx.drawImage(image, 0, 0);\n\t return this.getContextData(ctx);\n\t };\n\t\n\t GIF.prototype.getTask = function(frame) {\n\t var index, task;\n\t index = this.frames.indexOf(frame);\n\t task = {\n\t index: index,\n\t last: index === (this.frames.length - 1),\n\t delay: frame.delay,\n\t transparent: frame.transparent,\n\t width: this.options.width,\n\t height: this.options.height,\n\t quality: this.options.quality,\n\t dither: this.options.dither,\n\t globalPalette: this.options.globalPalette,\n\t repeat: this.options.repeat,\n\t canTransfer: true\n\t };\n\t if (frame.data != null) {\n\t task.data = frame.data;\n\t } else if (frame.context != null) {\n\t task.data = this.getContextData(frame.context);\n\t } else if (frame.image != null) {\n\t task.data = this.getImageData(frame.image);\n\t } else {\n\t throw new Error('Invalid frame');\n\t }\n\t return task;\n\t };\n\t\n\t GIF.prototype.log = function(msg) {\n\t if (this.options.debug) {\n\t return console.log(msg);\n\t }\n\t };\n\t\n\t return GIF;\n\t\n\t})(EventEmitter);\n\t\n\tmodule.exports = GIF;\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports) {\n\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tfunction EventEmitter() {\n\t this._events = this._events || {};\n\t this._maxListeners = this._maxListeners || undefined;\n\t}\n\tmodule.exports = EventEmitter;\n\t\n\t// Backwards-compat with node 0.10.x\n\tEventEmitter.EventEmitter = EventEmitter;\n\t\n\tEventEmitter.prototype._events = undefined;\n\tEventEmitter.prototype._maxListeners = undefined;\n\t\n\t// By default EventEmitters will print a warning if more than 10 listeners are\n\t// added to it. This is a useful default which helps finding memory leaks.\n\tEventEmitter.defaultMaxListeners = 10;\n\t\n\t// Obviously not all Emitters should be limited to 10. This function allows\n\t// that to be increased. Set to zero for unlimited.\n\tEventEmitter.prototype.setMaxListeners = function(n) {\n\t if (!isNumber(n) || n < 0 || isNaN(n))\n\t throw TypeError('n must be a positive number');\n\t this._maxListeners = n;\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.emit = function(type) {\n\t var er, handler, len, args, i, listeners;\n\t\n\t if (!this._events)\n\t this._events = {};\n\t\n\t // If there is no 'error' event listener then throw.\n\t if (type === 'error') {\n\t if (!this._events.error ||\n\t (isObject(this._events.error) && !this._events.error.length)) {\n\t er = arguments[1];\n\t if (er instanceof Error) {\n\t throw er; // Unhandled 'error' event\n\t } else {\n\t // At least give some kind of context to the user\n\t var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n\t err.context = er;\n\t throw err;\n\t }\n\t }\n\t }\n\t\n\t handler = this._events[type];\n\t\n\t if (isUndefined(handler))\n\t return false;\n\t\n\t if (isFunction(handler)) {\n\t switch (arguments.length) {\n\t // fast cases\n\t case 1:\n\t handler.call(this);\n\t break;\n\t case 2:\n\t handler.call(this, arguments[1]);\n\t break;\n\t case 3:\n\t handler.call(this, arguments[1], arguments[2]);\n\t break;\n\t // slower\n\t default:\n\t args = Array.prototype.slice.call(arguments, 1);\n\t handler.apply(this, args);\n\t }\n\t } else if (isObject(handler)) {\n\t args = Array.prototype.slice.call(arguments, 1);\n\t listeners = handler.slice();\n\t len = listeners.length;\n\t for (i = 0; i < len; i++)\n\t listeners[i].apply(this, args);\n\t }\n\t\n\t return true;\n\t};\n\t\n\tEventEmitter.prototype.addListener = function(type, listener) {\n\t var m;\n\t\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t if (!this._events)\n\t this._events = {};\n\t\n\t // To avoid recursion in the case that type === \"newListener\"! Before\n\t // adding it to the listeners, first emit \"newListener\".\n\t if (this._events.newListener)\n\t this.emit('newListener', type,\n\t isFunction(listener.listener) ?\n\t listener.listener : listener);\n\t\n\t if (!this._events[type])\n\t // Optimize the case of one listener. Don't need the extra array object.\n\t this._events[type] = listener;\n\t else if (isObject(this._events[type]))\n\t // If we've already got an array, just append.\n\t this._events[type].push(listener);\n\t else\n\t // Adding the second element, need to change to array.\n\t this._events[type] = [this._events[type], listener];\n\t\n\t // Check for listener leak\n\t if (isObject(this._events[type]) && !this._events[type].warned) {\n\t if (!isUndefined(this._maxListeners)) {\n\t m = this._maxListeners;\n\t } else {\n\t m = EventEmitter.defaultMaxListeners;\n\t }\n\t\n\t if (m && m > 0 && this._events[type].length > m) {\n\t this._events[type].warned = true;\n\t console.error('(node) warning: possible EventEmitter memory ' +\n\t 'leak detected. %d listeners added. ' +\n\t 'Use emitter.setMaxListeners() to increase limit.',\n\t this._events[type].length);\n\t if (typeof console.trace === 'function') {\n\t // not supported in IE 10\n\t console.trace();\n\t }\n\t }\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\t\n\tEventEmitter.prototype.once = function(type, listener) {\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t var fired = false;\n\t\n\t function g() {\n\t this.removeListener(type, g);\n\t\n\t if (!fired) {\n\t fired = true;\n\t listener.apply(this, arguments);\n\t }\n\t }\n\t\n\t g.listener = listener;\n\t this.on(type, g);\n\t\n\t return this;\n\t};\n\t\n\t// emits a 'removeListener' event iff the listener was removed\n\tEventEmitter.prototype.removeListener = function(type, listener) {\n\t var list, position, length, i;\n\t\n\t if (!isFunction(listener))\n\t throw TypeError('listener must be a function');\n\t\n\t if (!this._events || !this._events[type])\n\t return this;\n\t\n\t list = this._events[type];\n\t length = list.length;\n\t position = -1;\n\t\n\t if (list === listener ||\n\t (isFunction(list.listener) && list.listener === listener)) {\n\t delete this._events[type];\n\t if (this._events.removeListener)\n\t this.emit('removeListener', type, listener);\n\t\n\t } else if (isObject(list)) {\n\t for (i = length; i-- > 0;) {\n\t if (list[i] === listener ||\n\t (list[i].listener && list[i].listener === listener)) {\n\t position = i;\n\t break;\n\t }\n\t }\n\t\n\t if (position < 0)\n\t return this;\n\t\n\t if (list.length === 1) {\n\t list.length = 0;\n\t delete this._events[type];\n\t } else {\n\t list.splice(position, 1);\n\t }\n\t\n\t if (this._events.removeListener)\n\t this.emit('removeListener', type, listener);\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.removeAllListeners = function(type) {\n\t var key, listeners;\n\t\n\t if (!this._events)\n\t return this;\n\t\n\t // not listening for removeListener, no need to emit\n\t if (!this._events.removeListener) {\n\t if (arguments.length === 0)\n\t this._events = {};\n\t else if (this._events[type])\n\t delete this._events[type];\n\t return this;\n\t }\n\t\n\t // emit removeListener for all listeners on all events\n\t if (arguments.length === 0) {\n\t for (key in this._events) {\n\t if (key === 'removeListener') continue;\n\t this.removeAllListeners(key);\n\t }\n\t this.removeAllListeners('removeListener');\n\t this._events = {};\n\t return this;\n\t }\n\t\n\t listeners = this._events[type];\n\t\n\t if (isFunction(listeners)) {\n\t this.removeListener(type, listeners);\n\t } else if (listeners) {\n\t // LIFO order\n\t while (listeners.length)\n\t this.removeListener(type, listeners[listeners.length - 1]);\n\t }\n\t delete this._events[type];\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.listeners = function(type) {\n\t var ret;\n\t if (!this._events || !this._events[type])\n\t ret = [];\n\t else if (isFunction(this._events[type]))\n\t ret = [this._events[type]];\n\t else\n\t ret = this._events[type].slice();\n\t return ret;\n\t};\n\t\n\tEventEmitter.prototype.listenerCount = function(type) {\n\t if (this._events) {\n\t var evlistener = this._events[type];\n\t\n\t if (isFunction(evlistener))\n\t return 1;\n\t else if (evlistener)\n\t return evlistener.length;\n\t }\n\t return 0;\n\t};\n\t\n\tEventEmitter.listenerCount = function(emitter, type) {\n\t return emitter.listenerCount(type);\n\t};\n\t\n\tfunction isFunction(arg) {\n\t return typeof arg === 'function';\n\t}\n\t\n\tfunction isNumber(arg) {\n\t return typeof arg === 'number';\n\t}\n\t\n\tfunction isObject(arg) {\n\t return typeof arg === 'object' && arg !== null;\n\t}\n\t\n\tfunction isUndefined(arg) {\n\t return arg === void 0;\n\t}\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t\n\t/* CoffeeScript version of the browser detection from MooTools */\n\tvar UA, browser, mode, platform, ua;\n\t\n\tua = navigator.userAgent.toLowerCase();\n\t\n\tplatform = navigator.platform.toLowerCase();\n\t\n\tUA = ua.match(/(opera|ie|firefox|chrome|version)[\\s\\/:]([\\w\\d\\.]+)?.*?(safari|version[\\s\\/:]([\\w\\d\\.]+)|$)/) || [null, 'unknown', 0];\n\t\n\tmode = UA[1] === 'ie' && document.documentMode;\n\t\n\tbrowser = {\n\t name: UA[1] === 'version' ? UA[3] : UA[1],\n\t version: mode || parseFloat(UA[1] === 'opera' && UA[4] ? UA[4] : UA[2]),\n\t platform: {\n\t name: ua.match(/ip(?:ad|od|hone)/) ? 'ios' : (ua.match(/(?:webos|android)/) || platform.match(/mac|win|linux/) || ['other'])[0]\n\t }\n\t};\n\t\n\tbrowser[browser.name] = true;\n\t\n\tbrowser[browser.name + parseInt(browser.version, 10)] = true;\n\t\n\tbrowser.platform[browser.platform.name] = true;\n\t\n\tmodule.exports = browser;\n\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** gif.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap c4508600e32c0e7f0139\n **/","{EventEmitter} = require 'events'\r\nbrowser = require './browser.coffee'\r\n\r\nclass GIF extends EventEmitter\r\n\r\n defaults =\r\n workerScript: 'gif.worker.js'\r\n workers: 2\r\n repeat: 0 # repeat forever, -1 = repeat once\r\n background: '#fff'\r\n quality: 10 # pixel sample interval, lower is better\r\n width: null # size derermined from first frame if possible\r\n height: null\r\n transparent: null\r\n debug: false\r\n\r\n frameDefaults =\r\n delay: 500 # ms\r\n copy: false\r\n\r\n constructor: (options) ->\r\n @running = false\r\n\r\n @options = {}\r\n @frames = []\r\n\r\n # TODO: compare by instance and not by data\r\n @groups = new Map() # for [data1, data1, data2, data1] @groups[data1] == [1, 3] and @groups[data2] = [2]\r\n\r\n @freeWorkers = []\r\n @activeWorkers = []\r\n\r\n @setOptions options\r\n for key, value of defaults\r\n @options[key] ?= value\r\n\r\n setOption: (key, value) ->\r\n @options[key] = value\r\n if @_canvas? and key in ['width', 'height']\r\n @_canvas[key] = value\r\n\r\n setOptions: (options) ->\r\n @setOption key, value for own key, value of options\r\n\r\n addFrame: (image, options={}) ->\r\n frame = {}\r\n frame.transparent = @options.transparent\r\n for key of frameDefaults\r\n frame[key] = options[key] or frameDefaults[key]\r\n\r\n # use the images width and height for options unless already set\r\n @setOption 'width', image.width unless @options.width?\r\n @setOption 'height', image.height unless @options.height?\r\n\r\n if ImageData? and image instanceof ImageData\r\n frame.data = image.data\r\n else if (CanvasRenderingContext2D? and image instanceof CanvasRenderingContext2D) or (WebGLRenderingContext? and image instanceof WebGLRenderingContext)\r\n if options.copy\r\n frame.data = @getContextData image\r\n else\r\n frame.context = image\r\n else if image.childNodes?\r\n if options.copy\r\n frame.data = @getImageData image\r\n else\r\n frame.image = image\r\n else\r\n throw new Error 'Invalid image'\r\n\r\n # find duplicates in frames.data\r\n index = @frames.length\r\n if index > 0 and frame.data # frame 0 contains header, do not count it\r\n if @groups.has(frame.data)\r\n @groups.get(frame.data).push index\r\n else\r\n @groups.set frame.data, [index]\r\n\r\n @frames.push frame\r\n\r\n render: ->\r\n throw new Error 'Already running' if @running\r\n\r\n if not @options.width? or not @options.height?\r\n throw new Error 'Width and height must be set prior to rendering'\r\n\r\n @running = true\r\n @nextFrame = 0\r\n @finishedFrames = 0\r\n\r\n @imageParts = (null for i in [0...@frames.length])\r\n numWorkers = @spawnWorkers()\r\n # we need to wait for the palette\r\n if @options.globalPalette == true\r\n @renderNextFrame()\r\n else\r\n @renderNextFrame() for i in [0...numWorkers]\r\n\r\n @emit 'start'\r\n @emit 'progress', 0\r\n\r\n abort: ->\r\n loop\r\n worker = @activeWorkers.shift()\r\n break unless worker?\r\n @log \"killing active worker\"\r\n worker.terminate()\r\n @running = false\r\n @emit 'abort'\r\n\r\n # private\r\n\r\n spawnWorkers: ->\r\n numWorkers = Math.min(@options.workers, @frames.length)\r\n [@freeWorkers.length...numWorkers].forEach (i) =>\r\n @log \"spawning worker #{ i }\"\r\n worker = new Worker @options.workerScript\r\n worker.onmessage = (event) =>\r\n @activeWorkers.splice @activeWorkers.indexOf(worker), 1\r\n @freeWorkers.push worker\r\n @frameFinished event.data, false\r\n @freeWorkers.push worker\r\n return numWorkers\r\n\r\n frameFinished: (frame, duplicate) ->\r\n @finishedFrames++\r\n if not duplicate\r\n @log \"frame #{ frame.index + 1 } finished - #{ @activeWorkers.length } active\"\r\n @emit 'progress', @finishedFrames / @frames.length\r\n @imageParts[frame.index] = frame\r\n else\r\n indexOfDuplicate = @frames.indexOf frame\r\n indexOfFirstInGroup = @groups.get(frame.data)[0]\r\n @log \"frame #{ indexOfDuplicate + 1 } is duplicate of #{ indexOfFirstInGroup } - #{ @activeWorkers.length } active\"\r\n @imageParts[indexOfDuplicate] = { indexOfFirstInGroup: indexOfFirstInGroup } # do not put frame here, as it may not be available still. Put index.\r\n # remember calculated palette, spawn the rest of the workers\r\n if @options.globalPalette == true and not duplicate\r\n @options.globalPalette = frame.globalPalette\r\n @log \"global palette analyzed\"\r\n @renderNextFrame() for i in [1...@freeWorkers.length] if @frames.length > 2\r\n if null in @imageParts\r\n @renderNextFrame()\r\n else\r\n @finishRendering()\r\n\r\n finishRendering: ->\r\n for frame, index in @imageParts\r\n @imageParts[index] = @imageParts[frame.indexOfFirstInGroup] if frame.indexOfFirstInGroup\r\n len = 0\r\n for frame in @imageParts\r\n len += (frame.data.length - 1) * frame.pageSize + frame.cursor\r\n len += frame.pageSize - frame.cursor\r\n @log \"rendering finished - filesize #{ Math.round(len / 1000) }kb\"\r\n data = new Uint8Array len\r\n offset = 0\r\n for frame in @imageParts\r\n for page, i in frame.data\r\n data.set page, offset\r\n if i is frame.data.length - 1\r\n offset += frame.cursor\r\n else\r\n offset += frame.pageSize\r\n\r\n image = new Blob [data],\r\n type: 'image/gif'\r\n\r\n @emit 'finished', image, data\r\n\r\n renderNextFrame: ->\r\n throw new Error 'No free workers' if @freeWorkers.length is 0\r\n return if @nextFrame >= @frames.length # no new frame to render\r\n\r\n frame = @frames[@nextFrame++]\r\n\r\n # check if one of duplicates, but not the first in group\r\n index = @frames.indexOf frame\r\n if index > 0 and @groups.has(frame.data) and @groups.get(frame.data)[0] != index\r\n setTimeout =>\r\n @frameFinished frame, true\r\n , 0\r\n return\r\n\r\n worker = @freeWorkers.shift()\r\n task = @getTask frame\r\n\r\n @log \"starting frame #{ task.index + 1 } of #{ @frames.length }\"\r\n @activeWorkers.push worker\r\n worker.postMessage task#, [task.data.buffer]\r\n\r\n getContextData: (ctx) ->\r\n return ctx.getImageData(0, 0, @options.width, @options.height).data\r\n\r\n getImageData: (image) ->\r\n if not @_canvas?\r\n @_canvas = document.createElement 'canvas'\r\n @_canvas.width = @options.width\r\n @_canvas.height = @options.height\r\n\r\n ctx = @_canvas.getContext '2d'\r\n ctx.setFill = @options.background\r\n ctx.fillRect 0, 0, @options.width, @options.height\r\n ctx.drawImage image, 0, 0\r\n\r\n return @getContextData ctx\r\n\r\n getTask: (frame) ->\r\n index = @frames.indexOf frame\r\n task =\r\n index: index\r\n last: index is (@frames.length - 1)\r\n delay: frame.delay\r\n transparent: frame.transparent\r\n width: @options.width\r\n height: @options.height\r\n quality: @options.quality\r\n dither: @options.dither\r\n globalPalette: @options.globalPalette\r\n repeat: @options.repeat\r\n canTransfer: true\r\n\r\n if frame.data?\r\n task.data = frame.data\r\n else if frame.context?\r\n task.data = @getContextData frame.context\r\n else if frame.image?\r\n task.data = @getImageData frame.image\r\n else\r\n throw new Error 'Invalid frame'\r\n\r\n return task\r\n\r\n log: (msg) ->\r\n console.log msg if @options.debug\r\n\r\nmodule.exports = GIF\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/gif.coffee\n **/","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function(type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener))\n return 1;\n else if (evlistener)\n return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/events/events.js\n ** module id = 1\n ** module chunks = 0\n **/","### CoffeeScript version of the browser detection from MooTools ###\r\n\r\nua = navigator.userAgent.toLowerCase()\r\nplatform = navigator.platform.toLowerCase()\r\nUA = ua.match(/(opera|ie|firefox|chrome|version)[\\s\\/:]([\\w\\d\\.]+)?.*?(safari|version[\\s\\/:]([\\w\\d\\.]+)|$)/) or [null, 'unknown', 0]\r\nmode = UA[1] == 'ie' && document.documentMode\r\n\r\nbrowser =\r\n name: if UA[1] is 'version' then UA[3] else UA[1]\r\n version: mode or parseFloat(if UA[1] is 'opera' && UA[4] then UA[4] else UA[2])\r\n\r\n platform:\r\n name: if ua.match(/ip(?:ad|od|hone)/) then 'ios' else (ua.match(/(?:webos|android)/) or platform.match(/mac|win|linux/) or ['other'])[0]\r\n\r\nbrowser[browser.name] = true\r\nbrowser[browser.name + parseInt(browser.version, 10)] = true\r\nbrowser.platform[browser.platform.name] = true\r\n\r\nmodule.exports = browser\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/browser.coffee\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/src/js/libs/gifjs/gif.worker.js b/src/js/libs/gifjs/gif.worker.js deleted file mode 100644 index 28b1f18..0000000 --- a/src/js/libs/gifjs/gif.worker.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(t){function e(r){if(i[r])return i[r].exports;var s=i[r]={exports:{},id:r,loaded:!1};return t[r].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){var r,s;r=i(1),s=function(t){var e,i,s,o;return e=new r(t.width,t.height),0===t.index?e.writeHeader():e.firstFrame=!1,e.setTransparent(t.transparent),e.setRepeat(t.repeat),e.setDelay(t.delay),e.setQuality(t.quality),e.setDither(t.dither),e.setGlobalPalette(t.globalPalette),e.addFrame(t.data),t.last&&e.finish(),t.globalPalette===!0&&(t.globalPalette=e.getGlobalPalette()),s=e.stream(),t.data=s.pages,t.cursor=s.cursor,t.pageSize=s.constructor.pageSize,t.canTransfer?(o=function(){var e,r,s,o;for(s=t.data,o=[],e=0,r=s.length;e=r.pageSize&&this.newPage(),this.pages[this.page][this.cursor++]=t},r.prototype.writeUTFBytes=function(t){for(var e=t.length,i=0;i=0&&(this.dispose=t)},s.prototype.setRepeat=function(t){this.repeat=t},s.prototype.setTransparent=function(t){this.transparent=t},s.prototype.addFrame=function(t){this.image=t,this.colorTab=this.globalPalette&&this.globalPalette.slice?this.globalPalette:null,this.getImagePixels(),this.analyzePixels(),this.globalPalette===!0&&(this.globalPalette=this.colorTab),this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),this.firstFrame||this.globalPalette||this.writePalette(),this.writePixels(),this.firstFrame=!1},s.prototype.finish=function(){this.out.writeByte(59)},s.prototype.setQuality=function(t){t<1&&(t=1),this.sample=t},s.prototype.setDither=function(t){t===!0&&(t="FloydSteinberg"),this.dither=t},s.prototype.setGlobalPalette=function(t){this.globalPalette=t},s.prototype.getGlobalPalette=function(){return this.globalPalette&&this.globalPalette.slice&&this.globalPalette.slice(0)||this.globalPalette},s.prototype.writeHeader=function(){this.out.writeUTFBytes("GIF89a")},s.prototype.analyzePixels=function(){this.colorTab||(this.neuQuant=new o(this.pixels,this.sample),this.neuQuant.buildColormap(),this.colorTab=this.neuQuant.getColormap()),this.dither?this.ditherPixels(this.dither.replace("-serpentine",""),null!==this.dither.match(/-serpentine/)):this.indexPixels(),this.pixels=null,this.colorDepth=8,this.palSize=7,null!==this.transparent&&(this.transIndex=this.findClosest(this.transparent,!0))},s.prototype.indexPixels=function(){var t=this.pixels.length/3;this.indexedPixels=new Uint8Array(t);for(var e=0,i=0;i=0&&S+u=0&&T+l>16,(65280&t)>>8,255&t,e)},s.prototype.findClosestRGB=function(t,e,i,r){if(null===this.colorTab)return-1;if(this.neuQuant&&!r)return this.neuQuant.lookupRGB(t,e,i);for(var s=0,o=16777216,n=this.colorTab.length,a=0,h=0;a=0&&(e=7&dispose),e<<=2,this.out.writeByte(0|e|0|t),this.writeShort(this.delay),this.out.writeByte(this.transIndex),this.out.writeByte(0)},s.prototype.writeImageDesc=function(){this.out.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame||this.globalPalette?this.out.writeByte(0):this.out.writeByte(128|this.palSize)},s.prototype.writeLSD=function(){this.writeShort(this.width),this.writeShort(this.height),this.out.writeByte(240|this.palSize),this.out.writeByte(0),this.out.writeByte(0)},s.prototype.writeNetscapeExt=function(){this.out.writeByte(33),this.out.writeByte(255),this.out.writeByte(11),this.out.writeUTFBytes("NETSCAPE2.0"),this.out.writeByte(3),this.out.writeByte(1),this.writeShort(this.repeat),this.out.writeByte(0)},s.prototype.writePalette=function(){this.out.writeBytes(this.colorTab);for(var t=768-this.colorTab.length,e=0;e>8&255)},s.prototype.writePixels=function(){var t=new n(this.width,this.height,this.indexedPixels,this.colorDepth);t.encode(this.out)},s.prototype.stream=function(){return this.out},t.exports=s},function(t,e){function i(t,e){function i(){z=[],E=new Int32Array(256),R=new Int32Array(s),U=new Int32Array(s),Q=new Int32Array(s>>3);var t,e;for(t=0;t>=n,z[t][1]>>=n,z[t][2]>>=n,z[t][3]=t}function w(t,e,i,r,s){z[e][0]-=t*(z[e][0]-i)/b,z[e][1]-=t*(z[e][1]-r)/b,z[e][2]-=t*(z[e][2]-s)/b}function x(t,e,i,r,o){for(var n,a,h=Math.abs(e-t),l=Math.min(e+t,s),u=e+1,p=e-1,f=1;uh;)a=Q[f++],uh&&(n=z[p--],n[0]-=a*(n[0]-i)/B,n[1]-=a*(n[1]-r)/B,n[2]-=a*(n[2]-o)/B)}function v(t,e,i){t=0|t,e=0|e,i=0|i;var r,o,h,c,y,w=~(1<<31),d=w,g=-1,x=g;for(r=0;r>a-n),c>u,U[r]-=y,R[r]+=y<>1,e=h+1;e>1,e=h+1;e<256;e++)E[e]=o}function C(t,e,i){t=0|t,e=0|e,i=0|i;for(var r,o,n,a=1e3,h=-1,l=0|E[e],u=l-1;l=0;)l=a?l=s:(l++,n<0&&(n=-n),r=(0|o[0])-t,r<0&&(r=-r),n+=r,n=0&&(o=z[u],n=e-(0|o[1]),n>=a?u=-1:(u--,n<0&&(n=-n),r=(0|o[0])-t,r<0&&(r=-r),n+=r,n>y;for(p<=1&&(p=0),i=0;i=s&&(I-=s),i++,0===h&&(h=1),i%h===0)for(l-=l/o,u-=u/g,p=u>>y,p<=1&&(p=0),C=0;C>u,f=h<>3,y=6,w=1<=254&&c(e)}function l(t){u(o),A=P+2,C=!0,d(P,t)}function u(t){for(var e=0;e=0){p=f-a,0===a&&(p=1);do if((a-=p)<0&&(a+=f),T[a]===i){h=M[a];continue t}while(T[a]>=0)}d(h,e),h=n,A<1<0&&(t.writeByte(x),t.writeBytes(S,0,x),x=0)}function y(t){return(1<0?g|=t<=8;)h(255&g,e),g>>=8,F-=8;if((A>b||C)&&(C?(b=y(n_bits=v),C=!1):(++n_bits,b=n_bits==s?1<0;)h(255&g,e),g>>=8,F-=8;c(e)}}var g,x,b,v,P,m,B=Math.max(2,a),S=new Uint8Array(256),T=new Int32Array(o),M=new Int32Array(o),F=0,A=0,C=!1;this.encode=f}var r=-1,s=12,o=5003,n=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];t.exports=i}]); -//# sourceMappingURL=gif.worker.js.map \ No newline at end of file diff --git a/src/js/libs/gifjs/gif.worker.js.map b/src/js/libs/gifjs/gif.worker.js.map deleted file mode 100644 index b588382..0000000 --- a/src/js/libs/gifjs/gif.worker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///gif.worker.js","webpack:///webpack/bootstrap 111b1cbdbfe2d1566bf3","webpack:///./src/gif.worker.coffee","webpack:///./src/GIFEncoder.js","webpack:///./src/TypedNeuQuant.js","webpack:///./src/LZWEncoder.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","GIFEncoder","renderFrame","frame","encoder","page","stream","transfer","width","height","index","writeHeader","firstFrame","setTransparent","transparent","setRepeat","repeat","setDelay","delay","setQuality","quality","setDither","dither","setGlobalPalette","globalPalette","addFrame","data","last","finish","getGlobalPalette","pages","cursor","pageSize","constructor","canTransfer","i","len","ref","results","length","push","buffer","self","postMessage","onmessage","event","ByteArray","this","newPage","transIndex","image","pixels","indexedPixels","colorDepth","colorTab","neuQuant","usedEntry","Array","palSize","dispose","sample","out","NeuQuant","LZWEncoder","charMap","String","fromCharCode","prototype","Uint8Array","getData","rv","writeByte","val","writeUTFBytes","string","l","charCodeAt","writeBytes","array","offset","milliseconds","Math","round","setFrameRate","fps","setDispose","disposalCode","color","imageData","slice","getImagePixels","analyzePixels","writeLSD","writePalette","writeNetscapeExt","writeGraphicCtrlExt","writeImageDesc","writePixels","palette","buildColormap","getColormap","ditherPixels","replace","match","indexPixels","findClosest","nPix","k","j","findClosestRGB","kernel","serpentine","kernels","FalseFloydSteinberg","FloydSteinberg","Stucki","Atkinson","ds","direction","y","x","xend","idx","r1","g1","b1","r2","g2","b2","er","eg","eb","end","x1","y1","d","max","min","used","r","g","b","lookupRGB","minpos","dmin","dr","dg","db","w","h","srcPos","count","transp","disp","writeShort","n","pValue","enc","encode","samplefac","init","network","netindex","Int32Array","bias","netsize","freq","radpower","v","netbiasshift","Float64Array","intbias","unbiasnet","altersingle","alpha","initalpha","alterneigh","radius","a","lo","abs","hi","alpharadbias","contest","dist","biasdist","betafreq","bestd","bestbiasd","bestpos","bestbiaspos","intbiasshift","betashift","gammashift","beta","betagamma","inxbuild","q","smallpos","smallval","previouscol","startpos","maxnetpos","inxsearch","best","learn","lengthcount","alphadec","samplepixels","delta","ncycles","initradius","rad","radiusbiasshift","radbias","step","minpicturebytes","prime1","prime2","prime3","prime4","pix","radiusdec","map","initrad","radiusbias","alphabiasshift","radbiasshift","alpharadbshift","char_out","outs","accum","a_count","flush_char","cl_block","cl_hash","HSIZE","free_ent","ClearCode","clear_flg","output","hsize","htab","compress","init_bits","fcode","ent","hsize_reg","hshift","g_init_bits","n_bits","maxcode","MAXCODE","EOFCode","nextPixel","outer_loop","EOF","BITS","codetab","initCodeSize","remaining","curPixel","code","cur_accum","masks","cur_bits"],"mappings":"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","file":"gif.worker.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar GIFEncoder, renderFrame;\n\t\n\tGIFEncoder = __webpack_require__(1);\n\t\n\trenderFrame = function(frame) {\n\t var encoder, page, stream, transfer;\n\t encoder = new GIFEncoder(frame.width, frame.height);\n\t if (frame.index === 0) {\n\t encoder.writeHeader();\n\t } else {\n\t encoder.firstFrame = false;\n\t }\n\t encoder.setTransparent(frame.transparent);\n\t encoder.setRepeat(frame.repeat);\n\t encoder.setDelay(frame.delay);\n\t encoder.setQuality(frame.quality);\n\t encoder.setDither(frame.dither);\n\t encoder.setGlobalPalette(frame.globalPalette);\n\t encoder.addFrame(frame.data);\n\t if (frame.last) {\n\t encoder.finish();\n\t }\n\t if (frame.globalPalette === true) {\n\t frame.globalPalette = encoder.getGlobalPalette();\n\t }\n\t stream = encoder.stream();\n\t frame.data = stream.pages;\n\t frame.cursor = stream.cursor;\n\t frame.pageSize = stream.constructor.pageSize;\n\t if (frame.canTransfer) {\n\t transfer = (function() {\n\t var i, len, ref, results;\n\t ref = frame.data;\n\t results = [];\n\t for (i = 0, len = ref.length; i < len; i++) {\n\t page = ref[i];\n\t results.push(page.buffer);\n\t }\n\t return results;\n\t })();\n\t return self.postMessage(frame, transfer);\n\t } else {\n\t return self.postMessage(frame);\n\t }\n\t};\n\t\n\tself.onmessage = function(event) {\n\t return renderFrame(event.data);\n\t};\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*\r\n\t GIFEncoder.js\r\n\t\r\n\t Authors\r\n\t Kevin Weiner (original Java version - kweiner@fmsware.com)\r\n\t Thibault Imbert (AS3 version - bytearray.org)\r\n\t Johan Nordberg (JS version - code@johan-nordberg.com)\r\n\t*/\r\n\t\r\n\tvar NeuQuant = __webpack_require__(2);\r\n\tvar LZWEncoder = __webpack_require__(3);\r\n\t\r\n\tfunction ByteArray() {\r\n\t this.page = -1;\r\n\t this.pages = [];\r\n\t this.newPage();\r\n\t}\r\n\t\r\n\tByteArray.pageSize = 4096;\r\n\tByteArray.charMap = {};\r\n\t\r\n\tfor (var i = 0; i < 256; i++)\r\n\t ByteArray.charMap[i] = String.fromCharCode(i);\r\n\t\r\n\tByteArray.prototype.newPage = function() {\r\n\t this.pages[++this.page] = new Uint8Array(ByteArray.pageSize);\r\n\t this.cursor = 0;\r\n\t};\r\n\t\r\n\tByteArray.prototype.getData = function() {\r\n\t var rv = '';\r\n\t for (var p = 0; p < this.pages.length; p++) {\r\n\t for (var i = 0; i < ByteArray.pageSize; i++) {\r\n\t rv += ByteArray.charMap[this.pages[p][i]];\r\n\t }\r\n\t }\r\n\t return rv;\r\n\t};\r\n\t\r\n\tByteArray.prototype.writeByte = function(val) {\r\n\t if (this.cursor >= ByteArray.pageSize) this.newPage();\r\n\t this.pages[this.page][this.cursor++] = val;\r\n\t};\r\n\t\r\n\tByteArray.prototype.writeUTFBytes = function(string) {\r\n\t for (var l = string.length, i = 0; i < l; i++)\r\n\t this.writeByte(string.charCodeAt(i));\r\n\t};\r\n\t\r\n\tByteArray.prototype.writeBytes = function(array, offset, length) {\r\n\t for (var l = length || array.length, i = offset || 0; i < l; i++)\r\n\t this.writeByte(array[i]);\r\n\t};\r\n\t\r\n\tfunction GIFEncoder(width, height) {\r\n\t // image size\r\n\t this.width = ~~width;\r\n\t this.height = ~~height;\r\n\t\r\n\t // transparent color if given\r\n\t this.transparent = null;\r\n\t\r\n\t // transparent index in color table\r\n\t this.transIndex = 0;\r\n\t\r\n\t // -1 = no repeat, 0 = forever. anything else is repeat count\r\n\t this.repeat = -1;\r\n\t\r\n\t // frame delay (hundredths)\r\n\t this.delay = 0;\r\n\t\r\n\t this.image = null; // current frame\r\n\t this.pixels = null; // BGR byte array from frame\r\n\t this.indexedPixels = null; // converted frame indexed to palette\r\n\t this.colorDepth = null; // number of bit planes\r\n\t this.colorTab = null; // RGB palette\r\n\t this.neuQuant = null; // NeuQuant instance that was used to generate this.colorTab.\r\n\t this.usedEntry = new Array(); // active palette entries\r\n\t this.palSize = 7; // color table size (bits-1)\r\n\t this.dispose = -1; // disposal code (-1 = use default)\r\n\t this.firstFrame = true;\r\n\t this.sample = 10; // default sample interval for quantizer\r\n\t this.dither = false; // default dithering\r\n\t this.globalPalette = false;\r\n\t\r\n\t this.out = new ByteArray();\r\n\t}\r\n\t\r\n\t/*\r\n\t Sets the delay time between each frame, or changes it for subsequent frames\r\n\t (applies to last frame added)\r\n\t*/\r\n\tGIFEncoder.prototype.setDelay = function(milliseconds) {\r\n\t this.delay = Math.round(milliseconds / 10);\r\n\t};\r\n\t\r\n\t/*\r\n\t Sets frame rate in frames per second.\r\n\t*/\r\n\tGIFEncoder.prototype.setFrameRate = function(fps) {\r\n\t this.delay = Math.round(100 / fps);\r\n\t};\r\n\t\r\n\t/*\r\n\t Sets the GIF frame disposal code for the last added frame and any\r\n\t subsequent frames.\r\n\t\r\n\t Default is 0 if no transparent color has been set, otherwise 2.\r\n\t*/\r\n\tGIFEncoder.prototype.setDispose = function(disposalCode) {\r\n\t if (disposalCode >= 0) this.dispose = disposalCode;\r\n\t};\r\n\t\r\n\t/*\r\n\t Sets the number of times the set of GIF frames should be played.\r\n\t\r\n\t -1 = play once\r\n\t 0 = repeat indefinitely\r\n\t\r\n\t Default is -1\r\n\t\r\n\t Must be invoked before the first image is added\r\n\t*/\r\n\t\r\n\tGIFEncoder.prototype.setRepeat = function(repeat) {\r\n\t this.repeat = repeat;\r\n\t};\r\n\t\r\n\t/*\r\n\t Sets the transparent color for the last added frame and any subsequent\r\n\t frames. Since all colors are subject to modification in the quantization\r\n\t process, the color in the final palette for each frame closest to the given\r\n\t color becomes the transparent color for that frame. May be set to null to\r\n\t indicate no transparent color.\r\n\t*/\r\n\tGIFEncoder.prototype.setTransparent = function(color) {\r\n\t this.transparent = color;\r\n\t};\r\n\t\r\n\t/*\r\n\t Adds next GIF frame. The frame is not written immediately, but is\r\n\t actually deferred until the next frame is received so that timing\r\n\t data can be inserted. Invoking finish() flushes all frames.\r\n\t*/\r\n\tGIFEncoder.prototype.addFrame = function(imageData) {\r\n\t this.image = imageData;\r\n\t\r\n\t this.colorTab = this.globalPalette && this.globalPalette.slice ? this.globalPalette : null;\r\n\t\r\n\t this.getImagePixels(); // convert to correct format if necessary\r\n\t this.analyzePixels(); // build color table & map pixels\r\n\t\r\n\t if (this.globalPalette === true) this.globalPalette = this.colorTab;\r\n\t\r\n\t if (this.firstFrame) {\r\n\t this.writeLSD(); // logical screen descriptior\r\n\t this.writePalette(); // global color table\r\n\t if (this.repeat >= 0) {\r\n\t // use NS app extension to indicate reps\r\n\t this.writeNetscapeExt();\r\n\t }\r\n\t }\r\n\t\r\n\t this.writeGraphicCtrlExt(); // write graphic control extension\r\n\t this.writeImageDesc(); // image descriptor\r\n\t if (!this.firstFrame && !this.globalPalette) this.writePalette(); // local color table\r\n\t this.writePixels(); // encode and write pixel data\r\n\t\r\n\t this.firstFrame = false;\r\n\t};\r\n\t\r\n\t/*\r\n\t Adds final trailer to the GIF stream, if you don't call the finish method\r\n\t the GIF stream will not be valid.\r\n\t*/\r\n\tGIFEncoder.prototype.finish = function() {\r\n\t this.out.writeByte(0x3b); // gif trailer\r\n\t};\r\n\t\r\n\t/*\r\n\t Sets quality of color quantization (conversion of images to the maximum 256\r\n\t colors allowed by the GIF specification). Lower values (minimum = 1)\r\n\t produce better colors, but slow processing significantly. 10 is the\r\n\t default, and produces good color mapping at reasonable speeds. Values\r\n\t greater than 20 do not yield significant improvements in speed.\r\n\t*/\r\n\tGIFEncoder.prototype.setQuality = function(quality) {\r\n\t if (quality < 1) quality = 1;\r\n\t this.sample = quality;\r\n\t};\r\n\t\r\n\t/*\r\n\t Sets dithering method. Available are:\r\n\t - FALSE no dithering\r\n\t - TRUE or FloydSteinberg\r\n\t - FalseFloydSteinberg\r\n\t - Stucki\r\n\t - Atkinson\r\n\t You can add '-serpentine' to use serpentine scanning\r\n\t*/\r\n\tGIFEncoder.prototype.setDither = function(dither) {\r\n\t if (dither === true) dither = 'FloydSteinberg';\r\n\t this.dither = dither;\r\n\t};\r\n\t\r\n\t/*\r\n\t Sets global palette for all frames.\r\n\t You can provide TRUE to create global palette from first picture.\r\n\t Or an array of r,g,b,r,g,b,...\r\n\t*/\r\n\tGIFEncoder.prototype.setGlobalPalette = function(palette) {\r\n\t this.globalPalette = palette;\r\n\t};\r\n\t\r\n\t/*\r\n\t Returns global palette used for all frames.\r\n\t If setGlobalPalette(true) was used, then this function will return\r\n\t calculated palette after the first frame is added.\r\n\t*/\r\n\tGIFEncoder.prototype.getGlobalPalette = function() {\r\n\t return (this.globalPalette && this.globalPalette.slice && this.globalPalette.slice(0)) || this.globalPalette;\r\n\t};\r\n\t\r\n\t/*\r\n\t Writes GIF file header\r\n\t*/\r\n\tGIFEncoder.prototype.writeHeader = function() {\r\n\t this.out.writeUTFBytes(\"GIF89a\");\r\n\t};\r\n\t\r\n\t/*\r\n\t Analyzes current frame colors and creates color map.\r\n\t*/\r\n\tGIFEncoder.prototype.analyzePixels = function() {\r\n\t if (!this.colorTab) {\r\n\t this.neuQuant = new NeuQuant(this.pixels, this.sample);\r\n\t this.neuQuant.buildColormap(); // create reduced palette\r\n\t this.colorTab = this.neuQuant.getColormap();\r\n\t }\r\n\t\r\n\t // map image pixels to new palette\r\n\t if (this.dither) {\r\n\t this.ditherPixels(this.dither.replace('-serpentine', ''), this.dither.match(/-serpentine/) !== null);\r\n\t } else {\r\n\t this.indexPixels();\r\n\t }\r\n\t\r\n\t this.pixels = null;\r\n\t this.colorDepth = 8;\r\n\t this.palSize = 7;\r\n\t\r\n\t // get closest match to transparent color if specified\r\n\t if (this.transparent !== null) {\r\n\t this.transIndex = this.findClosest(this.transparent, true);\r\n\t }\r\n\t};\r\n\t\r\n\t/*\r\n\t Index pixels, without dithering\r\n\t This method is most expensive (75% of time) because of calls to findClosestRGB, and findClosestRGB should be optimized.\r\n\t*/\r\n\tGIFEncoder.prototype.indexPixels = function() {\r\n\t var nPix = this.pixels.length / 3;\r\n\t this.indexedPixels = new Uint8Array(nPix);\r\n\t var k = 0;\r\n\t for (var j = 0; j < nPix; j++) {\r\n\t var index = this.findClosestRGB(\r\n\t this.pixels[k++] & 0xff,\r\n\t this.pixels[k++] & 0xff,\r\n\t this.pixels[k++] & 0xff\r\n\t );\r\n\t this.usedEntry[index] = true;\r\n\t this.indexedPixels[j] = index;\r\n\t }\r\n\t};\r\n\t\r\n\t/*\r\n\t Taken from http://jsbin.com/iXofIji/2/edit by PAEz\r\n\t*/\r\n\tGIFEncoder.prototype.ditherPixels = function(kernel, serpentine) {\r\n\t var kernels = {\r\n\t FalseFloydSteinberg: [\r\n\t [3 / 8, 1, 0],\r\n\t [3 / 8, 0, 1],\r\n\t [2 / 8, 1, 1]\r\n\t ],\r\n\t FloydSteinberg: [\r\n\t [7 / 16, 1, 0],\r\n\t [3 / 16, -1, 1],\r\n\t [5 / 16, 0, 1],\r\n\t [1 / 16, 1, 1]\r\n\t ],\r\n\t Stucki: [\r\n\t [8 / 42, 1, 0],\r\n\t [4 / 42, 2, 0],\r\n\t [2 / 42, -2, 1],\r\n\t [4 / 42, -1, 1],\r\n\t [8 / 42, 0, 1],\r\n\t [4 / 42, 1, 1],\r\n\t [2 / 42, 2, 1],\r\n\t [1 / 42, -2, 2],\r\n\t [2 / 42, -1, 2],\r\n\t [4 / 42, 0, 2],\r\n\t [2 / 42, 1, 2],\r\n\t [1 / 42, 2, 2]\r\n\t ],\r\n\t Atkinson: [\r\n\t [1 / 8, 1, 0],\r\n\t [1 / 8, 2, 0],\r\n\t [1 / 8, -1, 1],\r\n\t [1 / 8, 0, 1],\r\n\t [1 / 8, 1, 1],\r\n\t [1 / 8, 0, 2]\r\n\t ]\r\n\t };\r\n\t\r\n\t if (!kernel || !kernels[kernel]) {\r\n\t throw 'Unknown dithering kernel: ' + kernel;\r\n\t }\r\n\t\r\n\t var ds = kernels[kernel];\r\n\t var index = 0,\r\n\t height = this.height,\r\n\t width = this.width,\r\n\t data = this.pixels;\r\n\t var direction = serpentine ? -1 : 1;\r\n\t\r\n\t this.indexedPixels = new Uint8Array(this.pixels.length / 3);\r\n\t\r\n\t for (var y = 0; y < height; y++) {\r\n\t\r\n\t if (serpentine) direction = direction * -1;\r\n\t\r\n\t for (var x = (direction == 1 ? 0 : width - 1), xend = (direction == 1 ? width : 0); x !== xend; x += direction) {\r\n\t\r\n\t index = (y * width) + x;\r\n\t // Get original colour\r\n\t var idx = index * 3;\r\n\t var r1 = data[idx];\r\n\t var g1 = data[idx + 1];\r\n\t var b1 = data[idx + 2];\r\n\t\r\n\t // Get converted colour\r\n\t idx = this.findClosestRGB(r1, g1, b1);\r\n\t this.usedEntry[idx] = true;\r\n\t this.indexedPixels[index] = idx;\r\n\t idx *= 3;\r\n\t var r2 = this.colorTab[idx];\r\n\t var g2 = this.colorTab[idx + 1];\r\n\t var b2 = this.colorTab[idx + 2];\r\n\t\r\n\t var er = r1 - r2;\r\n\t var eg = g1 - g2;\r\n\t var eb = b1 - b2;\r\n\t\r\n\t for (var i = (direction == 1 ? 0: ds.length - 1), end = (direction == 1 ? ds.length : 0); i !== end; i += direction) {\r\n\t var x1 = ds[i][1]; // *direction; // Should this by timesd by direction?..to make the kernel go in the opposite direction....got no idea....\r\n\t var y1 = ds[i][2];\r\n\t if (x1 + x >= 0 && x1 + x < width && y1 + y >= 0 && y1 + y < height) {\r\n\t var d = ds[i][0];\r\n\t idx = index + x1 + (y1 * width);\r\n\t idx *= 3;\r\n\t\r\n\t data[idx] = Math.max(0, Math.min(255, data[idx] + er * d));\r\n\t data[idx + 1] = Math.max(0, Math.min(255, data[idx + 1] + eg * d));\r\n\t data[idx + 2] = Math.max(0, Math.min(255, data[idx + 2] + eb * d));\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t};\r\n\t\r\n\t/*\r\n\t Returns index of palette color closest to c\r\n\t*/\r\n\tGIFEncoder.prototype.findClosest = function(c, used) {\r\n\t return this.findClosestRGB((c & 0xFF0000) >> 16, (c & 0x00FF00) >> 8, (c & 0x0000FF), used);\r\n\t};\r\n\t\r\n\t// Should be heavily optimized\r\n\tGIFEncoder.prototype.findClosestRGB = function(r, g, b, used) {\r\n\t if (this.colorTab === null) return -1;\r\n\t\r\n\t if (this.neuQuant && !used) {\r\n\t return this.neuQuant.lookupRGB(r, g, b);\r\n\t }\r\n\t \r\n\t var c = b | (g << 8) | (r << 16);\r\n\t\r\n\t var minpos = 0;\r\n\t var dmin = 256 * 256 * 256;\r\n\t var len = this.colorTab.length;\r\n\t\r\n\t for (var i = 0, index = 0; i < len; index++) {\r\n\t var dr = r - (this.colorTab[i++] & 0xff);\r\n\t var dg = g - (this.colorTab[i++] & 0xff);\r\n\t var db = b - (this.colorTab[i++] & 0xff);\r\n\t var d = dr * dr + dg * dg + db * db;\r\n\t if ((!used || this.usedEntry[index]) && (d < dmin)) {\r\n\t dmin = d;\r\n\t minpos = index;\r\n\t }\r\n\t }\r\n\t\r\n\t return minpos;\r\n\t};\r\n\t\r\n\t/*\r\n\t Extracts image pixels into byte array pixels\r\n\t (removes alphachannel from canvas imagedata)\r\n\t*/\r\n\tGIFEncoder.prototype.getImagePixels = function() {\r\n\t var w = this.width;\r\n\t var h = this.height;\r\n\t this.pixels = new Uint8Array(w * h * 3);\r\n\t\r\n\t var data = this.image;\r\n\t var srcPos = 0;\r\n\t var count = 0;\r\n\t\r\n\t for (var i = 0; i < h; i++) {\r\n\t for (var j = 0; j < w; j++) {\r\n\t this.pixels[count++] = data[srcPos++];\r\n\t this.pixels[count++] = data[srcPos++];\r\n\t this.pixels[count++] = data[srcPos++];\r\n\t srcPos++;\r\n\t }\r\n\t }\r\n\t};\r\n\t\r\n\t/*\r\n\t Writes Graphic Control Extension\r\n\t*/\r\n\tGIFEncoder.prototype.writeGraphicCtrlExt = function() {\r\n\t this.out.writeByte(0x21); // extension introducer\r\n\t this.out.writeByte(0xf9); // GCE label\r\n\t this.out.writeByte(4); // data block size\r\n\t\r\n\t var transp, disp;\r\n\t if (this.transparent === null) {\r\n\t transp = 0;\r\n\t disp = 0; // dispose = no action\r\n\t } else {\r\n\t transp = 1;\r\n\t disp = 2; // force clear if using transparent color\r\n\t }\r\n\t\r\n\t if (this.dispose >= 0) {\r\n\t disp = dispose & 7; // user override\r\n\t }\r\n\t disp <<= 2;\r\n\t\r\n\t // packed fields\r\n\t this.out.writeByte(\r\n\t 0 | // 1:3 reserved\r\n\t disp | // 4:6 disposal\r\n\t 0 | // 7 user input - 0 = none\r\n\t transp // 8 transparency flag\r\n\t );\r\n\t\r\n\t this.writeShort(this.delay); // delay x 1/100 sec\r\n\t this.out.writeByte(this.transIndex); // transparent color index\r\n\t this.out.writeByte(0); // block terminator\r\n\t};\r\n\t\r\n\t/*\r\n\t Writes Image Descriptor\r\n\t*/\r\n\tGIFEncoder.prototype.writeImageDesc = function() {\r\n\t this.out.writeByte(0x2c); // image separator\r\n\t this.writeShort(0); // image position x,y = 0,0\r\n\t this.writeShort(0);\r\n\t this.writeShort(this.width); // image size\r\n\t this.writeShort(this.height);\r\n\t\r\n\t // packed fields\r\n\t if (this.firstFrame || this.globalPalette) {\r\n\t // no LCT - GCT is used for first (or only) frame\r\n\t this.out.writeByte(0);\r\n\t } else {\r\n\t // specify normal LCT\r\n\t this.out.writeByte(\r\n\t 0x80 | // 1 local color table 1=yes\r\n\t 0 | // 2 interlace - 0=no\r\n\t 0 | // 3 sorted - 0=no\r\n\t 0 | // 4-5 reserved\r\n\t this.palSize // 6-8 size of color table\r\n\t );\r\n\t }\r\n\t};\r\n\t\r\n\t/*\r\n\t Writes Logical Screen Descriptor\r\n\t*/\r\n\tGIFEncoder.prototype.writeLSD = function() {\r\n\t // logical screen size\r\n\t this.writeShort(this.width);\r\n\t this.writeShort(this.height);\r\n\t\r\n\t // packed fields\r\n\t this.out.writeByte(\r\n\t 0x80 | // 1 : global color table flag = 1 (gct used)\r\n\t 0x70 | // 2-4 : color resolution = 7\r\n\t 0x00 | // 5 : gct sort flag = 0\r\n\t this.palSize // 6-8 : gct size\r\n\t );\r\n\t\r\n\t this.out.writeByte(0); // background color index\r\n\t this.out.writeByte(0); // pixel aspect ratio - assume 1:1\r\n\t};\r\n\t\r\n\t/*\r\n\t Writes Netscape application extension to define repeat count.\r\n\t*/\r\n\tGIFEncoder.prototype.writeNetscapeExt = function() {\r\n\t this.out.writeByte(0x21); // extension introducer\r\n\t this.out.writeByte(0xff); // app extension label\r\n\t this.out.writeByte(11); // block size\r\n\t this.out.writeUTFBytes('NETSCAPE2.0'); // app id + auth code\r\n\t this.out.writeByte(3); // sub-block size\r\n\t this.out.writeByte(1); // loop sub-block id\r\n\t this.writeShort(this.repeat); // loop count (extra iterations, 0=repeat forever)\r\n\t this.out.writeByte(0); // block terminator\r\n\t};\r\n\t\r\n\t/*\r\n\t Writes color table\r\n\t*/\r\n\tGIFEncoder.prototype.writePalette = function() {\r\n\t this.out.writeBytes(this.colorTab);\r\n\t var n = (3 * 256) - this.colorTab.length;\r\n\t for (var i = 0; i < n; i++)\r\n\t this.out.writeByte(0);\r\n\t};\r\n\t\r\n\tGIFEncoder.prototype.writeShort = function(pValue) {\r\n\t this.out.writeByte(pValue & 0xFF);\r\n\t this.out.writeByte((pValue >> 8) & 0xFF);\r\n\t};\r\n\t\r\n\t/*\r\n\t Encodes and writes pixel data\r\n\t*/\r\n\tGIFEncoder.prototype.writePixels = function() {\r\n\t var enc = new LZWEncoder(this.width, this.height, this.indexedPixels, this.colorDepth);\r\n\t enc.encode(this.out);\r\n\t};\r\n\t\r\n\t/*\r\n\t Retrieves the GIF stream\r\n\t*/\r\n\tGIFEncoder.prototype.stream = function() {\r\n\t return this.out;\r\n\t};\r\n\t\r\n\tmodule.exports = GIFEncoder;\r\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t/* NeuQuant Neural-Net Quantization Algorithm\r\n\t * ------------------------------------------\r\n\t *\r\n\t * Copyright (c) 1994 Anthony Dekker\r\n\t *\r\n\t * NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994.\r\n\t * See \"Kohonen neural networks for optimal colour quantization\"\r\n\t * in \"Network: Computation in Neural Systems\" Vol. 5 (1994) pp 351-367.\r\n\t * for a discussion of the algorithm.\r\n\t * See also http://members.ozemail.com.au/~dekker/NEUQUANT.HTML\r\n\t *\r\n\t * Any party obtaining a copy of these files from the author, directly or\r\n\t * indirectly, is granted, free of charge, a full and unrestricted irrevocable,\r\n\t * world-wide, paid up, royalty-free, nonexclusive right and license to deal\r\n\t * in this software and documentation files (the \"Software\"), including without\r\n\t * limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\r\n\t * and/or sell copies of the Software, and to permit persons who receive\r\n\t * copies from any such party to do so, with the only requirement being\r\n\t * that this copyright notice remain intact.\r\n\t *\r\n\t * (JavaScript port 2012 by Johan Nordberg)\r\n\t *\r\n\t * Micro-optimization\r\n\t * Roman Viskin (npm@terikon.com)\r\n\t */\r\n\t\r\n\tvar ncycles = 100; // number of learning cycles\r\n\tvar netsize = 256; // number of colors used\r\n\tvar maxnetpos = netsize - 1;\r\n\t\r\n\t// defs for freq and bias\r\n\tvar netbiasshift = 4; // bias for colour values\r\n\tvar intbiasshift = 16; // bias for fractions\r\n\tvar intbias = (1 << intbiasshift);\r\n\tvar gammashift = 10;\r\n\tvar gamma = (1 << gammashift);\r\n\tvar betashift = 10;\r\n\tvar beta = (intbias >> betashift); /* beta = 1/1024 */\r\n\tvar betagamma = (intbias << (gammashift - betashift));\r\n\t\r\n\t// defs for decreasing radius factor\r\n\tvar initrad = (netsize >> 3); // for 256 cols, radius starts\r\n\tvar radiusbiasshift = 6; // at 32.0 biased by 6 bits\r\n\tvar radiusbias = (1 << radiusbiasshift);\r\n\tvar initradius = (initrad * radiusbias); //and decreases by a\r\n\tvar radiusdec = 30; // factor of 1/30 each cycle\r\n\t\r\n\t// defs for decreasing alpha factor\r\n\tvar alphabiasshift = 10; // alpha starts at 1.0\r\n\tvar initalpha = (1 << alphabiasshift);\r\n\tvar alphadec; // biased by 10 bits\r\n\t\r\n\t/* radbias and alpharadbias used for radpower calculation */\r\n\tvar radbiasshift = 8;\r\n\tvar radbias = (1 << radbiasshift);\r\n\tvar alpharadbshift = (alphabiasshift + radbiasshift);\r\n\tvar alpharadbias = (1 << alpharadbshift);\r\n\t\r\n\t// four primes near 500 - assume no image has a length so large that it is\r\n\t// divisible by all four primes\r\n\tvar prime1 = 499;\r\n\tvar prime2 = 491;\r\n\tvar prime3 = 487;\r\n\tvar prime4 = 503;\r\n\tvar minpicturebytes = (3 * prime4);\r\n\t\r\n\t/*\r\n\t Constructor: NeuQuant\r\n\t\r\n\t Arguments:\r\n\t\r\n\t pixels - array of pixels in RGB format\r\n\t samplefac - sampling factor 1 to 30 where lower is better quality\r\n\t\r\n\t >\r\n\t > pixels = [r, g, b, r, g, b, r, g, b, ..]\r\n\t >\r\n\t*/\r\n\tfunction NeuQuant(pixels, samplefac) {\r\n\t var network; // int[netsize][4]\r\n\t var netindex; // for network lookup - really 256\r\n\t\r\n\t // bias and freq arrays for learning\r\n\t var bias;\r\n\t var freq;\r\n\t var radpower;\r\n\t\r\n\t /*\r\n\t Private Method: init\r\n\t\r\n\t sets up arrays\r\n\t */\r\n\t function init() {\r\n\t network = [];\r\n\t netindex = new Int32Array(256);\r\n\t bias = new Int32Array(netsize);\r\n\t freq = new Int32Array(netsize);\r\n\t radpower = new Int32Array(netsize >> 3);\r\n\t\r\n\t var i, v;\r\n\t for (i = 0; i < netsize; i++) {\r\n\t v = (i << (netbiasshift + 8)) / netsize;\r\n\t network[i] = new Float64Array([v, v, v, 0]);\r\n\t //network[i] = [v, v, v, 0]\r\n\t freq[i] = intbias / netsize;\r\n\t bias[i] = 0;\r\n\t }\r\n\t }\r\n\t\r\n\t /*\r\n\t Private Method: unbiasnet\r\n\t\r\n\t unbiases network to give byte values 0..255 and record position i to prepare for sort\r\n\t */\r\n\t function unbiasnet() {\r\n\t for (var i = 0; i < netsize; i++) {\r\n\t network[i][0] >>= netbiasshift;\r\n\t network[i][1] >>= netbiasshift;\r\n\t network[i][2] >>= netbiasshift;\r\n\t network[i][3] = i; // record color number\r\n\t }\r\n\t }\r\n\t\r\n\t /*\r\n\t Private Method: altersingle\r\n\t\r\n\t moves neuron *i* towards biased (b,g,r) by factor *alpha*\r\n\t */\r\n\t function altersingle(alpha, i, b, g, r) {\r\n\t network[i][0] -= (alpha * (network[i][0] - b)) / initalpha;\r\n\t network[i][1] -= (alpha * (network[i][1] - g)) / initalpha;\r\n\t network[i][2] -= (alpha * (network[i][2] - r)) / initalpha;\r\n\t }\r\n\t\r\n\t /*\r\n\t Private Method: alterneigh\r\n\t\r\n\t moves neurons in *radius* around index *i* towards biased (b,g,r) by factor *alpha*\r\n\t */\r\n\t function alterneigh(radius, i, b, g, r) {\r\n\t var lo = Math.abs(i - radius);\r\n\t var hi = Math.min(i + radius, netsize);\r\n\t\r\n\t var j = i + 1;\r\n\t var k = i - 1;\r\n\t var m = 1;\r\n\t\r\n\t var p, a;\r\n\t while ((j < hi) || (k > lo)) {\r\n\t a = radpower[m++];\r\n\t\r\n\t if (j < hi) {\r\n\t p = network[j++];\r\n\t p[0] -= (a * (p[0] - b)) / alpharadbias;\r\n\t p[1] -= (a * (p[1] - g)) / alpharadbias;\r\n\t p[2] -= (a * (p[2] - r)) / alpharadbias;\r\n\t }\r\n\t\r\n\t if (k > lo) {\r\n\t p = network[k--];\r\n\t p[0] -= (a * (p[0] - b)) / alpharadbias;\r\n\t p[1] -= (a * (p[1] - g)) / alpharadbias;\r\n\t p[2] -= (a * (p[2] - r)) / alpharadbias;\r\n\t }\r\n\t }\r\n\t }\r\n\t\r\n\t /*\r\n\t Private Method: contest\r\n\t\r\n\t searches for biased BGR values\r\n\t should be heavily optimized\r\n\t */\r\n\t function contest(b, g, r) {\r\n\t /*\r\n\t finds closest neuron (min dist) and updates freq\r\n\t finds best neuron (min dist-bias) and returns position\r\n\t for frequently chosen neurons, freq[i] is high and bias[i] is negative\r\n\t bias[i] = gamma * ((1 / netsize) - freq[i])\r\n\t */\r\n\t\r\n\t b = b | 0;\r\n\t g = g | 0;\r\n\t r = r | 0;\r\n\t\r\n\t var bestd = ~(1 << 31);\r\n\t var bestbiasd = bestd;\r\n\t var bestpos = -1;\r\n\t var bestbiaspos = bestpos;\r\n\t\r\n\t var i, n, dist, biasdist, betafreq;\r\n\t for (i = 0; i < netsize; i++) {\r\n\t n = network[i];\r\n\t\r\n\t dist = (Math.abs((n[0] | 0) - b) + Math.abs((n[1] | 0) - g) + Math.abs((n[2] | 0) - r)) | 0;\r\n\t if (dist < bestd) {\r\n\t bestd = dist;\r\n\t bestpos = i;\r\n\t }\r\n\t\r\n\t biasdist = dist - ((bias[i] | 0) >> (intbiasshift - netbiasshift));\r\n\t if (biasdist < bestbiasd) {\r\n\t bestbiasd = biasdist;\r\n\t bestbiaspos = i;\r\n\t }\r\n\t\r\n\t betafreq = (freq[i] >> betashift);\r\n\t freq[i] -= betafreq;\r\n\t bias[i] += (betafreq << gammashift);\r\n\t }\r\n\t\r\n\t freq[bestpos] += beta;\r\n\t bias[bestpos] -= betagamma;\r\n\t\r\n\t return bestbiaspos;\r\n\t }\r\n\t\r\n\t /*\r\n\t Private Method: inxbuild\r\n\t\r\n\t sorts network and builds netindex[0..255]\r\n\t */\r\n\t function inxbuild() {\r\n\t var i, j, p, q, smallpos, smallval, previouscol = 0, startpos = 0;\r\n\t for (i = 0; i < netsize; i++) {\r\n\t p = network[i];\r\n\t smallpos = i;\r\n\t smallval = p[1]; // index on g\r\n\t // find smallest in i..netsize-1\r\n\t for (j = i + 1; j < netsize; j++) {\r\n\t q = network[j];\r\n\t if (q[1] < smallval) { // index on g\r\n\t smallpos = j;\r\n\t smallval = q[1]; // index on g\r\n\t }\r\n\t }\r\n\t q = network[smallpos];\r\n\t // swap p (i) and q (smallpos) entries\r\n\t if (i != smallpos) {\r\n\t j = q[0]; q[0] = p[0]; p[0] = j;\r\n\t j = q[1]; q[1] = p[1]; p[1] = j;\r\n\t j = q[2]; q[2] = p[2]; p[2] = j;\r\n\t j = q[3]; q[3] = p[3]; p[3] = j;\r\n\t }\r\n\t // smallval entry is now in position i\r\n\t\r\n\t if (smallval != previouscol) {\r\n\t netindex[previouscol] = (startpos + i) >> 1;\r\n\t for (j = previouscol + 1; j < smallval; j++)\r\n\t netindex[j] = i;\r\n\t previouscol = smallval;\r\n\t startpos = i;\r\n\t }\r\n\t }\r\n\t netindex[previouscol] = (startpos + maxnetpos) >> 1;\r\n\t for (j = previouscol + 1; j < 256; j++)\r\n\t netindex[j] = maxnetpos; // really 256\r\n\t }\r\n\t\r\n\t /*\r\n\t Private Method: inxsearch\r\n\t\r\n\t searches for BGR values 0..255 and returns a color index\r\n\t should be heavily optimized\r\n\t */\r\n\t function inxsearch(b, g, r) {\r\n\t\r\n\t b = b | 0;\r\n\t g = g | 0;\r\n\t r = r | 0;\r\n\t\r\n\t var a, p, dist;\r\n\t\r\n\t var bestd = 1000; // biggest possible dist is 256*3\r\n\t var best = -1;\r\n\t\r\n\t var i = netindex[g] | 0; // index on g\r\n\t var j = i - 1; // start at netindex[g] and work outwards\r\n\t\r\n\t while ((i < netsize) || (j >= 0)) {\r\n\t if (i < netsize) {\r\n\t p = network[i];\r\n\t dist = (p[1] | 0) - g; // inx key\r\n\t if (dist >= bestd) i = netsize; // stop iter\r\n\t else {\r\n\t i++;\r\n\t if (dist < 0) dist = -dist;\r\n\t a = (p[0] | 0) - b; if (a < 0) a = -a;\r\n\t dist += a;\r\n\t if (dist < bestd) {\r\n\t a = (p[2] | 0) - r; if (a < 0) a = -a;\r\n\t dist += a;\r\n\t if (dist < bestd) {\r\n\t bestd = dist;\r\n\t best = p[3] | 0;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t if (j >= 0) {\r\n\t p = network[j];\r\n\t dist = g - (p[1] | 0); // inx key - reverse dif\r\n\t if (dist >= bestd) j = -1; // stop iter\r\n\t else {\r\n\t j--;\r\n\t if (dist < 0) dist = -dist;\r\n\t a = (p[0] | 0) - b; if (a < 0) a = -a;\r\n\t dist += a;\r\n\t if (dist < bestd) {\r\n\t a = (p[2] | 0) - r; if (a < 0) a = -a;\r\n\t dist += a;\r\n\t if (dist < bestd) {\r\n\t bestd = dist;\r\n\t best = p[3] | 0;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t\r\n\t return best;\r\n\t }\r\n\t\r\n\t /*\r\n\t Private Method: learn\r\n\t\r\n\t \"Main Learning Loop\"\r\n\t */\r\n\t function learn() {\r\n\t var i;\r\n\t\r\n\t var lengthcount = pixels.length;\r\n\t var alphadec = 30 + ((samplefac - 1) / 3);\r\n\t var samplepixels = lengthcount / (3 * samplefac);\r\n\t var delta = ~~(samplepixels / ncycles);\r\n\t var alpha = initalpha;\r\n\t var radius = initradius;\r\n\t\r\n\t var rad = radius >> radiusbiasshift;\r\n\t\r\n\t if (rad <= 1) rad = 0;\r\n\t for (i = 0; i < rad; i++)\r\n\t radpower[i] = alpha * (((rad * rad - i * i) * radbias) / (rad * rad));\r\n\t\r\n\t var step;\r\n\t if (lengthcount < minpicturebytes) {\r\n\t samplefac = 1;\r\n\t step = 3;\r\n\t } else if ((lengthcount % prime1) !== 0) {\r\n\t step = 3 * prime1;\r\n\t } else if ((lengthcount % prime2) !== 0) {\r\n\t step = 3 * prime2;\r\n\t } else if ((lengthcount % prime3) !== 0) {\r\n\t step = 3 * prime3;\r\n\t } else {\r\n\t step = 3 * prime4;\r\n\t }\r\n\t\r\n\t var b, g, r, j;\r\n\t var pix = 0; // current pixel\r\n\t\r\n\t i = 0;\r\n\t while (i < samplepixels) {\r\n\t b = (pixels[pix] & 0xff) << netbiasshift;\r\n\t g = (pixels[pix + 1] & 0xff) << netbiasshift;\r\n\t r = (pixels[pix + 2] & 0xff) << netbiasshift;\r\n\t\r\n\t j = contest(b, g, r);\r\n\t\r\n\t altersingle(alpha, j, b, g, r);\r\n\t if (rad !== 0) alterneigh(rad, j, b, g, r); // alter neighbours\r\n\t\r\n\t pix += step;\r\n\t if (pix >= lengthcount) pix -= lengthcount;\r\n\t\r\n\t i++;\r\n\t\r\n\t if (delta === 0) delta = 1;\r\n\t if (i % delta === 0) {\r\n\t alpha -= alpha / alphadec;\r\n\t radius -= radius / radiusdec;\r\n\t rad = radius >> radiusbiasshift;\r\n\t\r\n\t if (rad <= 1) rad = 0;\r\n\t for (j = 0; j < rad; j++)\r\n\t radpower[j] = alpha * (((rad * rad - j * j) * radbias) / (rad * rad));\r\n\t }\r\n\t }\r\n\t }\r\n\t\r\n\t /*\r\n\t Method: buildColormap\r\n\t\r\n\t 1. initializes network\r\n\t 2. trains it\r\n\t 3. removes misconceptions\r\n\t 4. builds colorindex\r\n\t */\r\n\t function buildColormap() {\r\n\t init();\r\n\t learn();\r\n\t unbiasnet();\r\n\t inxbuild();\r\n\t }\r\n\t this.buildColormap = buildColormap;\r\n\t\r\n\t /*\r\n\t Method: getColormap\r\n\t\r\n\t builds colormap from the index\r\n\t\r\n\t returns array in the format:\r\n\t\r\n\t >\r\n\t > [r, g, b, r, g, b, r, g, b, ..]\r\n\t >\r\n\t */\r\n\t function getColormap() {\r\n\t var map = [];\r\n\t var index = [];\r\n\t\r\n\t for (var i = 0; i < netsize; i++)\r\n\t index[network[i][3]] = i;\r\n\t\r\n\t var k = 0;\r\n\t for (var l = 0; l < netsize; l++) {\r\n\t var j = index[l];\r\n\t map[k++] = (network[j][0]);\r\n\t map[k++] = (network[j][1]);\r\n\t map[k++] = (network[j][2]);\r\n\t }\r\n\t return map;\r\n\t }\r\n\t this.getColormap = getColormap;\r\n\t\r\n\t /*\r\n\t Method: lookupRGB\r\n\t\r\n\t looks for the closest *r*, *g*, *b* color in the map and\r\n\t returns its index\r\n\t */\r\n\t this.lookupRGB = inxsearch;\r\n\t}\r\n\t\r\n\tmodule.exports = NeuQuant;\r\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t/*\r\n\t LZWEncoder.js\r\n\t\r\n\t Authors\r\n\t Kevin Weiner (original Java version - kweiner@fmsware.com)\r\n\t Thibault Imbert (AS3 version - bytearray.org)\r\n\t Johan Nordberg (JS version - code@johan-nordberg.com)\r\n\t\r\n\t Acknowledgements\r\n\t GIFCOMPR.C - GIF Image compression routines\r\n\t Lempel-Ziv compression based on 'compress'. GIF modifications by\r\n\t David Rowley (mgardi@watdcsu.waterloo.edu)\r\n\t GIF Image compression - modified 'compress'\r\n\t Based on: compress.c - File compression ala IEEE Computer, June 1984.\r\n\t By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)\r\n\t Jim McKie (decvax!mcvax!jim)\r\n\t Steve Davies (decvax!vax135!petsd!peora!srd)\r\n\t Ken Turkowski (decvax!decwrl!turtlevax!ken)\r\n\t James A. Woods (decvax!ihnp4!ames!jaw)\r\n\t Joe Orost (decvax!vax135!petsd!joe)\r\n\t*/\r\n\t\r\n\tvar EOF = -1;\r\n\tvar BITS = 12;\r\n\tvar HSIZE = 5003; // 80% occupancy\r\n\tvar masks = [0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F,\r\n\t 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF,\r\n\t 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF];\r\n\t\r\n\tfunction LZWEncoder(width, height, pixels, colorDepth) {\r\n\t var initCodeSize = Math.max(2, colorDepth);\r\n\t\r\n\t var accum = new Uint8Array(256);\r\n\t var htab = new Int32Array(HSIZE);\r\n\t var codetab = new Int32Array(HSIZE);\r\n\t\r\n\t var cur_accum, cur_bits = 0;\r\n\t var a_count;\r\n\t var free_ent = 0; // first unused entry\r\n\t var maxcode;\r\n\t\r\n\t // block compression parameters -- after all codes are used up,\r\n\t // and compression rate changes, start over.\r\n\t var clear_flg = false;\r\n\t\r\n\t // Algorithm: use open addressing double hashing (no chaining) on the\r\n\t // prefix code / next character combination. We do a variant of Knuth's\r\n\t // algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime\r\n\t // secondary probe. Here, the modular division first probe is gives way\r\n\t // to a faster exclusive-or manipulation. Also do block compression with\r\n\t // an adaptive reset, whereby the code table is cleared when the compression\r\n\t // ratio decreases, but after the table fills. The variable-length output\r\n\t // codes are re-sized at this point, and a special CLEAR code is generated\r\n\t // for the decompressor. Late addition: construct the table according to\r\n\t // file size for noticeable speed improvement on small files. Please direct\r\n\t // questions about this implementation to ames!jaw.\r\n\t var g_init_bits, ClearCode, EOFCode;\r\n\t\r\n\t // Add a character to the end of the current packet, and if it is 254\r\n\t // characters, flush the packet to disk.\r\n\t function char_out(c, outs) {\r\n\t accum[a_count++] = c;\r\n\t if (a_count >= 254) flush_char(outs);\r\n\t }\r\n\t\r\n\t // Clear out the hash table\r\n\t // table clear for block compress\r\n\t function cl_block(outs) {\r\n\t cl_hash(HSIZE);\r\n\t free_ent = ClearCode + 2;\r\n\t clear_flg = true;\r\n\t output(ClearCode, outs);\r\n\t }\r\n\t\r\n\t // Reset code table\r\n\t function cl_hash(hsize) {\r\n\t for (var i = 0; i < hsize; ++i) htab[i] = -1;\r\n\t }\r\n\t\r\n\t function compress(init_bits, outs) {\r\n\t var fcode, c, i, ent, disp, hsize_reg, hshift;\r\n\t\r\n\t // Set up the globals: g_init_bits - initial number of bits\r\n\t g_init_bits = init_bits;\r\n\t\r\n\t // Set up the necessary values\r\n\t clear_flg = false;\r\n\t n_bits = g_init_bits;\r\n\t maxcode = MAXCODE(n_bits);\r\n\t\r\n\t ClearCode = 1 << (init_bits - 1);\r\n\t EOFCode = ClearCode + 1;\r\n\t free_ent = ClearCode + 2;\r\n\t\r\n\t a_count = 0; // clear packet\r\n\t\r\n\t ent = nextPixel();\r\n\t\r\n\t hshift = 0;\r\n\t for (fcode = HSIZE; fcode < 65536; fcode *= 2) ++hshift;\r\n\t hshift = 8 - hshift; // set hash code range bound\r\n\t hsize_reg = HSIZE;\r\n\t cl_hash(hsize_reg); // clear hash table\r\n\t\r\n\t output(ClearCode, outs);\r\n\t\r\n\t outer_loop: while ((c = nextPixel()) != EOF) {\r\n\t fcode = (c << BITS) + ent;\r\n\t i = (c << hshift) ^ ent; // xor hashing\r\n\t if (htab[i] === fcode) {\r\n\t ent = codetab[i];\r\n\t continue;\r\n\t } else if (htab[i] >= 0) { // non-empty slot\r\n\t disp = hsize_reg - i; // secondary hash (after G. Knott)\r\n\t if (i === 0) disp = 1;\r\n\t do {\r\n\t if ((i -= disp) < 0) i += hsize_reg;\r\n\t if (htab[i] === fcode) {\r\n\t ent = codetab[i];\r\n\t continue outer_loop;\r\n\t }\r\n\t } while (htab[i] >= 0);\r\n\t }\r\n\t output(ent, outs);\r\n\t ent = c;\r\n\t if (free_ent < 1 << BITS) {\r\n\t codetab[i] = free_ent++; // code -> hashtable\r\n\t htab[i] = fcode;\r\n\t } else {\r\n\t cl_block(outs);\r\n\t }\r\n\t }\r\n\t\r\n\t // Put out the final code.\r\n\t output(ent, outs);\r\n\t output(EOFCode, outs);\r\n\t }\r\n\t\r\n\t function encode(outs) {\r\n\t outs.writeByte(initCodeSize); // write \"initial code size\" byte\r\n\t remaining = width * height; // reset navigation variables\r\n\t curPixel = 0;\r\n\t compress(initCodeSize + 1, outs); // compress and write the pixel data\r\n\t outs.writeByte(0); // write block terminator\r\n\t }\r\n\t\r\n\t // Flush the packet to disk, and reset the accumulator\r\n\t function flush_char(outs) {\r\n\t if (a_count > 0) {\r\n\t outs.writeByte(a_count);\r\n\t outs.writeBytes(accum, 0, a_count);\r\n\t a_count = 0;\r\n\t }\r\n\t }\r\n\t\r\n\t function MAXCODE(n_bits) {\r\n\t return (1 << n_bits) - 1;\r\n\t }\r\n\t\r\n\t // Return the next pixel from the image\r\n\t function nextPixel() {\r\n\t if (remaining === 0) return EOF;\r\n\t --remaining;\r\n\t var pix = pixels[curPixel++];\r\n\t return pix & 0xff;\r\n\t }\r\n\t\r\n\t function output(code, outs) {\r\n\t cur_accum &= masks[cur_bits];\r\n\t\r\n\t if (cur_bits > 0) cur_accum |= (code << cur_bits);\r\n\t else cur_accum = code;\r\n\t\r\n\t cur_bits += n_bits;\r\n\t\r\n\t while (cur_bits >= 8) {\r\n\t char_out((cur_accum & 0xff), outs);\r\n\t cur_accum >>= 8;\r\n\t cur_bits -= 8;\r\n\t }\r\n\t\r\n\t // If the next entry is going to be too big for the code size,\r\n\t // then increase it, if possible.\r\n\t if (free_ent > maxcode || clear_flg) {\r\n\t if (clear_flg) {\r\n\t maxcode = MAXCODE(n_bits = g_init_bits);\r\n\t clear_flg = false;\r\n\t } else {\r\n\t ++n_bits;\r\n\t if (n_bits == BITS) maxcode = 1 << BITS;\r\n\t else maxcode = MAXCODE(n_bits);\r\n\t }\r\n\t }\r\n\t\r\n\t if (code == EOFCode) {\r\n\t // At EOF, write the rest of the buffer.\r\n\t while (cur_bits > 0) {\r\n\t char_out((cur_accum & 0xff), outs);\r\n\t cur_accum >>= 8;\r\n\t cur_bits -= 8;\r\n\t }\r\n\t flush_char(outs);\r\n\t }\r\n\t }\r\n\t\r\n\t this.encode = encode;\r\n\t}\r\n\t\r\n\tmodule.exports = LZWEncoder;\r\n\n\n/***/ }\n/******/ ]);\n\n\n/** WEBPACK FOOTER **\n ** gif.worker.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 111b1cbdbfe2d1566bf3\n **/","GIFEncoder = require './GIFEncoder.js'\r\n\r\nrenderFrame = (frame) ->\r\n encoder = new GIFEncoder frame.width, frame.height\r\n\r\n if frame.index is 0\r\n encoder.writeHeader()\r\n else\r\n encoder.firstFrame = false\r\n\r\n encoder.setTransparent frame.transparent\r\n encoder.setRepeat frame.repeat\r\n encoder.setDelay frame.delay\r\n encoder.setQuality frame.quality\r\n encoder.setDither frame.dither\r\n encoder.setGlobalPalette frame.globalPalette\r\n encoder.addFrame frame.data\r\n encoder.finish() if frame.last\r\n if frame.globalPalette == true\r\n frame.globalPalette = encoder.getGlobalPalette()\r\n\r\n stream = encoder.stream()\r\n frame.data = stream.pages\r\n frame.cursor = stream.cursor\r\n frame.pageSize = stream.constructor.pageSize\r\n\r\n if frame.canTransfer\r\n transfer = (page.buffer for page in frame.data)\r\n self.postMessage frame, transfer\r\n else\r\n self.postMessage frame\r\n\r\nself.onmessage = (event) -> renderFrame event.data\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/gif.worker.coffee\n **/","/*\r\n GIFEncoder.js\r\n\r\n Authors\r\n Kevin Weiner (original Java version - kweiner@fmsware.com)\r\n Thibault Imbert (AS3 version - bytearray.org)\r\n Johan Nordberg (JS version - code@johan-nordberg.com)\r\n*/\r\n\r\nvar NeuQuant = require('./TypedNeuQuant.js');\r\nvar LZWEncoder = require('./LZWEncoder.js');\r\n\r\nfunction ByteArray() {\r\n this.page = -1;\r\n this.pages = [];\r\n this.newPage();\r\n}\r\n\r\nByteArray.pageSize = 4096;\r\nByteArray.charMap = {};\r\n\r\nfor (var i = 0; i < 256; i++)\r\n ByteArray.charMap[i] = String.fromCharCode(i);\r\n\r\nByteArray.prototype.newPage = function() {\r\n this.pages[++this.page] = new Uint8Array(ByteArray.pageSize);\r\n this.cursor = 0;\r\n};\r\n\r\nByteArray.prototype.getData = function() {\r\n var rv = '';\r\n for (var p = 0; p < this.pages.length; p++) {\r\n for (var i = 0; i < ByteArray.pageSize; i++) {\r\n rv += ByteArray.charMap[this.pages[p][i]];\r\n }\r\n }\r\n return rv;\r\n};\r\n\r\nByteArray.prototype.writeByte = function(val) {\r\n if (this.cursor >= ByteArray.pageSize) this.newPage();\r\n this.pages[this.page][this.cursor++] = val;\r\n};\r\n\r\nByteArray.prototype.writeUTFBytes = function(string) {\r\n for (var l = string.length, i = 0; i < l; i++)\r\n this.writeByte(string.charCodeAt(i));\r\n};\r\n\r\nByteArray.prototype.writeBytes = function(array, offset, length) {\r\n for (var l = length || array.length, i = offset || 0; i < l; i++)\r\n this.writeByte(array[i]);\r\n};\r\n\r\nfunction GIFEncoder(width, height) {\r\n // image size\r\n this.width = ~~width;\r\n this.height = ~~height;\r\n\r\n // transparent color if given\r\n this.transparent = null;\r\n\r\n // transparent index in color table\r\n this.transIndex = 0;\r\n\r\n // -1 = no repeat, 0 = forever. anything else is repeat count\r\n this.repeat = -1;\r\n\r\n // frame delay (hundredths)\r\n this.delay = 0;\r\n\r\n this.image = null; // current frame\r\n this.pixels = null; // BGR byte array from frame\r\n this.indexedPixels = null; // converted frame indexed to palette\r\n this.colorDepth = null; // number of bit planes\r\n this.colorTab = null; // RGB palette\r\n this.neuQuant = null; // NeuQuant instance that was used to generate this.colorTab.\r\n this.usedEntry = new Array(); // active palette entries\r\n this.palSize = 7; // color table size (bits-1)\r\n this.dispose = -1; // disposal code (-1 = use default)\r\n this.firstFrame = true;\r\n this.sample = 10; // default sample interval for quantizer\r\n this.dither = false; // default dithering\r\n this.globalPalette = false;\r\n\r\n this.out = new ByteArray();\r\n}\r\n\r\n/*\r\n Sets the delay time between each frame, or changes it for subsequent frames\r\n (applies to last frame added)\r\n*/\r\nGIFEncoder.prototype.setDelay = function(milliseconds) {\r\n this.delay = Math.round(milliseconds / 10);\r\n};\r\n\r\n/*\r\n Sets frame rate in frames per second.\r\n*/\r\nGIFEncoder.prototype.setFrameRate = function(fps) {\r\n this.delay = Math.round(100 / fps);\r\n};\r\n\r\n/*\r\n Sets the GIF frame disposal code for the last added frame and any\r\n subsequent frames.\r\n\r\n Default is 0 if no transparent color has been set, otherwise 2.\r\n*/\r\nGIFEncoder.prototype.setDispose = function(disposalCode) {\r\n if (disposalCode >= 0) this.dispose = disposalCode;\r\n};\r\n\r\n/*\r\n Sets the number of times the set of GIF frames should be played.\r\n\r\n -1 = play once\r\n 0 = repeat indefinitely\r\n\r\n Default is -1\r\n\r\n Must be invoked before the first image is added\r\n*/\r\n\r\nGIFEncoder.prototype.setRepeat = function(repeat) {\r\n this.repeat = repeat;\r\n};\r\n\r\n/*\r\n Sets the transparent color for the last added frame and any subsequent\r\n frames. Since all colors are subject to modification in the quantization\r\n process, the color in the final palette for each frame closest to the given\r\n color becomes the transparent color for that frame. May be set to null to\r\n indicate no transparent color.\r\n*/\r\nGIFEncoder.prototype.setTransparent = function(color) {\r\n this.transparent = color;\r\n};\r\n\r\n/*\r\n Adds next GIF frame. The frame is not written immediately, but is\r\n actually deferred until the next frame is received so that timing\r\n data can be inserted. Invoking finish() flushes all frames.\r\n*/\r\nGIFEncoder.prototype.addFrame = function(imageData) {\r\n this.image = imageData;\r\n\r\n this.colorTab = this.globalPalette && this.globalPalette.slice ? this.globalPalette : null;\r\n\r\n this.getImagePixels(); // convert to correct format if necessary\r\n this.analyzePixels(); // build color table & map pixels\r\n\r\n if (this.globalPalette === true) this.globalPalette = this.colorTab;\r\n\r\n if (this.firstFrame) {\r\n this.writeLSD(); // logical screen descriptior\r\n this.writePalette(); // global color table\r\n if (this.repeat >= 0) {\r\n // use NS app extension to indicate reps\r\n this.writeNetscapeExt();\r\n }\r\n }\r\n\r\n this.writeGraphicCtrlExt(); // write graphic control extension\r\n this.writeImageDesc(); // image descriptor\r\n if (!this.firstFrame && !this.globalPalette) this.writePalette(); // local color table\r\n this.writePixels(); // encode and write pixel data\r\n\r\n this.firstFrame = false;\r\n};\r\n\r\n/*\r\n Adds final trailer to the GIF stream, if you don't call the finish method\r\n the GIF stream will not be valid.\r\n*/\r\nGIFEncoder.prototype.finish = function() {\r\n this.out.writeByte(0x3b); // gif trailer\r\n};\r\n\r\n/*\r\n Sets quality of color quantization (conversion of images to the maximum 256\r\n colors allowed by the GIF specification). Lower values (minimum = 1)\r\n produce better colors, but slow processing significantly. 10 is the\r\n default, and produces good color mapping at reasonable speeds. Values\r\n greater than 20 do not yield significant improvements in speed.\r\n*/\r\nGIFEncoder.prototype.setQuality = function(quality) {\r\n if (quality < 1) quality = 1;\r\n this.sample = quality;\r\n};\r\n\r\n/*\r\n Sets dithering method. Available are:\r\n - FALSE no dithering\r\n - TRUE or FloydSteinberg\r\n - FalseFloydSteinberg\r\n - Stucki\r\n - Atkinson\r\n You can add '-serpentine' to use serpentine scanning\r\n*/\r\nGIFEncoder.prototype.setDither = function(dither) {\r\n if (dither === true) dither = 'FloydSteinberg';\r\n this.dither = dither;\r\n};\r\n\r\n/*\r\n Sets global palette for all frames.\r\n You can provide TRUE to create global palette from first picture.\r\n Or an array of r,g,b,r,g,b,...\r\n*/\r\nGIFEncoder.prototype.setGlobalPalette = function(palette) {\r\n this.globalPalette = palette;\r\n};\r\n\r\n/*\r\n Returns global palette used for all frames.\r\n If setGlobalPalette(true) was used, then this function will return\r\n calculated palette after the first frame is added.\r\n*/\r\nGIFEncoder.prototype.getGlobalPalette = function() {\r\n return (this.globalPalette && this.globalPalette.slice && this.globalPalette.slice(0)) || this.globalPalette;\r\n};\r\n\r\n/*\r\n Writes GIF file header\r\n*/\r\nGIFEncoder.prototype.writeHeader = function() {\r\n this.out.writeUTFBytes(\"GIF89a\");\r\n};\r\n\r\n/*\r\n Analyzes current frame colors and creates color map.\r\n*/\r\nGIFEncoder.prototype.analyzePixels = function() {\r\n if (!this.colorTab) {\r\n this.neuQuant = new NeuQuant(this.pixels, this.sample);\r\n this.neuQuant.buildColormap(); // create reduced palette\r\n this.colorTab = this.neuQuant.getColormap();\r\n }\r\n\r\n // map image pixels to new palette\r\n if (this.dither) {\r\n this.ditherPixels(this.dither.replace('-serpentine', ''), this.dither.match(/-serpentine/) !== null);\r\n } else {\r\n this.indexPixels();\r\n }\r\n\r\n this.pixels = null;\r\n this.colorDepth = 8;\r\n this.palSize = 7;\r\n\r\n // get closest match to transparent color if specified\r\n if (this.transparent !== null) {\r\n this.transIndex = this.findClosest(this.transparent, true);\r\n }\r\n};\r\n\r\n/*\r\n Index pixels, without dithering\r\n This method is most expensive (75% of time) because of calls to findClosestRGB, and findClosestRGB should be optimized.\r\n*/\r\nGIFEncoder.prototype.indexPixels = function() {\r\n var nPix = this.pixels.length / 3;\r\n this.indexedPixels = new Uint8Array(nPix);\r\n var k = 0;\r\n for (var j = 0; j < nPix; j++) {\r\n var index = this.findClosestRGB(\r\n this.pixels[k++] & 0xff,\r\n this.pixels[k++] & 0xff,\r\n this.pixels[k++] & 0xff\r\n );\r\n this.usedEntry[index] = true;\r\n this.indexedPixels[j] = index;\r\n }\r\n};\r\n\r\n/*\r\n Taken from http://jsbin.com/iXofIji/2/edit by PAEz\r\n*/\r\nGIFEncoder.prototype.ditherPixels = function(kernel, serpentine) {\r\n var kernels = {\r\n FalseFloydSteinberg: [\r\n [3 / 8, 1, 0],\r\n [3 / 8, 0, 1],\r\n [2 / 8, 1, 1]\r\n ],\r\n FloydSteinberg: [\r\n [7 / 16, 1, 0],\r\n [3 / 16, -1, 1],\r\n [5 / 16, 0, 1],\r\n [1 / 16, 1, 1]\r\n ],\r\n Stucki: [\r\n [8 / 42, 1, 0],\r\n [4 / 42, 2, 0],\r\n [2 / 42, -2, 1],\r\n [4 / 42, -1, 1],\r\n [8 / 42, 0, 1],\r\n [4 / 42, 1, 1],\r\n [2 / 42, 2, 1],\r\n [1 / 42, -2, 2],\r\n [2 / 42, -1, 2],\r\n [4 / 42, 0, 2],\r\n [2 / 42, 1, 2],\r\n [1 / 42, 2, 2]\r\n ],\r\n Atkinson: [\r\n [1 / 8, 1, 0],\r\n [1 / 8, 2, 0],\r\n [1 / 8, -1, 1],\r\n [1 / 8, 0, 1],\r\n [1 / 8, 1, 1],\r\n [1 / 8, 0, 2]\r\n ]\r\n };\r\n\r\n if (!kernel || !kernels[kernel]) {\r\n throw 'Unknown dithering kernel: ' + kernel;\r\n }\r\n\r\n var ds = kernels[kernel];\r\n var index = 0,\r\n height = this.height,\r\n width = this.width,\r\n data = this.pixels;\r\n var direction = serpentine ? -1 : 1;\r\n\r\n this.indexedPixels = new Uint8Array(this.pixels.length / 3);\r\n\r\n for (var y = 0; y < height; y++) {\r\n\r\n if (serpentine) direction = direction * -1;\r\n\r\n for (var x = (direction == 1 ? 0 : width - 1), xend = (direction == 1 ? width : 0); x !== xend; x += direction) {\r\n\r\n index = (y * width) + x;\r\n // Get original colour\r\n var idx = index * 3;\r\n var r1 = data[idx];\r\n var g1 = data[idx + 1];\r\n var b1 = data[idx + 2];\r\n\r\n // Get converted colour\r\n idx = this.findClosestRGB(r1, g1, b1);\r\n this.usedEntry[idx] = true;\r\n this.indexedPixels[index] = idx;\r\n idx *= 3;\r\n var r2 = this.colorTab[idx];\r\n var g2 = this.colorTab[idx + 1];\r\n var b2 = this.colorTab[idx + 2];\r\n\r\n var er = r1 - r2;\r\n var eg = g1 - g2;\r\n var eb = b1 - b2;\r\n\r\n for (var i = (direction == 1 ? 0: ds.length - 1), end = (direction == 1 ? ds.length : 0); i !== end; i += direction) {\r\n var x1 = ds[i][1]; // *direction; // Should this by timesd by direction?..to make the kernel go in the opposite direction....got no idea....\r\n var y1 = ds[i][2];\r\n if (x1 + x >= 0 && x1 + x < width && y1 + y >= 0 && y1 + y < height) {\r\n var d = ds[i][0];\r\n idx = index + x1 + (y1 * width);\r\n idx *= 3;\r\n\r\n data[idx] = Math.max(0, Math.min(255, data[idx] + er * d));\r\n data[idx + 1] = Math.max(0, Math.min(255, data[idx + 1] + eg * d));\r\n data[idx + 2] = Math.max(0, Math.min(255, data[idx + 2] + eb * d));\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\n/*\r\n Returns index of palette color closest to c\r\n*/\r\nGIFEncoder.prototype.findClosest = function(c, used) {\r\n return this.findClosestRGB((c & 0xFF0000) >> 16, (c & 0x00FF00) >> 8, (c & 0x0000FF), used);\r\n};\r\n\r\n// Should be heavily optimized\r\nGIFEncoder.prototype.findClosestRGB = function(r, g, b, used) {\r\n if (this.colorTab === null) return -1;\r\n\r\n if (this.neuQuant && !used) {\r\n return this.neuQuant.lookupRGB(r, g, b);\r\n }\r\n \r\n var c = b | (g << 8) | (r << 16);\r\n\r\n var minpos = 0;\r\n var dmin = 256 * 256 * 256;\r\n var len = this.colorTab.length;\r\n\r\n for (var i = 0, index = 0; i < len; index++) {\r\n var dr = r - (this.colorTab[i++] & 0xff);\r\n var dg = g - (this.colorTab[i++] & 0xff);\r\n var db = b - (this.colorTab[i++] & 0xff);\r\n var d = dr * dr + dg * dg + db * db;\r\n if ((!used || this.usedEntry[index]) && (d < dmin)) {\r\n dmin = d;\r\n minpos = index;\r\n }\r\n }\r\n\r\n return minpos;\r\n};\r\n\r\n/*\r\n Extracts image pixels into byte array pixels\r\n (removes alphachannel from canvas imagedata)\r\n*/\r\nGIFEncoder.prototype.getImagePixels = function() {\r\n var w = this.width;\r\n var h = this.height;\r\n this.pixels = new Uint8Array(w * h * 3);\r\n\r\n var data = this.image;\r\n var srcPos = 0;\r\n var count = 0;\r\n\r\n for (var i = 0; i < h; i++) {\r\n for (var j = 0; j < w; j++) {\r\n this.pixels[count++] = data[srcPos++];\r\n this.pixels[count++] = data[srcPos++];\r\n this.pixels[count++] = data[srcPos++];\r\n srcPos++;\r\n }\r\n }\r\n};\r\n\r\n/*\r\n Writes Graphic Control Extension\r\n*/\r\nGIFEncoder.prototype.writeGraphicCtrlExt = function() {\r\n this.out.writeByte(0x21); // extension introducer\r\n this.out.writeByte(0xf9); // GCE label\r\n this.out.writeByte(4); // data block size\r\n\r\n var transp, disp;\r\n if (this.transparent === null) {\r\n transp = 0;\r\n disp = 0; // dispose = no action\r\n } else {\r\n transp = 1;\r\n disp = 2; // force clear if using transparent color\r\n }\r\n\r\n if (this.dispose >= 0) {\r\n disp = dispose & 7; // user override\r\n }\r\n disp <<= 2;\r\n\r\n // packed fields\r\n this.out.writeByte(\r\n 0 | // 1:3 reserved\r\n disp | // 4:6 disposal\r\n 0 | // 7 user input - 0 = none\r\n transp // 8 transparency flag\r\n );\r\n\r\n this.writeShort(this.delay); // delay x 1/100 sec\r\n this.out.writeByte(this.transIndex); // transparent color index\r\n this.out.writeByte(0); // block terminator\r\n};\r\n\r\n/*\r\n Writes Image Descriptor\r\n*/\r\nGIFEncoder.prototype.writeImageDesc = function() {\r\n this.out.writeByte(0x2c); // image separator\r\n this.writeShort(0); // image position x,y = 0,0\r\n this.writeShort(0);\r\n this.writeShort(this.width); // image size\r\n this.writeShort(this.height);\r\n\r\n // packed fields\r\n if (this.firstFrame || this.globalPalette) {\r\n // no LCT - GCT is used for first (or only) frame\r\n this.out.writeByte(0);\r\n } else {\r\n // specify normal LCT\r\n this.out.writeByte(\r\n 0x80 | // 1 local color table 1=yes\r\n 0 | // 2 interlace - 0=no\r\n 0 | // 3 sorted - 0=no\r\n 0 | // 4-5 reserved\r\n this.palSize // 6-8 size of color table\r\n );\r\n }\r\n};\r\n\r\n/*\r\n Writes Logical Screen Descriptor\r\n*/\r\nGIFEncoder.prototype.writeLSD = function() {\r\n // logical screen size\r\n this.writeShort(this.width);\r\n this.writeShort(this.height);\r\n\r\n // packed fields\r\n this.out.writeByte(\r\n 0x80 | // 1 : global color table flag = 1 (gct used)\r\n 0x70 | // 2-4 : color resolution = 7\r\n 0x00 | // 5 : gct sort flag = 0\r\n this.palSize // 6-8 : gct size\r\n );\r\n\r\n this.out.writeByte(0); // background color index\r\n this.out.writeByte(0); // pixel aspect ratio - assume 1:1\r\n};\r\n\r\n/*\r\n Writes Netscape application extension to define repeat count.\r\n*/\r\nGIFEncoder.prototype.writeNetscapeExt = function() {\r\n this.out.writeByte(0x21); // extension introducer\r\n this.out.writeByte(0xff); // app extension label\r\n this.out.writeByte(11); // block size\r\n this.out.writeUTFBytes('NETSCAPE2.0'); // app id + auth code\r\n this.out.writeByte(3); // sub-block size\r\n this.out.writeByte(1); // loop sub-block id\r\n this.writeShort(this.repeat); // loop count (extra iterations, 0=repeat forever)\r\n this.out.writeByte(0); // block terminator\r\n};\r\n\r\n/*\r\n Writes color table\r\n*/\r\nGIFEncoder.prototype.writePalette = function() {\r\n this.out.writeBytes(this.colorTab);\r\n var n = (3 * 256) - this.colorTab.length;\r\n for (var i = 0; i < n; i++)\r\n this.out.writeByte(0);\r\n};\r\n\r\nGIFEncoder.prototype.writeShort = function(pValue) {\r\n this.out.writeByte(pValue & 0xFF);\r\n this.out.writeByte((pValue >> 8) & 0xFF);\r\n};\r\n\r\n/*\r\n Encodes and writes pixel data\r\n*/\r\nGIFEncoder.prototype.writePixels = function() {\r\n var enc = new LZWEncoder(this.width, this.height, this.indexedPixels, this.colorDepth);\r\n enc.encode(this.out);\r\n};\r\n\r\n/*\r\n Retrieves the GIF stream\r\n*/\r\nGIFEncoder.prototype.stream = function() {\r\n return this.out;\r\n};\r\n\r\nmodule.exports = GIFEncoder;\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/GIFEncoder.js\n ** module id = 1\n ** module chunks = 0\n **/","/* NeuQuant Neural-Net Quantization Algorithm\r\n * ------------------------------------------\r\n *\r\n * Copyright (c) 1994 Anthony Dekker\r\n *\r\n * NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994.\r\n * See \"Kohonen neural networks for optimal colour quantization\"\r\n * in \"Network: Computation in Neural Systems\" Vol. 5 (1994) pp 351-367.\r\n * for a discussion of the algorithm.\r\n * See also http://members.ozemail.com.au/~dekker/NEUQUANT.HTML\r\n *\r\n * Any party obtaining a copy of these files from the author, directly or\r\n * indirectly, is granted, free of charge, a full and unrestricted irrevocable,\r\n * world-wide, paid up, royalty-free, nonexclusive right and license to deal\r\n * in this software and documentation files (the \"Software\"), including without\r\n * limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\r\n * and/or sell copies of the Software, and to permit persons who receive\r\n * copies from any such party to do so, with the only requirement being\r\n * that this copyright notice remain intact.\r\n *\r\n * (JavaScript port 2012 by Johan Nordberg)\r\n *\r\n * Micro-optimization\r\n * Roman Viskin (npm@terikon.com)\r\n */\r\n\r\nvar ncycles = 100; // number of learning cycles\r\nvar netsize = 256; // number of colors used\r\nvar maxnetpos = netsize - 1;\r\n\r\n// defs for freq and bias\r\nvar netbiasshift = 4; // bias for colour values\r\nvar intbiasshift = 16; // bias for fractions\r\nvar intbias = (1 << intbiasshift);\r\nvar gammashift = 10;\r\nvar gamma = (1 << gammashift);\r\nvar betashift = 10;\r\nvar beta = (intbias >> betashift); /* beta = 1/1024 */\r\nvar betagamma = (intbias << (gammashift - betashift));\r\n\r\n// defs for decreasing radius factor\r\nvar initrad = (netsize >> 3); // for 256 cols, radius starts\r\nvar radiusbiasshift = 6; // at 32.0 biased by 6 bits\r\nvar radiusbias = (1 << radiusbiasshift);\r\nvar initradius = (initrad * radiusbias); //and decreases by a\r\nvar radiusdec = 30; // factor of 1/30 each cycle\r\n\r\n// defs for decreasing alpha factor\r\nvar alphabiasshift = 10; // alpha starts at 1.0\r\nvar initalpha = (1 << alphabiasshift);\r\nvar alphadec; // biased by 10 bits\r\n\r\n/* radbias and alpharadbias used for radpower calculation */\r\nvar radbiasshift = 8;\r\nvar radbias = (1 << radbiasshift);\r\nvar alpharadbshift = (alphabiasshift + radbiasshift);\r\nvar alpharadbias = (1 << alpharadbshift);\r\n\r\n// four primes near 500 - assume no image has a length so large that it is\r\n// divisible by all four primes\r\nvar prime1 = 499;\r\nvar prime2 = 491;\r\nvar prime3 = 487;\r\nvar prime4 = 503;\r\nvar minpicturebytes = (3 * prime4);\r\n\r\n/*\r\n Constructor: NeuQuant\r\n\r\n Arguments:\r\n\r\n pixels - array of pixels in RGB format\r\n samplefac - sampling factor 1 to 30 where lower is better quality\r\n\r\n >\r\n > pixels = [r, g, b, r, g, b, r, g, b, ..]\r\n >\r\n*/\r\nfunction NeuQuant(pixels, samplefac) {\r\n var network; // int[netsize][4]\r\n var netindex; // for network lookup - really 256\r\n\r\n // bias and freq arrays for learning\r\n var bias;\r\n var freq;\r\n var radpower;\r\n\r\n /*\r\n Private Method: init\r\n\r\n sets up arrays\r\n */\r\n function init() {\r\n network = [];\r\n netindex = new Int32Array(256);\r\n bias = new Int32Array(netsize);\r\n freq = new Int32Array(netsize);\r\n radpower = new Int32Array(netsize >> 3);\r\n\r\n var i, v;\r\n for (i = 0; i < netsize; i++) {\r\n v = (i << (netbiasshift + 8)) / netsize;\r\n network[i] = new Float64Array([v, v, v, 0]);\r\n //network[i] = [v, v, v, 0]\r\n freq[i] = intbias / netsize;\r\n bias[i] = 0;\r\n }\r\n }\r\n\r\n /*\r\n Private Method: unbiasnet\r\n\r\n unbiases network to give byte values 0..255 and record position i to prepare for sort\r\n */\r\n function unbiasnet() {\r\n for (var i = 0; i < netsize; i++) {\r\n network[i][0] >>= netbiasshift;\r\n network[i][1] >>= netbiasshift;\r\n network[i][2] >>= netbiasshift;\r\n network[i][3] = i; // record color number\r\n }\r\n }\r\n\r\n /*\r\n Private Method: altersingle\r\n\r\n moves neuron *i* towards biased (b,g,r) by factor *alpha*\r\n */\r\n function altersingle(alpha, i, b, g, r) {\r\n network[i][0] -= (alpha * (network[i][0] - b)) / initalpha;\r\n network[i][1] -= (alpha * (network[i][1] - g)) / initalpha;\r\n network[i][2] -= (alpha * (network[i][2] - r)) / initalpha;\r\n }\r\n\r\n /*\r\n Private Method: alterneigh\r\n\r\n moves neurons in *radius* around index *i* towards biased (b,g,r) by factor *alpha*\r\n */\r\n function alterneigh(radius, i, b, g, r) {\r\n var lo = Math.abs(i - radius);\r\n var hi = Math.min(i + radius, netsize);\r\n\r\n var j = i + 1;\r\n var k = i - 1;\r\n var m = 1;\r\n\r\n var p, a;\r\n while ((j < hi) || (k > lo)) {\r\n a = radpower[m++];\r\n\r\n if (j < hi) {\r\n p = network[j++];\r\n p[0] -= (a * (p[0] - b)) / alpharadbias;\r\n p[1] -= (a * (p[1] - g)) / alpharadbias;\r\n p[2] -= (a * (p[2] - r)) / alpharadbias;\r\n }\r\n\r\n if (k > lo) {\r\n p = network[k--];\r\n p[0] -= (a * (p[0] - b)) / alpharadbias;\r\n p[1] -= (a * (p[1] - g)) / alpharadbias;\r\n p[2] -= (a * (p[2] - r)) / alpharadbias;\r\n }\r\n }\r\n }\r\n\r\n /*\r\n Private Method: contest\r\n\r\n searches for biased BGR values\r\n should be heavily optimized\r\n */\r\n function contest(b, g, r) {\r\n /*\r\n finds closest neuron (min dist) and updates freq\r\n finds best neuron (min dist-bias) and returns position\r\n for frequently chosen neurons, freq[i] is high and bias[i] is negative\r\n bias[i] = gamma * ((1 / netsize) - freq[i])\r\n */\r\n\r\n b = b | 0;\r\n g = g | 0;\r\n r = r | 0;\r\n\r\n var bestd = ~(1 << 31);\r\n var bestbiasd = bestd;\r\n var bestpos = -1;\r\n var bestbiaspos = bestpos;\r\n\r\n var i, n, dist, biasdist, betafreq;\r\n for (i = 0; i < netsize; i++) {\r\n n = network[i];\r\n\r\n dist = (Math.abs((n[0] | 0) - b) + Math.abs((n[1] | 0) - g) + Math.abs((n[2] | 0) - r)) | 0;\r\n if (dist < bestd) {\r\n bestd = dist;\r\n bestpos = i;\r\n }\r\n\r\n biasdist = dist - ((bias[i] | 0) >> (intbiasshift - netbiasshift));\r\n if (biasdist < bestbiasd) {\r\n bestbiasd = biasdist;\r\n bestbiaspos = i;\r\n }\r\n\r\n betafreq = (freq[i] >> betashift);\r\n freq[i] -= betafreq;\r\n bias[i] += (betafreq << gammashift);\r\n }\r\n\r\n freq[bestpos] += beta;\r\n bias[bestpos] -= betagamma;\r\n\r\n return bestbiaspos;\r\n }\r\n\r\n /*\r\n Private Method: inxbuild\r\n\r\n sorts network and builds netindex[0..255]\r\n */\r\n function inxbuild() {\r\n var i, j, p, q, smallpos, smallval, previouscol = 0, startpos = 0;\r\n for (i = 0; i < netsize; i++) {\r\n p = network[i];\r\n smallpos = i;\r\n smallval = p[1]; // index on g\r\n // find smallest in i..netsize-1\r\n for (j = i + 1; j < netsize; j++) {\r\n q = network[j];\r\n if (q[1] < smallval) { // index on g\r\n smallpos = j;\r\n smallval = q[1]; // index on g\r\n }\r\n }\r\n q = network[smallpos];\r\n // swap p (i) and q (smallpos) entries\r\n if (i != smallpos) {\r\n j = q[0]; q[0] = p[0]; p[0] = j;\r\n j = q[1]; q[1] = p[1]; p[1] = j;\r\n j = q[2]; q[2] = p[2]; p[2] = j;\r\n j = q[3]; q[3] = p[3]; p[3] = j;\r\n }\r\n // smallval entry is now in position i\r\n\r\n if (smallval != previouscol) {\r\n netindex[previouscol] = (startpos + i) >> 1;\r\n for (j = previouscol + 1; j < smallval; j++)\r\n netindex[j] = i;\r\n previouscol = smallval;\r\n startpos = i;\r\n }\r\n }\r\n netindex[previouscol] = (startpos + maxnetpos) >> 1;\r\n for (j = previouscol + 1; j < 256; j++)\r\n netindex[j] = maxnetpos; // really 256\r\n }\r\n\r\n /*\r\n Private Method: inxsearch\r\n\r\n searches for BGR values 0..255 and returns a color index\r\n should be heavily optimized\r\n */\r\n function inxsearch(b, g, r) {\r\n\r\n b = b | 0;\r\n g = g | 0;\r\n r = r | 0;\r\n\r\n var a, p, dist;\r\n\r\n var bestd = 1000; // biggest possible dist is 256*3\r\n var best = -1;\r\n\r\n var i = netindex[g] | 0; // index on g\r\n var j = i - 1; // start at netindex[g] and work outwards\r\n\r\n while ((i < netsize) || (j >= 0)) {\r\n if (i < netsize) {\r\n p = network[i];\r\n dist = (p[1] | 0) - g; // inx key\r\n if (dist >= bestd) i = netsize; // stop iter\r\n else {\r\n i++;\r\n if (dist < 0) dist = -dist;\r\n a = (p[0] | 0) - b; if (a < 0) a = -a;\r\n dist += a;\r\n if (dist < bestd) {\r\n a = (p[2] | 0) - r; if (a < 0) a = -a;\r\n dist += a;\r\n if (dist < bestd) {\r\n bestd = dist;\r\n best = p[3] | 0;\r\n }\r\n }\r\n }\r\n }\r\n if (j >= 0) {\r\n p = network[j];\r\n dist = g - (p[1] | 0); // inx key - reverse dif\r\n if (dist >= bestd) j = -1; // stop iter\r\n else {\r\n j--;\r\n if (dist < 0) dist = -dist;\r\n a = (p[0] | 0) - b; if (a < 0) a = -a;\r\n dist += a;\r\n if (dist < bestd) {\r\n a = (p[2] | 0) - r; if (a < 0) a = -a;\r\n dist += a;\r\n if (dist < bestd) {\r\n bestd = dist;\r\n best = p[3] | 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return best;\r\n }\r\n\r\n /*\r\n Private Method: learn\r\n\r\n \"Main Learning Loop\"\r\n */\r\n function learn() {\r\n var i;\r\n\r\n var lengthcount = pixels.length;\r\n var alphadec = 30 + ((samplefac - 1) / 3);\r\n var samplepixels = lengthcount / (3 * samplefac);\r\n var delta = ~~(samplepixels / ncycles);\r\n var alpha = initalpha;\r\n var radius = initradius;\r\n\r\n var rad = radius >> radiusbiasshift;\r\n\r\n if (rad <= 1) rad = 0;\r\n for (i = 0; i < rad; i++)\r\n radpower[i] = alpha * (((rad * rad - i * i) * radbias) / (rad * rad));\r\n\r\n var step;\r\n if (lengthcount < minpicturebytes) {\r\n samplefac = 1;\r\n step = 3;\r\n } else if ((lengthcount % prime1) !== 0) {\r\n step = 3 * prime1;\r\n } else if ((lengthcount % prime2) !== 0) {\r\n step = 3 * prime2;\r\n } else if ((lengthcount % prime3) !== 0) {\r\n step = 3 * prime3;\r\n } else {\r\n step = 3 * prime4;\r\n }\r\n\r\n var b, g, r, j;\r\n var pix = 0; // current pixel\r\n\r\n i = 0;\r\n while (i < samplepixels) {\r\n b = (pixels[pix] & 0xff) << netbiasshift;\r\n g = (pixels[pix + 1] & 0xff) << netbiasshift;\r\n r = (pixels[pix + 2] & 0xff) << netbiasshift;\r\n\r\n j = contest(b, g, r);\r\n\r\n altersingle(alpha, j, b, g, r);\r\n if (rad !== 0) alterneigh(rad, j, b, g, r); // alter neighbours\r\n\r\n pix += step;\r\n if (pix >= lengthcount) pix -= lengthcount;\r\n\r\n i++;\r\n\r\n if (delta === 0) delta = 1;\r\n if (i % delta === 0) {\r\n alpha -= alpha / alphadec;\r\n radius -= radius / radiusdec;\r\n rad = radius >> radiusbiasshift;\r\n\r\n if (rad <= 1) rad = 0;\r\n for (j = 0; j < rad; j++)\r\n radpower[j] = alpha * (((rad * rad - j * j) * radbias) / (rad * rad));\r\n }\r\n }\r\n }\r\n\r\n /*\r\n Method: buildColormap\r\n\r\n 1. initializes network\r\n 2. trains it\r\n 3. removes misconceptions\r\n 4. builds colorindex\r\n */\r\n function buildColormap() {\r\n init();\r\n learn();\r\n unbiasnet();\r\n inxbuild();\r\n }\r\n this.buildColormap = buildColormap;\r\n\r\n /*\r\n Method: getColormap\r\n\r\n builds colormap from the index\r\n\r\n returns array in the format:\r\n\r\n >\r\n > [r, g, b, r, g, b, r, g, b, ..]\r\n >\r\n */\r\n function getColormap() {\r\n var map = [];\r\n var index = [];\r\n\r\n for (var i = 0; i < netsize; i++)\r\n index[network[i][3]] = i;\r\n\r\n var k = 0;\r\n for (var l = 0; l < netsize; l++) {\r\n var j = index[l];\r\n map[k++] = (network[j][0]);\r\n map[k++] = (network[j][1]);\r\n map[k++] = (network[j][2]);\r\n }\r\n return map;\r\n }\r\n this.getColormap = getColormap;\r\n\r\n /*\r\n Method: lookupRGB\r\n\r\n looks for the closest *r*, *g*, *b* color in the map and\r\n returns its index\r\n */\r\n this.lookupRGB = inxsearch;\r\n}\r\n\r\nmodule.exports = NeuQuant;\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/TypedNeuQuant.js\n ** module id = 2\n ** module chunks = 0\n **/","/*\r\n LZWEncoder.js\r\n\r\n Authors\r\n Kevin Weiner (original Java version - kweiner@fmsware.com)\r\n Thibault Imbert (AS3 version - bytearray.org)\r\n Johan Nordberg (JS version - code@johan-nordberg.com)\r\n\r\n Acknowledgements\r\n GIFCOMPR.C - GIF Image compression routines\r\n Lempel-Ziv compression based on 'compress'. GIF modifications by\r\n David Rowley (mgardi@watdcsu.waterloo.edu)\r\n GIF Image compression - modified 'compress'\r\n Based on: compress.c - File compression ala IEEE Computer, June 1984.\r\n By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)\r\n Jim McKie (decvax!mcvax!jim)\r\n Steve Davies (decvax!vax135!petsd!peora!srd)\r\n Ken Turkowski (decvax!decwrl!turtlevax!ken)\r\n James A. Woods (decvax!ihnp4!ames!jaw)\r\n Joe Orost (decvax!vax135!petsd!joe)\r\n*/\r\n\r\nvar EOF = -1;\r\nvar BITS = 12;\r\nvar HSIZE = 5003; // 80% occupancy\r\nvar masks = [0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F,\r\n 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF,\r\n 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF];\r\n\r\nfunction LZWEncoder(width, height, pixels, colorDepth) {\r\n var initCodeSize = Math.max(2, colorDepth);\r\n\r\n var accum = new Uint8Array(256);\r\n var htab = new Int32Array(HSIZE);\r\n var codetab = new Int32Array(HSIZE);\r\n\r\n var cur_accum, cur_bits = 0;\r\n var a_count;\r\n var free_ent = 0; // first unused entry\r\n var maxcode;\r\n\r\n // block compression parameters -- after all codes are used up,\r\n // and compression rate changes, start over.\r\n var clear_flg = false;\r\n\r\n // Algorithm: use open addressing double hashing (no chaining) on the\r\n // prefix code / next character combination. We do a variant of Knuth's\r\n // algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime\r\n // secondary probe. Here, the modular division first probe is gives way\r\n // to a faster exclusive-or manipulation. Also do block compression with\r\n // an adaptive reset, whereby the code table is cleared when the compression\r\n // ratio decreases, but after the table fills. The variable-length output\r\n // codes are re-sized at this point, and a special CLEAR code is generated\r\n // for the decompressor. Late addition: construct the table according to\r\n // file size for noticeable speed improvement on small files. Please direct\r\n // questions about this implementation to ames!jaw.\r\n var g_init_bits, ClearCode, EOFCode;\r\n\r\n // Add a character to the end of the current packet, and if it is 254\r\n // characters, flush the packet to disk.\r\n function char_out(c, outs) {\r\n accum[a_count++] = c;\r\n if (a_count >= 254) flush_char(outs);\r\n }\r\n\r\n // Clear out the hash table\r\n // table clear for block compress\r\n function cl_block(outs) {\r\n cl_hash(HSIZE);\r\n free_ent = ClearCode + 2;\r\n clear_flg = true;\r\n output(ClearCode, outs);\r\n }\r\n\r\n // Reset code table\r\n function cl_hash(hsize) {\r\n for (var i = 0; i < hsize; ++i) htab[i] = -1;\r\n }\r\n\r\n function compress(init_bits, outs) {\r\n var fcode, c, i, ent, disp, hsize_reg, hshift;\r\n\r\n // Set up the globals: g_init_bits - initial number of bits\r\n g_init_bits = init_bits;\r\n\r\n // Set up the necessary values\r\n clear_flg = false;\r\n n_bits = g_init_bits;\r\n maxcode = MAXCODE(n_bits);\r\n\r\n ClearCode = 1 << (init_bits - 1);\r\n EOFCode = ClearCode + 1;\r\n free_ent = ClearCode + 2;\r\n\r\n a_count = 0; // clear packet\r\n\r\n ent = nextPixel();\r\n\r\n hshift = 0;\r\n for (fcode = HSIZE; fcode < 65536; fcode *= 2) ++hshift;\r\n hshift = 8 - hshift; // set hash code range bound\r\n hsize_reg = HSIZE;\r\n cl_hash(hsize_reg); // clear hash table\r\n\r\n output(ClearCode, outs);\r\n\r\n outer_loop: while ((c = nextPixel()) != EOF) {\r\n fcode = (c << BITS) + ent;\r\n i = (c << hshift) ^ ent; // xor hashing\r\n if (htab[i] === fcode) {\r\n ent = codetab[i];\r\n continue;\r\n } else if (htab[i] >= 0) { // non-empty slot\r\n disp = hsize_reg - i; // secondary hash (after G. Knott)\r\n if (i === 0) disp = 1;\r\n do {\r\n if ((i -= disp) < 0) i += hsize_reg;\r\n if (htab[i] === fcode) {\r\n ent = codetab[i];\r\n continue outer_loop;\r\n }\r\n } while (htab[i] >= 0);\r\n }\r\n output(ent, outs);\r\n ent = c;\r\n if (free_ent < 1 << BITS) {\r\n codetab[i] = free_ent++; // code -> hashtable\r\n htab[i] = fcode;\r\n } else {\r\n cl_block(outs);\r\n }\r\n }\r\n\r\n // Put out the final code.\r\n output(ent, outs);\r\n output(EOFCode, outs);\r\n }\r\n\r\n function encode(outs) {\r\n outs.writeByte(initCodeSize); // write \"initial code size\" byte\r\n remaining = width * height; // reset navigation variables\r\n curPixel = 0;\r\n compress(initCodeSize + 1, outs); // compress and write the pixel data\r\n outs.writeByte(0); // write block terminator\r\n }\r\n\r\n // Flush the packet to disk, and reset the accumulator\r\n function flush_char(outs) {\r\n if (a_count > 0) {\r\n outs.writeByte(a_count);\r\n outs.writeBytes(accum, 0, a_count);\r\n a_count = 0;\r\n }\r\n }\r\n\r\n function MAXCODE(n_bits) {\r\n return (1 << n_bits) - 1;\r\n }\r\n\r\n // Return the next pixel from the image\r\n function nextPixel() {\r\n if (remaining === 0) return EOF;\r\n --remaining;\r\n var pix = pixels[curPixel++];\r\n return pix & 0xff;\r\n }\r\n\r\n function output(code, outs) {\r\n cur_accum &= masks[cur_bits];\r\n\r\n if (cur_bits > 0) cur_accum |= (code << cur_bits);\r\n else cur_accum = code;\r\n\r\n cur_bits += n_bits;\r\n\r\n while (cur_bits >= 8) {\r\n char_out((cur_accum & 0xff), outs);\r\n cur_accum >>= 8;\r\n cur_bits -= 8;\r\n }\r\n\r\n // If the next entry is going to be too big for the code size,\r\n // then increase it, if possible.\r\n if (free_ent > maxcode || clear_flg) {\r\n if (clear_flg) {\r\n maxcode = MAXCODE(n_bits = g_init_bits);\r\n clear_flg = false;\r\n } else {\r\n ++n_bits;\r\n if (n_bits == BITS) maxcode = 1 << BITS;\r\n else maxcode = MAXCODE(n_bits);\r\n }\r\n }\r\n\r\n if (code == EOFCode) {\r\n // At EOF, write the rest of the buffer.\r\n while (cur_bits > 0) {\r\n char_out((cur_accum & 0xff), outs);\r\n cur_accum >>= 8;\r\n cur_bits -= 8;\r\n }\r\n flush_char(outs);\r\n }\r\n }\r\n\r\n this.encode = encode;\r\n}\r\n\r\nmodule.exports = LZWEncoder;\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/LZWEncoder.js\n ** module id = 3\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/src/js/modules/file/save.js b/src/js/modules/file/save.js index a7f9c31..6fb0064 100644 --- a/src/js/modules/file/save.js +++ b/src/js/modules/file/save.js @@ -5,8 +5,8 @@ import Helper_class from './../../libs/helpers.js'; import Dialog_class from './../../libs/popup.js'; import alertify from './../../../../node_modules/alertifyjs/build/alertify.min.js'; import canvasToBlob from './../../../../node_modules/blueimp-canvas-to-blob/js/canvas-to-blob.min.js'; -import filesaver from './../../../../node_modules/file-saver/FileSaver.min.js'; -import GIF from './../../libs/gifjs/gif.js'; +import filesaver from './../../../../node_modules/file-saver/dist/FileSaver.min.js'; +import GIF from './../../../../node_modules/gif.js.optimized/'; import CanvasToTIFF from './../../libs/canvastotiff.js'; var instance = null; @@ -307,7 +307,7 @@ class File_save_class { return; } - if (type != 'JSON' && type != 'GIF') { + if (type != 'JSON') { //create temp canvas var canvas = document.createElement('canvas'); var ctx = canvas.getContext("2d"); @@ -593,7 +593,7 @@ class File_save_class { width: config.WIDTH, height: config.HEIGHT, dither: 'FloydSteinberg-serpentine', - workerScript: './src/js/libs/gifjs/gif.worker.js', + workerScript: './../../../../node_modules/gif.js.optimized/dist/gif.worker.js', }; if (config.TRANSPARENCY == true) { gif_settings.transparent = 'rgba(0,0,0,0)'; diff --git a/webpack.config.js b/webpack.config.js index df66b51..0b65d88 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,7 +3,6 @@ var path = require('path'); module.exports = { entry: [ - 'babel-polyfill', './src/js/main.js', ], output: { @@ -32,12 +31,7 @@ module.exports = { { test: /\.js$/, exclude: /(node_modules|bower_components)/, - use: { - loader: 'babel-loader', - options: { - presets: ['env'] - } - } + use: ['babel-loader'] }, ] },