From 2d11a0e089477462d010baa53ad9b9901cfe086c Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Mon, 26 Feb 2024 18:21:34 -0800 Subject: [PATCH 1/4] Parse sequences in Rust/wasm --- package-lock.json | 4522 +++++++++++++++++-------------------- package.json | 19 +- src/custom.d.ts | 23 - src/fasta-parser/index.js | 53 - src/index.ts | 2 +- src/peek-stream/index.js | 78 - src/sketcher.worker.ts | 159 +- 7 files changed, 2179 insertions(+), 2677 deletions(-) delete mode 100644 src/fasta-parser/index.js delete mode 100644 src/peek-stream/index.js diff --git a/package-lock.json b/package-lock.json index e749503..ee72335 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,34 +1,23 @@ { "name": "mgnify-sourmash-component", - "version": "0.2.4", + "version": "0.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mgnify-sourmash-component", - "version": "0.2.3", + "version": "0.3.0", "license": "ISC", "dependencies": { "bl": "5.0.0", - "buffer": "6.0.3", - "buffer-from": "1.1.2", - "duplexify": "4.1.2", - "fastqstream": "0.1.0", - "filestream": "5.0.0", "lit": "2.0.0-rc.2", "lit-css-loader": "1.0.1", "process": "0.11.10", - "pumpify": "2.0.1", - "sourmash": "0.11.0", - "split": "1.0.1", - "stream": "0.0.2", - "through2": "4.0.2", + "sourmash": "file:./pkg", "util": "0.12.4", "worker-loader": "3.0.8" }, "devDependencies": { - "@types/pumpify": "1.4.1", - "@types/through2": "2.0.36", "@typescript-eslint/eslint-plugin": "4.31.0", "@typescript-eslint/parser": "4.31.0", "eslint": "7.32.0", @@ -40,11 +29,17 @@ "prettier": "2.4.0", "ts-loader": "9.2.5", "typescript": "4.4.2", - "webpack": "5.52.1", + "webpack": "^5.90.3", "webpack-cli": "4.8.0", - "webpack-dev-server": "4.2.0" + "webpack-dev-server": "^4.15.1" } }, + "../sm_worktrees/wasm_needletail/pkg": { + "name": "sourmash", + "version": "0.13.0", + "extraneous": true, + "license": "BSD-3-Clause" + }, "node_modules/@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", @@ -158,6 +153,64 @@ "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", + "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", + "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, "node_modules/@lit/reactive-element": { "version": "1.0.0-rc.2", "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.0.0-rc.2.tgz", @@ -207,37 +260,90 @@ "uglifycss": "^0.0.29" } }, - "node_modules/@types/duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==", + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dev": true, "dependencies": { + "@types/express-serve-static-core": "*", "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "version": "8.56.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz", + "integrity": "sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } }, "node_modules/@types/html-minifier-terser": { "version": "5.1.2", @@ -245,19 +351,25 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", "dev": true }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, "node_modules/@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -265,31 +377,78 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, "node_modules/@types/node": { "version": "16.7.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==" }, - "node_modules/@types/pumpify": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@types/pumpify/-/pumpify-1.4.1.tgz", - "integrity": "sha512-l7u/Dnh1OG9T7VH6TvulR0g8oE8hgIW5409mSUKi8Vxw2+JV18aTa06Sv5bvNjrD0zbsB/cuZ/iTFQgFNfzIuw==", + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dev": true, "dependencies": { - "@types/duplexify": "*", "@types/node": "*" } }, + "node_modules/@types/qs": { + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, "node_modules/@types/retry": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, - "node_modules/@types/through2": { - "version": "2.0.36", - "resolved": "https://registry.npmjs.org/@types/through2/-/through2-2.0.36.tgz", - "integrity": "sha512-vuifQksQHJXhV9McpVsXKuhnf3lsoX70PnhcqIAbs9dqLH2NgrGz0DzZPDY3+Yh6eaRqcE1gnCQ6QhBn1/PT5A==", + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dev": true, "dependencies": { "@types/node": "*" @@ -300,6 +459,15 @@ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz", "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==" }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "4.31.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz", @@ -457,133 +625,133 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, @@ -634,22 +802,22 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" } }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -658,9 +826,9 @@ } }, "node_modules/acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "peerDependencies": { "acorn": "^8" } @@ -674,19 +842,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -702,6 +857,45 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -732,9 +926,9 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" @@ -753,9 +947,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -775,9 +969,9 @@ } }, "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "node_modules/array-includes": { @@ -834,15 +1028,6 @@ "node": ">=8" } }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", @@ -913,30 +1098,33 @@ } }, "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "dependencies": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "engines": { "node": ">= 0.8" @@ -951,24 +1139,29 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", "dev": true, "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, "node_modules/boolbase": { @@ -1000,32 +1193,36 @@ } }, "node_modules/browserslist": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", - "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001254", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.830", - "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, - "node_modules/browserslist/node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -1054,12 +1251,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -1070,12 +1261,18 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1107,13 +1304,23 @@ "dev": true }, "node_modules/caniuse-lite": { - "version": "1.0.30001255", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz", - "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "version": "1.0.30001589", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", + "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, "node_modules/chalk": { "version": "4.1.1", @@ -1186,9 +1393,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "dependencies": { "anymatch": "~3.1.2", @@ -1202,6 +1409,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -1226,15 +1436,6 @@ "node": ">= 4.0" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -1331,39 +1532,59 @@ "dev": true }, "node_modules/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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, "engines": { "node": ">=0.8" } }, "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" }, "engines": { "node": ">= 0.6" } }, + "node_modules/content-disposition/node_modules/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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "engines": { "node": ">= 0.6" @@ -1372,13 +1593,14 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -1439,23 +1661,6 @@ } } }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -1474,6 +1679,22 @@ "node": ">= 10" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -1494,43 +1715,25 @@ "node": ">= 0.4" } }, - "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -1549,29 +1752,16 @@ "node": ">=8" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dev": true, "dependencies": { - "buffer-indexof": "^1.0.0" + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, "node_modules/doctrine": { @@ -1666,72 +1856,16 @@ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, - "node_modules/duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/duplexify/node_modules/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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.3.835", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.835.tgz", - "integrity": "sha512-rHQszGg2KLMqOWPNTpwCnlp7Kb85haJa8j089DJCreZueykoSN/in+EMlay3SSDMNKR4VGPvfskxofHV18xVJg==" - }, - "node_modules/emitter-component": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz", - "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY=" + "version": "1.4.681", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.681.tgz", + "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -1750,24 +1884,16 @@ "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "engines": { "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -1847,10 +1973,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" }, "node_modules/es-to-primitive": { "version": "1.2.1", @@ -1869,9 +2014,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -2087,9 +2232,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -2223,6 +2368,18 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", @@ -2305,7 +2462,7 @@ "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "engines": { "node": ">= 0.6" @@ -2349,38 +2506,39 @@ } }, "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "dependencies": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -2389,12 +2547,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -2404,12 +2556,50 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/express/node_modules/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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2463,41 +2653,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fastqstream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fastqstream/-/fastqstream-0.1.0.tgz", - "integrity": "sha512-PxyRQXsWJ3Nww2FSri/iISfYR/cza9i7hWZVx/W6i0A/Nal7vU89nY8OqOgpY3ZPsRQMDkhMG1DYsLffKMZpkg==", - "dependencies": { - "readable-stream": "^2.3.3" - } - }, - "node_modules/fastqstream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/fastqstream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fastqstream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", @@ -2522,55 +2677,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/filestream": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/filestream/-/filestream-5.0.0.tgz", - "integrity": "sha512-5H3RqSaJp12THfZiNWodYM7TiKfQvrpX+EIOrB1XvCceTys4yvfEIl8wDp+/yI8qj6Bxym8m0NYWwVXDAet/+A==", - "dependencies": { - "readable-stream": "^3.4.0", - "typedarray-to-buffer": "^3.0.0" - } - }, - "node_modules/filestream/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/filestream/node_modules/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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/filestream/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -2584,17 +2690,17 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -2613,9 +2719,18 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -2648,9 +2763,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz", - "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true, "funding": [ { @@ -2684,16 +2799,16 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "node_modules/fs.realpath": { @@ -2703,9 +2818,9 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -2717,9 +2832,12 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/functional-red-black-tree": { "version": "1.0.1", @@ -2728,13 +2846,18 @@ "dev": true }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2824,10 +2947,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/handle-thing": { "version": "2.0.1", @@ -2863,10 +2997,21 @@ "node": ">=4" } }, - "node_modules/has-symbols": { + "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -2874,14 +3019,36 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } }, "node_modules/hosted-git-info": { "version": "2.8.9", @@ -3007,31 +3174,43 @@ "dev": true }, "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", "dev": true }, "node_modules/http-proxy": { @@ -3049,12 +3228,12 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, "dependencies": { - "@types/http-proxy": "^1.17.5", + "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", @@ -3062,6 +3241,14 @@ }, "engines": { "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, "node_modules/human-signals": { @@ -3236,15 +3423,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3260,33 +3438,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/internal-ip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", - "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", - "dev": true, - "dependencies": { - "default-gateway": "^6.0.0", - "ipaddr.js": "^1.9.1", - "is-ip": "^3.1.0", - "p-event": "^4.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" - } - }, - "node_modules/internal-ip/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -3296,21 +3447,6 @@ "node": ">= 0.10" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -3464,18 +3600,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dev": true, - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -3507,24 +3631,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -3619,11 +3725,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -3652,9 +3753,9 @@ } }, "node_modules/jest-worker": { - "version": "27.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.1.tgz", - "integrity": "sha512-XJKCL7tu+362IUYTWvw8+3S75U7qMiYiRU6u5yqscB48bTvzwN6i8L/7wVTXiFLwkRsxARNM7TISnTvcgv9hxA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -3708,7 +3809,13 @@ "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -3722,12 +3829,9 @@ "dev": true }, "node_modules/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==", - "dependencies": { - "minimist": "^1.2.5" - }, + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -3744,6 +3848,16 @@ "node": ">=0.10.0" } }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3817,9 +3931,9 @@ } }, "node_modules/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==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -3896,19 +4010,19 @@ "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", - "integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "dependencies": { - "fs-monkey": "1.0.3" + "fs-monkey": "^1.0.4" }, "engines": { "node": ">= 4.0.0" @@ -3917,7 +4031,7 @@ "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "node_modules/merge-stream": { @@ -3937,7 +4051,7 @@ "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "engines": { "node": ">= 0.6" @@ -3969,19 +4083,19 @@ } }, "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -4003,9 +4117,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -4015,20 +4129,12 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/ms": { @@ -4038,24 +4144,18 @@ "dev": true }, "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "dependencies": { - "dns-packet": "^1.3.1", + "dns-packet": "^5.2.2", "thunky": "^1.0.2" }, "bin": { "multicast-dns": "cli.js" } }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -4063,9 +4163,9 @@ "dev": true }, "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "engines": { "node": ">= 0.6" @@ -4093,18 +4193,18 @@ "dev": true }, "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, "engines": { - "node": ">= 6.0.0" + "node": ">= 6.13.0" } }, "node_modules/node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-package-data": { "version": "2.5.0", @@ -4119,9 +4219,9 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -4149,9 +4249,9 @@ } }, "node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "dependencies": { "boolbase": "^1.0.0" @@ -4161,25 +4261,9 @@ } }, "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4233,9 +4317,9 @@ "dev": true }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { "ee-first": "1.1.1" @@ -4257,6 +4341,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "dependencies": { "wrappy": "1" } @@ -4310,30 +4395,6 @@ "node": ">= 0.8.0" } }, - "node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -4358,21 +4419,6 @@ "node": ">=4" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-retry": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", @@ -4386,18 +4432,6 @@ "node": ">=8" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -4509,7 +4543,7 @@ "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "node_modules/path-type": { @@ -4521,6 +4555,11 @@ "node": ">=8" } }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -4566,29 +4605,6 @@ "node": ">=4" } }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -4635,7 +4651,7 @@ "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { "node": ">= 0.6.0" } @@ -4643,7 +4659,8 @@ "node_modules/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==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/progress": { "version": "2.0.3", @@ -4676,76 +4693,6 @@ "node": ">= 0.10" } }, - "node_modules/pumpify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", - "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", - "dependencies": { - "duplexify": "^4.1.1", - "inherits": "^2.0.3", - "pump": "^3.0.0" - } - }, - "node_modules/pumpify/node_modules/duplexify": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", - "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", - "dependencies": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pumpify/node_modules/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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/pumpify/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -4755,22 +4702,18 @@ } }, "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/queue-microtask": { @@ -4811,13 +4754,13 @@ } }, "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -4826,9 +4769,9 @@ } }, "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "engines": { "node": ">= 0.8" @@ -4910,22 +4853,6 @@ "node": ">= 0.10" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -4993,7 +4920,7 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "node_modules/resolve": { @@ -5131,18 +5058,22 @@ "dev": true }, "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, "dependencies": { - "node-forge": "^0.10.0" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5155,24 +5086,24 @@ } }, "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -5190,19 +5121,37 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { "randombytes": "^2.1.0" } @@ -5268,24 +5217,40 @@ "dev": true }, "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "node_modules/shallow-clone": { @@ -5321,6 +5286,33 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -5387,13 +5379,13 @@ "dev": true }, "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "dependencies": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, @@ -5406,18 +5398,17 @@ } }, "node_modules/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==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "node_modules/sourmash": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/sourmash/-/sourmash-0.11.0.tgz", - "integrity": "sha512-/UZkuTqzO2ptrPrtvZw2QmDrJkEnAdgVB9VMJxnRkFk0Qkuq2MXooJey0zF6AGE3ry8Yaa1l+znOmI1KOCunYA==" + "resolved": "pkg", + "link": true }, "node_modules/spdx-correct": { "version": "3.1.1", @@ -5481,60 +5472,6 @@ "wbuf": "^1.7.3" } }, - "node_modules/spdy-transport/node_modules/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, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/spdy-transport/node_modules/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, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/spdy-transport/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -5550,19 +5487,6 @@ "node": ">= 0.6" } }, - "node_modules/stream": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", - "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=", - "dependencies": { - "emitter-component": "^1.1.1" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -5738,9 +5662,9 @@ } }, "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "dependencies": { "commander": "^2.20.0", @@ -5755,16 +5679,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", - "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dependencies": { - "jest-worker": "^27.0.6", - "p-limit": "^3.1.0", + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -5788,34 +5711,15 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - }, "node_modules/terser-webpack-plugin/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, - "node_modules/terser-webpack-plugin/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -5830,13 +5734,14 @@ } }, "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", + "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" @@ -5845,14 +5750,6 @@ "node": ">=10" } }, - "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -5865,59 +5762,6 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/through2/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/through2/node_modules/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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -5937,9 +5781,9 @@ } }, "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "engines": { "node": ">=0.6" @@ -5977,9 +5821,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -6046,14 +5890,6 @@ "node": ">= 0.6" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typescript": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", @@ -6095,36 +5931,49 @@ "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "engines": { "node": ">= 0.8" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "punycode": "^2.1.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "punycode": "^2.1.0" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, "node_modules/util": { "version": "0.12.4", "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", @@ -6152,20 +6001,19 @@ "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "bin": { - "uuid": "bin/uuid" + "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache": { @@ -6194,9 +6042,9 @@ } }, "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -6215,34 +6063,34 @@ } }, "node_modules/webpack": { - "version": "5.52.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.1.tgz", - "integrity": "sha512-wkGb0hLfrS7ML3n2xIKfUIwHbjB6gxwQHyLmVHoAqEQBw+nWo+G6LoHL098FEXqahqximsntjBLuewStrnJk0g==", - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", "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", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" }, "bin": { "webpack": "bin/webpack.js" @@ -6314,16 +6162,16 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.1.0.tgz", - "integrity": "sha512-oT660AR1gOnU/NTdUQi3EiGR0iXG7CFxmKsj3ylWCBA2khJ8LFHK+sKv3BZEsC11gl1eChsltRhzUq7nWj7XIQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "dependencies": { - "colorette": "^1.2.2", - "memfs": "^3.2.2", + "colorette": "^2.0.10", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", - "schema-utils": "^3.1.0" + "schema-utils": "^4.0.0" }, "engines": { "node": ">= 12.13.0" @@ -6336,24 +6184,59 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -6361,36 +6244,41 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.2.0.tgz", - "integrity": "sha512-iBaDkHBLfW3cEITeJWNkjZBrm+b5A3YLg8XVdNOdjUNABdXJwcsJv4dzKSnVf1q4Ch489+6epWVW6OcOyVfG7w==", - "dev": true, - "dependencies": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.1", - "colorette": "^1.2.2", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "del": "^6.0.0", - "express": "^4.17.1", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "internal-ip": "^6.2.0", + "http-proxy-middleware": "^2.0.3", "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", "open": "^8.0.9", "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^3.1.0", - "selfsigned": "^1.10.11", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", - "sockjs": "^0.3.21", + "sockjs": "^0.3.24", "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^5.1.0", - "ws": "^8.1.0" + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" @@ -6398,64 +6286,79 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^4.37.0 || ^5.0.0" }, "peerDependenciesMeta": { + "webpack": { + "optional": true + }, "webpack-cli": { "optional": true } } }, - "node_modules/webpack-dev-server/node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz", - "integrity": "sha512-tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ==", + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" + "fast-deep-equal": "^3.1.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", + "node_modules/webpack-dev-server/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, "dependencies": { - "ansi-regex": "^6.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=12" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/webpack-merge": { @@ -6472,33 +6375,17 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "engines": { "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -6592,9 +6479,9 @@ "dev": true }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6622,19 +6509,20 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-Q6B6H2oc8QY3llc3cB8kVmQ6pnJWVQbP7Q5algTcIxx7YEpc0oU4NBVHlztA7Ekzfhw2r0rPducMUiCGWKQRzw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, "engines": { "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -6651,16 +6539,10 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "pkg": { + "name": "sourmash", + "version": "0.13.0", + "license": "BSD-3-Clause" } }, "dependencies": { @@ -6757,6 +6639,55 @@ "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, + "@jridgewell/gen-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", + "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", + "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, "@lit/reactive-element": { "version": "1.0.0-rc.2", "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.0.0-rc.2.tgz", @@ -6797,37 +6728,90 @@ "uglifycss": "^0.0.29" } }, - "@types/duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==", + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dev": true, "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", "@types/node": "*" } }, "@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "version": "8.56.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz", + "integrity": "sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==", "requires": { "@types/estree": "*", "@types/json-schema": "*" } }, "@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "requires": { "@types/eslint": "*", "@types/estree": "*" } }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } }, "@types/html-minifier-terser": { "version": "5.1.2", @@ -6835,19 +6819,25 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", "dev": true }, + "@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, "@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", "dev": true, "requires": { "@types/node": "*" } }, "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "@types/json5": { "version": "0.0.29", @@ -6855,31 +6845,78 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, "@types/node": { "version": "16.7.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==" }, - "@types/pumpify": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@types/pumpify/-/pumpify-1.4.1.tgz", - "integrity": "sha512-l7u/Dnh1OG9T7VH6TvulR0g8oE8hgIW5409mSUKi8Vxw2+JV18aTa06Sv5bvNjrD0zbsB/cuZ/iTFQgFNfzIuw==", + "@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dev": true, "requires": { - "@types/duplexify": "*", "@types/node": "*" } }, + "@types/qs": { + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, "@types/retry": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, - "@types/through2": { - "version": "2.0.36", - "resolved": "https://registry.npmjs.org/@types/through2/-/through2-2.0.36.tgz", - "integrity": "sha512-vuifQksQHJXhV9McpVsXKuhnf3lsoX70PnhcqIAbs9dqLH2NgrGz0DzZPDY3+Yh6eaRqcE1gnCQ6QhBn1/PT5A==", + "@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dev": true, "requires": { "@types/node": "*" @@ -6890,6 +6927,15 @@ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz", "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==" }, + "@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "4.31.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz", @@ -6973,133 +7019,133 @@ } }, "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" }, "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "requires": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, @@ -7137,24 +7183,24 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" }, "acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "requires": {} }, "acorn-jsx": { @@ -7164,16 +7210,6 @@ "dev": true, "requires": {} }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -7185,6 +7221,35 @@ "uri-js": "^4.2.2" } }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -7204,9 +7269,9 @@ "dev": true }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -7219,9 +7284,9 @@ } }, "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -7238,9 +7303,9 @@ } }, "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "array-includes": { @@ -7279,15 +7344,6 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, "available-typed-arrays": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", @@ -7332,27 +7388,29 @@ } }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "debug": { @@ -7364,26 +7422,28 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", "dev": true, "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, "boolbase": { @@ -7412,22 +7472,14 @@ } }, "browserslist": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", - "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "requires": { - "caniuse-lite": "^1.0.30001254", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.830", - "escalade": "^3.1.1", - "node-releases": "^1.1.75" - }, - "dependencies": { - "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - } + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" } }, "buffer": { @@ -7444,12 +7496,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -7457,12 +7503,15 @@ "dev": true }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "callsites": { @@ -7490,9 +7539,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001255", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz", - "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==" + "version": "1.0.30001589", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", + "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==" }, "chalk": { "version": "4.1.1", @@ -7546,9 +7595,9 @@ } }, "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "requires": { "anymatch": "~3.1.2", @@ -7575,12 +7624,6 @@ "source-map": "~0.6.0" } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -7667,42 +7710,51 @@ "dev": true }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" + }, + "dependencies": { + "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 + } } }, "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cross-spawn": { "version": "7.0.3", @@ -7743,20 +7795,6 @@ "ms": "2.1.2" } }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -7772,6 +7810,16 @@ "execa": "^5.0.0" } }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, "define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -7786,22 +7834,6 @@ "object-keys": "^1.0.12" } }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -7809,9 +7841,9 @@ "dev": true }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-node": { @@ -7829,29 +7861,13 @@ "path-type": "^4.0.0" } }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dev": true, "requires": { - "buffer-indexof": "^1.0.0" + "@leichtgewicht/ip-codec": "^2.0.1" } }, "doctrine": { @@ -7927,57 +7943,16 @@ } } }, - "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.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==", - "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==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "electron-to-chromium": { - "version": "1.3.835", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.835.tgz", - "integrity": "sha512-rHQszGg2KLMqOWPNTpwCnlp7Kb85haJa8j089DJCreZueykoSN/in+EMlay3SSDMNKR4VGPvfskxofHV18xVJg==" - }, - "emitter-component": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz", - "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY=" + "version": "1.4.681", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.681.tgz", + "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==" }, "emoji-regex": { "version": "8.0.0", @@ -7993,21 +7968,13 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, "enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -8066,10 +8033,23 @@ "unbox-primitive": "^1.0.1" } }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, "es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" }, "es-to-primitive": { "version": "1.2.1", @@ -8082,9 +8062,9 @@ } }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" }, "escape-html": { "version": "1.0.3", @@ -8284,9 +8264,9 @@ } }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -8356,6 +8336,12 @@ "eslint-visitor-keys": "^1.3.0" }, "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", @@ -8416,7 +8402,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "eventemitter3": { @@ -8448,49 +8434,44 @@ } }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { - "array-flatten": { - "version": "1.1.1", - "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", @@ -8500,10 +8481,28 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "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 + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } @@ -8558,43 +8557,6 @@ "reusify": "^1.0.4" } }, - "fastqstream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fastqstream/-/fastqstream-0.1.0.tgz", - "integrity": "sha512-PxyRQXsWJ3Nww2FSri/iISfYR/cza9i7hWZVx/W6i0A/Nal7vU89nY8OqOgpY3ZPsRQMDkhMG1DYsLffKMZpkg==", - "requires": { - "readable-stream": "^2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", @@ -8613,40 +8575,6 @@ "flat-cache": "^3.0.4" } }, - "filestream": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/filestream/-/filestream-5.0.0.tgz", - "integrity": "sha512-5H3RqSaJp12THfZiNWodYM7TiKfQvrpX+EIOrB1XvCceTys4yvfEIl8wDp+/yI8qj6Bxym8m0NYWwVXDAet/+A==", - "requires": { - "readable-stream": "^3.4.0", - "typedarray-to-buffer": "^3.0.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==", - "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==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -8657,17 +8585,17 @@ } }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { @@ -8683,7 +8611,13 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } @@ -8714,9 +8648,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz", - "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true }, "foreach": { @@ -8733,13 +8667,13 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "fs.realpath": { @@ -8749,16 +8683,16 @@ "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": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -8767,13 +8701,15 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-stream": { @@ -8833,10 +8769,18 @@ "slash": "^3.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "handle-thing": { "version": "2.0.1", @@ -8863,10 +8807,31 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-symbols": { + "has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "requires": { + "function-bind": "^1.1.2" + } }, "he": { "version": "1.2.0", @@ -8977,30 +8942,36 @@ "dev": true }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } }, "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", "dev": true }, "http-proxy": { @@ -9015,12 +8986,12 @@ } }, "http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, "requires": { - "@types/http-proxy": "^1.17.5", + "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", @@ -9139,12 +9110,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -9160,44 +9125,12 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "internal-ip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", - "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", - "dev": true, - "requires": { - "default-gateway": "^6.0.0", - "ipaddr.js": "^1.9.1", - "is-ip": "^3.1.0", - "p-event": "^4.2.0" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } - } - }, "interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true - }, "ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -9291,15 +9224,6 @@ "is-extglob": "^2.1.1" } }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dev": true, - "requires": { - "ip-regex": "^4.0.0" - } - }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -9316,18 +9240,6 @@ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, "is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -9383,11 +9295,6 @@ "has-symbols": "^1.0.1" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -9410,9 +9317,9 @@ "dev": true }, "jest-worker": { - "version": "27.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.1.tgz", - "integrity": "sha512-XJKCL7tu+362IUYTWvw8+3S75U7qMiYiRU6u5yqscB48bTvzwN6i8L/7wVTXiFLwkRsxARNM7TISnTvcgv9hxA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -9453,7 +9360,13 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema-traverse": { "version": "0.4.1", @@ -9467,12 +9380,9 @@ "dev": true }, "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==", - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "kind-of": { "version": "6.0.3", @@ -9480,6 +9390,16 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, + "launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -9544,9 +9464,9 @@ "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" }, "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==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -9616,22 +9536,22 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "memfs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", - "integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "requires": { - "fs-monkey": "1.0.3" + "fs-monkey": "^1.0.4" } }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "merge-stream": { @@ -9648,7 +9568,7 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { @@ -9668,16 +9588,16 @@ "dev": true }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.49.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -9693,27 +9613,19 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true }, "ms": { "version": "2.1.2", @@ -9722,21 +9634,15 @@ "dev": true }, "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "requires": { - "dns-packet": "^1.3.1", + "dns-packet": "^5.2.2", "thunky": "^1.0.2" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9744,9 +9650,9 @@ "dev": true }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { @@ -9773,15 +9679,15 @@ } }, "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true }, "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "normalize-package-data": { "version": "2.5.0", @@ -9796,9 +9702,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -9819,28 +9725,18 @@ } }, "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "requires": { "boolbase": "^1.0.0" } }, "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" }, "object-keys": { "version": "1.1.1", @@ -9876,9 +9772,9 @@ "dev": true }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -9894,6 +9790,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -9932,21 +9829,6 @@ "word-wrap": "^1.2.3" } }, - "p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "requires": { - "p-timeout": "^3.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -9965,15 +9847,6 @@ "p-limit": "^1.1.0" } }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, "p-retry": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", @@ -9984,15 +9857,6 @@ "retry": "^0.13.1" } }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -10087,7 +9951,7 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "path-type": { @@ -10096,6 +9960,11 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -10126,28 +9995,6 @@ "find-up": "^2.1.0" } }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -10182,12 +10029,13 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, "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==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "progress": { "version": "2.0.3", @@ -10213,77 +10061,19 @@ } } }, - "pumpify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", - "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", - "requires": { - "duplexify": "^4.1.1", - "inherits": "^2.0.3", - "pump": "^3.0.0" - }, - "dependencies": { - "duplexify": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", - "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "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==", - "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==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } }, "queue-microtask": { "version": "1.2.3", @@ -10306,21 +10096,21 @@ "dev": true }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true } } @@ -10385,16 +10175,6 @@ "resolve": "^1.9.0" } }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -10446,7 +10226,7 @@ "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "resolve": { @@ -10540,42 +10320,43 @@ "dev": true }, "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, "requires": { - "node-forge": "^0.10.0" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -10590,23 +10371,35 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "requires": { "randombytes": "^2.1.0" } @@ -10668,21 +10461,34 @@ } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "requires": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" } }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "shallow-clone": { @@ -10709,6 +10515,24 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "side-channel": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -10759,13 +10583,13 @@ } }, "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "requires": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, @@ -10775,18 +10599,16 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "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==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sourmash": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/sourmash/-/sourmash-0.11.0.tgz", - "integrity": "sha512-/UZkuTqzO2ptrPrtvZw2QmDrJkEnAdgVB9VMJxnRkFk0Qkuq2MXooJey0zF6AGE3ry8Yaa1l+znOmI1KOCunYA==" + "version": "file:pkg" }, "spdx-correct": { "version": "3.1.1", @@ -10845,42 +10667,6 @@ "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" - }, - "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 - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "requires": { - "through": "2" } }, "sprintf-js": { @@ -10895,19 +10681,6 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, - "stream": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", - "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=", - "requires": { - "emitter-component": "^1.1.1" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -11033,9 +10806,9 @@ "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" }, "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -11052,40 +10825,26 @@ } }, "terser-webpack-plugin": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", - "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "requires": { - "jest-worker": "^27.0.6", - "p-limit": "^3.1.0", + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" }, "dependencies": { - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - }, "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==" }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -11093,20 +10852,14 @@ } }, "terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", + "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } + "source-map-support": "~0.5.20" } } } @@ -11117,44 +10870,6 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "requires": { - "readable-stream": "3" - }, - "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==", - "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==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, "thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -11171,9 +10886,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "ts-loader": { @@ -11201,9 +10916,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -11251,14 +10966,6 @@ "mime-types": "~2.1.24" } }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typescript": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", @@ -11284,9 +10991,18 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -11295,24 +11011,6 @@ "punycode": "^2.1.0" } }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, "util": { "version": "0.12.4", "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", @@ -11340,13 +11038,13 @@ "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "v8-compile-cache": { @@ -11372,9 +11070,9 @@ "dev": true }, "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -11390,50 +11088,40 @@ } }, "webpack": { - "version": "5.52.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.1.tgz", - "integrity": "sha512-wkGb0hLfrS7ML3n2xIKfUIwHbjB6gxwQHyLmVHoAqEQBw+nWo+G6LoHL098FEXqahqximsntjBLuewStrnJk0g==", - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", "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", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" }, "dependencies": { - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - }, - "acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" - }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -11472,100 +11160,146 @@ } }, "webpack-dev-middleware": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.1.0.tgz", - "integrity": "sha512-oT660AR1gOnU/NTdUQi3EiGR0iXG7CFxmKsj3ylWCBA2khJ8LFHK+sKv3BZEsC11gl1eChsltRhzUq7nWj7XIQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "requires": { - "colorette": "^1.2.2", - "memfs": "^3.2.2", + "colorette": "^2.0.10", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", - "schema-utils": "^3.1.0" + "schema-utils": "^4.0.0" }, "dependencies": { - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" } } } }, "webpack-dev-server": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.2.0.tgz", - "integrity": "sha512-iBaDkHBLfW3cEITeJWNkjZBrm+b5A3YLg8XVdNOdjUNABdXJwcsJv4dzKSnVf1q4Ch489+6epWVW6OcOyVfG7w==", - "dev": true, - "requires": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.1", - "colorette": "^1.2.2", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "del": "^6.0.0", - "express": "^4.17.1", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "internal-ip": "^6.2.0", + "http-proxy-middleware": "^2.0.3", "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", "open": "^8.0.9", "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^3.1.0", - "selfsigned": "^1.10.11", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", - "sockjs": "^0.3.21", + "sockjs": "^0.3.24", "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^5.1.0", - "ws": "^8.1.0" + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" }, "dependencies": { - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "ansi-regex": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz", - "integrity": "sha512-tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ==", - "dev": true + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "fast-deep-equal": "^3.1.3" } }, - "strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, "requires": { - "ansi-regex": "^6.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" } } } @@ -11581,9 +11315,9 @@ } }, "webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, "websocket-driver": { "version": "0.7.4", @@ -11644,9 +11378,9 @@ "dev": true }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "worker-loader": { @@ -11661,12 +11395,13 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-Q6B6H2oc8QY3llc3cB8kVmQ6pnJWVQbP7Q5algTcIxx7YEpc0oU4NBVHlztA7Ekzfhw2r0rPducMUiCGWKQRzw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, "requires": {} }, @@ -11675,11 +11410,6 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true - }, - "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==" } } } diff --git a/package.json b/package.json index 7ad227d..efd503b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mgnify-sourmash-component", - "version": "0.2.4", + "version": "0.3.0", "description": "A web component to select FastA file and generate sourmash signatures locally.", "module": "dist/mgnify-sourmash-component.js", "main": "dist/mgnify-sourmash-component.js", @@ -24,8 +24,6 @@ "author": "Gustavo A. Salazar", "license": "ISC", "devDependencies": { - "@types/pumpify": "1.4.1", - "@types/through2": "2.0.36", "@typescript-eslint/eslint-plugin": "4.31.0", "@typescript-eslint/parser": "4.31.0", "eslint": "7.32.0", @@ -37,25 +35,16 @@ "prettier": "2.4.0", "ts-loader": "9.2.5", "typescript": "4.4.2", - "webpack": "5.52.1", + "webpack": "^5.90.3", "webpack-cli": "4.8.0", - "webpack-dev-server": "4.2.0" + "webpack-dev-server": "^4.15.1" }, "dependencies": { "bl": "5.0.0", - "buffer": "6.0.3", - "buffer-from": "1.1.2", - "duplexify": "4.1.2", - "fastqstream": "0.1.0", - "filestream": "5.0.0", "lit": "2.0.0-rc.2", "lit-css-loader": "1.0.1", "process": "0.11.10", - "pumpify": "2.0.1", - "sourmash": "0.11.0", - "split": "1.0.1", - "stream": "0.0.2", - "through2": "4.0.2", + "sourmash": "file:./pkg", "util": "0.12.4", "worker-loader": "3.0.8" } diff --git a/src/custom.d.ts b/src/custom.d.ts index 28a3593..7e481b3 100644 --- a/src/custom.d.ts +++ b/src/custom.d.ts @@ -4,15 +4,6 @@ declare module '*.css' { export default content; } -interface Read { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new (file: File): Read; - reader: { - onprogress: (data: any) => void; - }; - pipe: (f: () => any) => any; -} - interface KmerMinHashOptions { num: number; ksize: number; @@ -24,20 +15,6 @@ interface KmerMinHashOptions { track_abundance: boolean; } -type DataChunk = Uint8Array | Uint16Array | Uint32Array; - -declare module 'filestream' { - export const read: Read; -} - -type SwapFuntion = (_: any, x?: any) => any; - -// declare module 'fasta-parser' { -// import { Stream } from 'stream'; -// const Fasta: () => Stream; -// export default Fasta; -// } - declare module '*.worker.ts' { // You need to change `Worker`, if you specified a different value for the `workerType` option class WebpackWorker extends Worker { diff --git a/src/fasta-parser/index.js b/src/fasta-parser/index.js deleted file mode 100644 index cc9a0e3..0000000 --- a/src/fasta-parser/index.js +++ /dev/null @@ -1,53 +0,0 @@ -/* eslint-disable no-undef */ - -// Minor adaption of https://www.npmjs.com/package/fasta-parser to replace tabs in headers -import split from 'split'; -import through from 'through2'; -import pumpify from 'pumpify'; -import BufferList from 'bl'; - -function parser() { - var cacheBuf; - var openID = new Buffer('{"id":"'); - var closeIDOpenSeq = new Buffer('","seq":"'); - var closeSeq = new Buffer('"}\n'); - var stream = through(transform, flush); - - return stream; - - function transform(buf, enc, next) { - if (buf[0] === 62) { - // If line starts with '>', this is an ID - if (cacheBuf) { - // If a previous object is in cache, push it - cacheBuf.append(closeSeq); - this.push(cacheBuf.slice()); - } - var id = buf - .toString() - .slice(1) - .trim() - .replace(/"/g, '\\"') - .replace(/\t/g, '\\"'); - cacheBuf = new BufferList(); - cacheBuf.append(openID); - cacheBuf.append(id); - cacheBuf.append(closeIDOpenSeq); - } else { - cacheBuf.append(buf); - } - next(); - } - - function flush() { - cacheBuf.append(closeSeq); - this.push(cacheBuf.slice()); - this.push(null); - } -} - -function fastaParser() { - return pumpify(split(), parser()); -} - -export default fastaParser; diff --git a/src/index.ts b/src/index.ts index a3bce63..284c744 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,7 +8,7 @@ import style from './index.css'; const worker = new Worker(); -const SUPPORTED_EXTENSIONS = ['.fa', '.fasta', '.fna']; +const SUPPORTED_EXTENSIONS = ['.fa', '.fasta', '.fna', '.gz', '.fq']; @customElement('mgnify-sourmash-component') export class MGnifySourmash extends LitElement { @property({ type: Boolean, reflect: true }) diff --git a/src/peek-stream/index.js b/src/peek-stream/index.js deleted file mode 100644 index cf3d586..0000000 --- a/src/peek-stream/index.js +++ /dev/null @@ -1,78 +0,0 @@ -/* eslint-disable no-undef */ - -// Minor adaption of https://www.npmjs.com/package/peek-stream to only return the maxbuffer size -import duplexify from 'duplexify'; -import through from 'through2'; -import bufferFrom from 'buffer-from'; - -var isObject = function (data) { - return !Buffer.isBuffer(data) && typeof data !== 'string'; -}; - -var peek = function (opts, onpeek) { - if (typeof opts === 'number') opts = { maxBuffer: opts }; - if (typeof opts === 'function') return peek(null, opts); - if (!opts) opts = {}; - - var maxBuffer = typeof opts.maxBuffer === 'number' ? opts.maxBuffer : 65535; - var strict = opts.strict; - var newline = opts.newline !== false; - - var buffer = []; - var bufferSize = 0; - var dup = duplexify.obj(); - - var peeker = through.obj({ highWaterMark: 1 }, function (data, enc, cb) { - if (isObject(data)) return ready(data, null, cb); - if (!Buffer.isBuffer(data)) data = bufferFrom(data); - - if (newline) { - var nl = Array.prototype.indexOf.call(data, 10); - if (nl > 0 && data[nl - 1] === 13) nl--; - - if (nl > -1) { - buffer.push(data.slice(0, nl)); - return ready(Buffer.concat(buffer), data.slice(nl), cb); - } - } - - buffer.push(data.slice(0, maxBuffer)); - bufferSize += data.length; - - if (bufferSize < maxBuffer) return cb(); - if (strict) return cb(new Error('No newline found')); - ready(Buffer.concat(buffer), null, cb); - }); - - var onpreend = function () { - if (strict) return dup.destroy(new Error('No newline found')); - dup.cork(); - ready(Buffer.concat(buffer), null, function (err) { - if (err) return dup.destroy(err); - dup.uncork(); - }); - }; - - var ready = function (data, overflow, cb) { - dup.removeListener('preend', onpreend); - onpeek(data, function (err, parser) { - if (err) return cb(err); - - dup.setWritable(parser); - dup.setReadable(parser); - - if (data) parser.write(data); - if (overflow) parser.write(overflow); - - overflow = buffer = peeker = null; // free the data - cb(); - }); - }; - - dup.on('preend', onpreend); - dup.setWritable(peeker); - - return dup; -}; - -export default peek; diff --git a/src/sketcher.worker.ts b/src/sketcher.worker.ts index 3318ed0..d02fb7f 100644 --- a/src/sketcher.worker.ts +++ b/src/sketcher.worker.ts @@ -1,133 +1,70 @@ // eslint-disable-next-line @typescript-eslint/no-explicit-any const ctx: Worker = self as any; -import { read as FileReadStream } from 'filestream'; -// TODO: To be replaced by parsing the fasta from inside sourmash -import Fasta from './fasta-parser'; - -// import peek from 'peek-stream'; -import peek from './peek-stream'; -import through from 'through2'; -import { obj as Pumpify } from 'pumpify'; -import { KmerMinHash as KmerMinHashType } from 'sourmash'; +import { + ComputeParameters as ComputeParametersType, + Signature as SignatureType, +} from 'sourmash'; // This needs to be a dynamic import to be able to use the wasm from inside sourmash -let KmerMinHash: typeof KmerMinHashType = null; -const smImport = import('sourmash').then( - (Sourmash) => (KmerMinHash = Sourmash.KmerMinHash) -); - -export const isFASTA = (data: DataChunk) => data.toString().charAt(0) === '>'; -export const isDNASequence = (data: DataChunk) => - (data.toString().split('\n')?.[1] || '').toUpperCase().match(/[^ATGCN]/) === - null; - -function jsParse() { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - function transform(obj: string | Buffer, _: any, next: () => void) { - const newObj = Buffer.isBuffer(obj) ? obj.toString() : obj; - this.push(JSON.parse(newObj)); - next(); - } - function flush() { - this.push(null); - } - const stream = through.obj(transform, flush); - return stream; -} - -function FASTParser(is_protein: boolean) { - return peek( - { - maxBuffer: 500, - newline: false, - }, - function (data: DataChunk, swap: SwapFuntion) { - if (isFASTA(data)) { - if (!is_protein && !isDNASequence(data)) { - swap(new Error('Only DNA sequences supported')); - } - return swap(null, new Pumpify(Fasta(), jsParse())); - } - swap( - new Error( - 'There was a problem parsing this file. It might be of an unsupported format.' - ) - ); - } - ); -} +let Signature: typeof SignatureType = null; +let ComputeParameters: typeof ComputeParametersType = null; +const smImport = import('sourmash').then((Sourmash) => { + Signature = Sourmash.Signature; + ComputeParameters = Sourmash.ComputeParameters; +}); -function skecthFiles(files: File[], options: KmerMinHashOptions) { +function sketchFiles(files: File[], options: KmerMinHashOptions) { for (const file of files) { - skecthFile(file, options); + sketchFile(file, options); } } -async function skecthFile(file: File, options: KmerMinHashOptions) { - const reader = new FileReadStream(file); - const fileSize = file.size; +async function sketchFile(file: File, options: KmerMinHashOptions) { + await Promise.all([smImport]); - let loadedFile = 0; - (reader.reader as FileReader).addEventListener( - 'progress', - (data: ProgressEvent) => { - loadedFile += data.loaded; - ctx.postMessage({ - type: 'progress:read', - filename: file.name, - progress: (loadedFile / fileSize) * 100, - }); - } - ); + const params = new ComputeParameters(); + params.set_ksizes(new Uint32Array([options.ksize])); + params.set_scaled(options.scaled); + params.set_num(options.num); + params.set_protein(options.is_protein); + params.set_dayhoff(options.dayhoff); + params.set_hp(options.hp); + params.set_track_abundance(options.track_abundance); + params.set_seed(options.seed); - await Promise.all([smImport]); - const mh = new KmerMinHash( - options.num, - options.ksize, - options.is_protein, - options.dayhoff, - options.hp, - options.seed, - options.scaled, - options.track_abundance - ); - const seqparser = FASTParser(options.is_protein); + const sig = new Signature(params); + const cb = function (progress: number) { + ctx.postMessage({ + type: 'progress:read', + filename: file.name, + progress: progress * 100, + }); + }; - seqparser - .on('data', function (data: { seq: string }) { - mh.add_sequence_js(data.seq); - }) - .on('error', (e: Error) => { - ctx.postMessage({ - type: 'signature:error', - filename: file.name, - error: e.message, - }); - }) - .on('end', function () { - const jsonStr = `[{ - "class":"sourmash_signature","email":"", - "hash_function":"0.murmur64", - "filename":"${file.name}", - "license":"CC0", - "signatures":[${mh.to_json()}], - "version":0.4 - }]`; - ctx.postMessage({ - type: 'signature:generated', - filename: file.name, - signature: jsonStr, - }); + try { + sig.add_from_file(file, cb); + } catch (e) { + ctx.postMessage({ + type: 'signature:error', + filename: file.name, + error: e.message, }); - reader.pipe(seqparser); + return; + } + + ctx.postMessage({ + type: 'signature:generated', + filename: file.name, + signature: sig.to_json(), + }); } -export default skecthFiles; +export default sketchFiles; // Respond to message from parent thread ctx.addEventListener('message', (event) => { if (event?.data?.files?.length) { - skecthFiles(event.data.files, event.data.options); + sketchFiles(event.data.files, event.data.options); } }); From 8a99dffe38189b5e1da121958ea717badb11b21a Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Mon, 26 Feb 2024 19:57:39 -0800 Subject: [PATCH 2/4] temporarily add pkg --- package-lock.json | 6 - pkg/.gitignore | 1 + pkg/README.md | 41 +++ pkg/package.json | 29 ++ pkg/sourmash.d.ts | 92 +++++++ pkg/sourmash.js | 4 + pkg/sourmash_bg.js | 566 ++++++++++++++++++++++++++++++++++++++ pkg/sourmash_bg.wasm | Bin 0 -> 205418 bytes pkg/sourmash_bg.wasm.d.ts | 28 ++ 9 files changed, 761 insertions(+), 6 deletions(-) create mode 100644 pkg/.gitignore create mode 100644 pkg/README.md create mode 100644 pkg/package.json create mode 100644 pkg/sourmash.d.ts create mode 100644 pkg/sourmash.js create mode 100644 pkg/sourmash_bg.js create mode 100644 pkg/sourmash_bg.wasm create mode 100644 pkg/sourmash_bg.wasm.d.ts diff --git a/package-lock.json b/package-lock.json index ee72335..89ba929 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,12 +34,6 @@ "webpack-dev-server": "^4.15.1" } }, - "../sm_worktrees/wasm_needletail/pkg": { - "name": "sourmash", - "version": "0.13.0", - "extraneous": true, - "license": "BSD-3-Clause" - }, "node_modules/@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", diff --git a/pkg/.gitignore b/pkg/.gitignore new file mode 100644 index 0000000..f59ec20 --- /dev/null +++ b/pkg/.gitignore @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/pkg/README.md b/pkg/README.md new file mode 100644 index 0000000..b71baaa --- /dev/null +++ b/pkg/README.md @@ -0,0 +1,41 @@ + + +# sourmash + +🦀 +[![](https://img.shields.io/crates/v/sourmash.svg)](https://crates.io/crates/sourmash) +[![Rust API Documentation on docs.rs](https://docs.rs/sourmash/badge.svg)](https://docs.rs/sourmash) +[![build-status]][github-actions] +[![codecov](https://codecov.io/gh/sourmash-bio/sourmash/branch/latest/graph/badge.svg)](https://codecov.io/gh/sourmash-bio/sourmash) +License: 3-Clause BSD + +[build-status]: https://github.com/sourmash-bio/sourmash/workflows/Rust%20checks/badge.svg +[github-actions]: https://github.com/sourmash-bio/sourmash/actions?query=workflow%3A%22Rust+checks%22 + +---- + +Compute MinHash signatures for nucleotide (DNA/RNA) and protein sequences. + +This is the core library used by sourmash. It exposes a C API that can be +called from FFI in other languages, and it is how we use it in Python for +building the sourmash application (CLI and Python API). + +---- + +sourmash is a product of the +[Lab for Data-Intensive Biology](http://ivory.idyll.org/lab/) at the +[UC Davis School of Veterinary Medicine](http://www.vetmed.ucdavis.edu). + +## Support + +Please ask questions and files issues +[on Github](https://github.com/sourmash-bio/sourmash/issues). + +## Development + +Development happens on github at +[sourmash-bio/sourmash](https://github.com/sourmash-bio/sourmash). + +## Minimum supported Rust version + +Currently the minimum supported Rust version is 1.65.0. diff --git a/pkg/package.json b/pkg/package.json new file mode 100644 index 0000000..938f0d1 --- /dev/null +++ b/pkg/package.json @@ -0,0 +1,29 @@ +{ + "name": "sourmash", + "collaborators": [ + "Luiz Irber " + ], + "description": "MinHash sketches for genomic data", + "version": "0.13.0", + "license": "BSD-3-Clause", + "repository": { + "type": "git", + "url": "https://github.com/sourmash-bio/sourmash" + }, + "files": [ + "sourmash_bg.wasm", + "sourmash.js", + "sourmash_bg.js", + "sourmash.d.ts" + ], + "module": "sourmash.js", + "types": "sourmash.d.ts", + "sideEffects": [ + "./sourmash.js", + "./snippets/*" + ], + "keywords": [ + "minhash", + "bioinformatics" + ] +} \ No newline at end of file diff --git a/pkg/sourmash.d.ts b/pkg/sourmash.d.ts new file mode 100644 index 0000000..a93e392 --- /dev/null +++ b/pkg/sourmash.d.ts @@ -0,0 +1,92 @@ +/* tslint:disable */ +/* eslint-disable */ +/** +*/ +export class ComputeParameters { + free(): void; +/** +*/ + constructor(); +/** +* @param {Uint32Array} ksizes +*/ + set_ksizes(ksizes: Uint32Array): void; +/** +* @param {number} scaled +*/ + set_scaled(scaled: number): void; +/** +* @param {number} num +*/ + set_num(num: number): void; +/** +* @param {boolean} is_protein +*/ + set_protein(is_protein: boolean): void; +/** +* @param {boolean} dayhoff +*/ + set_dayhoff(dayhoff: boolean): void; +/** +* @param {boolean} hp +*/ + set_hp(hp: boolean): void; +/** +* @param {boolean} track +*/ + set_track_abundance(track: boolean): void; +/** +* @param {number} seed +*/ + set_seed(seed: number): void; +} +/** +*/ +export class KmerMinHash { + free(): void; +/** +* @param {number} num +* @param {number} ksize +* @param {boolean} is_protein +* @param {boolean} dayhoff +* @param {boolean} hp +* @param {number} seed +* @param {number} scaled +* @param {boolean} track_abundance +*/ + constructor(num: number, ksize: number, is_protein: boolean, dayhoff: boolean, hp: boolean, seed: number, scaled: number, track_abundance: boolean); +/** +* @param {string} buf +*/ + add_sequence_js(buf: string): void; +/** +* @returns {string} +*/ + to_json(): string; +} +/** +*/ +export class Signature { + free(): void; +/** +* @param {ComputeParameters} params +*/ + constructor(params: ComputeParameters); +/** +* @param {string} buf +*/ + add_sequence_js(buf: string): void; +/** +* @param {File} fp +* @param {Function | undefined} [callback] +*/ + add_from_file(fp: File, callback?: Function): void; +/** +* @returns {string} +*/ + to_json(): string; +/** +* @returns {number} +*/ + size(): number; +} diff --git a/pkg/sourmash.js b/pkg/sourmash.js new file mode 100644 index 0000000..87464e8 --- /dev/null +++ b/pkg/sourmash.js @@ -0,0 +1,4 @@ +import * as wasm from "./sourmash_bg.wasm"; +import { __wbg_set_wasm } from "./sourmash_bg.js"; +__wbg_set_wasm(wasm); +export * from "./sourmash_bg.js"; diff --git a/pkg/sourmash_bg.js b/pkg/sourmash_bg.js new file mode 100644 index 0000000..154f338 --- /dev/null +++ b/pkg/sourmash_bg.js @@ -0,0 +1,566 @@ +let wasm; +export function __wbg_set_wasm(val) { + wasm = val; +} + + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +let WASM_VECTOR_LEN = 0; + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +const lTextEncoder = typeof TextEncoder === 'undefined' ? (0, module.require)('util').TextEncoder : TextEncoder; + +let cachedTextEncoder = new lTextEncoder('utf-8'); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +const lTextDecoder = typeof TextDecoder === 'undefined' ? (0, module.require)('util').TextDecoder : TextDecoder; + +let cachedTextDecoder = new lTextDecoder('utf-8', { ignoreBOM: true, fatal: true }); + +cachedTextDecoder.decode(); + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +function _assertClass(instance, klass) { + if (!(instance instanceof klass)) { + throw new Error(`expected instance of ${klass.name}`); + } + return instance.ptr; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedUint32Memory0 = null; + +function getUint32Memory0() { + if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) { + cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32Memory0; +} + +function passArray32ToWasm0(arg, malloc) { + const ptr = malloc(arg.length * 4, 4) >>> 0; + getUint32Memory0().set(arg, ptr / 4); + WASM_VECTOR_LEN = arg.length; + return ptr; +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +const ComputeParametersFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_computeparameters_free(ptr >>> 0)); +/** +*/ +export class ComputeParameters { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + ComputeParametersFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_computeparameters_free(ptr); + } + /** + */ + constructor() { + const ret = wasm.computeparameters_new_with_params(); + this.__wbg_ptr = ret >>> 0; + return this; + } + /** + * @param {Uint32Array} ksizes + */ + set_ksizes(ksizes) { + const ptr0 = passArray32ToWasm0(ksizes, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + wasm.computeparameters_set_ksizes(this.__wbg_ptr, ptr0, len0); + } + /** + * @param {number} scaled + */ + set_scaled(scaled) { + wasm.computeparameters_set_scaled(this.__wbg_ptr, scaled); + } + /** + * @param {number} num + */ + set_num(num) { + wasm.computeparameters_set_num(this.__wbg_ptr, num); + } + /** + * @param {boolean} is_protein + */ + set_protein(is_protein) { + wasm.computeparameters_set_protein(this.__wbg_ptr, is_protein); + } + /** + * @param {boolean} dayhoff + */ + set_dayhoff(dayhoff) { + wasm.computeparameters_set_dayhoff(this.__wbg_ptr, dayhoff); + } + /** + * @param {boolean} hp + */ + set_hp(hp) { + wasm.computeparameters_set_hp(this.__wbg_ptr, hp); + } + /** + * @param {boolean} track + */ + set_track_abundance(track) { + wasm.computeparameters_set_track_abundance(this.__wbg_ptr, track); + } + /** + * @param {number} seed + */ + set_seed(seed) { + wasm.computeparameters_set_seed(this.__wbg_ptr, seed); + } +} + +const KmerMinHashFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_kmerminhash_free(ptr >>> 0)); +/** +*/ +export class KmerMinHash { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + KmerMinHashFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_kmerminhash_free(ptr); + } + /** + * @param {number} num + * @param {number} ksize + * @param {boolean} is_protein + * @param {boolean} dayhoff + * @param {boolean} hp + * @param {number} seed + * @param {number} scaled + * @param {boolean} track_abundance + */ + constructor(num, ksize, is_protein, dayhoff, hp, seed, scaled, track_abundance) { + const ret = wasm.kmerminhash_new_with_scaled(num, ksize, is_protein, dayhoff, hp, seed, scaled, track_abundance); + this.__wbg_ptr = ret >>> 0; + return this; + } + /** + * @param {string} buf + */ + add_sequence_js(buf) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(buf, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.kmerminhash_add_sequence_js(retptr, this.__wbg_ptr, ptr0, len0); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {string} + */ + to_json() { + let deferred2_0; + let deferred2_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.kmerminhash_to_json(retptr, this.__wbg_ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr1 = r0; + var len1 = r1; + if (r3) { + ptr1 = 0; len1 = 0; + throw takeObject(r2); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } + } +} + +const SignatureFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_signature_free(ptr >>> 0)); +/** +*/ +export class Signature { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + SignatureFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_signature_free(ptr); + } + /** + * @param {ComputeParameters} params + */ + constructor(params) { + _assertClass(params, ComputeParameters); + const ret = wasm.signature_new_from_params(params.__wbg_ptr); + this.__wbg_ptr = ret >>> 0; + return this; + } + /** + * @param {string} buf + */ + add_sequence_js(buf) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(buf, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.signature_add_sequence_js(retptr, this.__wbg_ptr, ptr0, len0); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {File} fp + * @param {Function | undefined} [callback] + */ + add_from_file(fp, callback) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.signature_add_from_file(retptr, this.__wbg_ptr, addHeapObject(fp), isLikeNone(callback) ? 0 : addHeapObject(callback)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {string} + */ + to_json() { + let deferred2_0; + let deferred2_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.signature_to_json(retptr, this.__wbg_ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr1 = r0; + var len1 = r1; + if (r3) { + ptr1 = 0; len1 = 0; + throw takeObject(r2); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } + } + /** + * @returns {number} + */ + size() { + const ret = wasm.signature_size(this.__wbg_ptr); + return ret >>> 0; + } +} + +export function __wbindgen_object_drop_ref(arg0) { + takeObject(arg0); +}; + +export function __wbindgen_number_new(arg0) { + const ret = arg0; + return addHeapObject(ret); +}; + +export function __wbg_new_3bc3d09a25cc4843() { return handleError(function () { + const ret = new FileReaderSync(); + return addHeapObject(ret); +}, arguments) }; + +export function __wbg_readAsArrayBuffer_28a86d3f97fa11c7() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).readAsArrayBuffer(getObject(arg1)); + return addHeapObject(ret); +}, arguments) }; + +export function __wbg_size_97217f6c840f58b2(arg0) { + const ret = getObject(arg0).size; + return ret; +}; + +export function __wbg_slice_842ca3d105677ae4() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).slice(arg1, arg2); + return addHeapObject(ret); +}, arguments) }; + +export function __wbg_newwithlength_a20dc3b27e1cb1b2(arg0) { + const ret = new Array(arg0 >>> 0); + return addHeapObject(ret); +}; + +export function __wbg_set_79c308ecd9a1d091(arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); +}; + +export function __wbg_new_73a5987615ec8862(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); +}; + +export function __wbg_apply_2ed8aac218b83e42() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).apply(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); +}, arguments) }; + +export function __wbg_buffer_b914fb8b50ebbc3e(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); +}; + +export function __wbg_new_b1f2d6842d615181(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); +}; + +export function __wbg_set_7d988c98e6ced92d(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); +}; + +export function __wbg_length_21c4b0ae73cba59d(arg0) { + const ret = getObject(arg0).length; + return ret; +}; + +export function __wbg_byteLength_4f4b58172d990c0a(arg0) { + const ret = getObject(arg0).byteLength; + return ret; +}; + +export function __wbindgen_debug_string(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +}; + +export function __wbindgen_throw(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); +}; + +export function __wbindgen_memory() { + const ret = wasm.memory; + return addHeapObject(ret); +}; + diff --git a/pkg/sourmash_bg.wasm b/pkg/sourmash_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9954279791260031918f7bd2a14c4d73a94b3a6e GIT binary patch literal 205418 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

YAI_9TnuPSjd@{I!kU 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 literal 0 HcmV?d00001 diff --git a/pkg/sourmash_bg.wasm.d.ts b/pkg/sourmash_bg.wasm.d.ts new file mode 100644 index 0000000..00df329 --- /dev/null +++ b/pkg/sourmash_bg.wasm.d.ts @@ -0,0 +1,28 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function signature_new_from_params(a: number): number; +export function signature_add_sequence_js(a: number, b: number, c: number, d: number): void; +export function signature_add_from_file(a: number, b: number, c: number, d: number): void; +export function signature_to_json(a: number, b: number): void; +export function signature_size(a: number): number; +export function computeparameters_new_with_params(): number; +export function computeparameters_set_ksizes(a: number, b: number, c: number): void; +export function computeparameters_set_scaled(a: number, b: number): void; +export function computeparameters_set_num(a: number, b: number): void; +export function computeparameters_set_protein(a: number, b: number): void; +export function computeparameters_set_dayhoff(a: number, b: number): void; +export function computeparameters_set_hp(a: number, b: number): void; +export function computeparameters_set_track_abundance(a: number, b: number): void; +export function computeparameters_set_seed(a: number, b: number): void; +export function kmerminhash_new_with_scaled(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): number; +export function kmerminhash_add_sequence_js(a: number, b: number, c: number, d: number): void; +export function kmerminhash_to_json(a: number, b: number): void; +export function __wbg_computeparameters_free(a: number): void; +export function __wbg_signature_free(a: number): void; +export function __wbg_kmerminhash_free(a: number): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export function __wbindgen_add_to_stack_pointer(a: number): number; +export function __wbindgen_free(a: number, b: number, c: number): void; +export function __wbindgen_exn_store(a: number): void; From 803cd822b68501b7158630377cb75b6296f4a89b Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Sat, 23 Mar 2024 13:43:01 -0700 Subject: [PATCH 3/4] use released sourmash --- package-lock.json | 40 ++- package.json | 2 +- pkg/.gitignore | 1 - pkg/README.md | 41 --- pkg/package.json | 29 -- pkg/sourmash.d.ts | 92 ------- pkg/sourmash.js | 4 - pkg/sourmash_bg.js | 566 -------------------------------------- pkg/sourmash_bg.wasm | Bin 205418 -> 0 bytes pkg/sourmash_bg.wasm.d.ts | 28 -- 10 files changed, 20 insertions(+), 783 deletions(-) delete mode 100644 pkg/.gitignore delete mode 100644 pkg/README.md delete mode 100644 pkg/package.json delete mode 100644 pkg/sourmash.d.ts delete mode 100644 pkg/sourmash.js delete mode 100644 pkg/sourmash_bg.js delete mode 100644 pkg/sourmash_bg.wasm delete mode 100644 pkg/sourmash_bg.wasm.d.ts diff --git a/package-lock.json b/package-lock.json index 89ba929..c76b49c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "lit": "2.0.0-rc.2", "lit-css-loader": "1.0.1", "process": "0.11.10", - "sourmash": "file:./pkg", + "sourmash": "0.13.1", "util": "0.12.4", "worker-loader": "3.0.8" }, @@ -2757,9 +2757,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -5401,8 +5401,9 @@ } }, "node_modules/sourmash": { - "resolved": "pkg", - "link": true + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/sourmash/-/sourmash-0.13.1.tgz", + "integrity": "sha512-8vZnKkfVIs4ejqJIaU0lacc4o70HVUQShDP5WaRtQtXzNYEeOrESbIMRLZaHFcIUXcPdBUAhrjF1qFvrjuFO5g==" }, "node_modules/spdx-correct": { "version": "3.1.1", @@ -6156,9 +6157,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "dependencies": { "colorette": "^2.0.10", @@ -6532,11 +6533,6 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true - }, - "pkg": { - "name": "sourmash", - "version": "0.13.0", - "license": "BSD-3-Clause" } }, "dependencies": { @@ -8642,9 +8638,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true }, "foreach": { @@ -10602,7 +10598,9 @@ } }, "sourmash": { - "version": "file:pkg" + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/sourmash/-/sourmash-0.13.1.tgz", + "integrity": "sha512-8vZnKkfVIs4ejqJIaU0lacc4o70HVUQShDP5WaRtQtXzNYEeOrESbIMRLZaHFcIUXcPdBUAhrjF1qFvrjuFO5g==" }, "spdx-correct": { "version": "3.1.1", @@ -11154,9 +11152,9 @@ } }, "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "requires": { "colorette": "^2.0.10", diff --git a/package.json b/package.json index efd503b..b19f3cb 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "lit": "2.0.0-rc.2", "lit-css-loader": "1.0.1", "process": "0.11.10", - "sourmash": "file:./pkg", + "sourmash": "0.13.1", "util": "0.12.4", "worker-loader": "3.0.8" } diff --git a/pkg/.gitignore b/pkg/.gitignore deleted file mode 100644 index f59ec20..0000000 --- a/pkg/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* \ No newline at end of file diff --git a/pkg/README.md b/pkg/README.md deleted file mode 100644 index b71baaa..0000000 --- a/pkg/README.md +++ /dev/null @@ -1,41 +0,0 @@ - - -# sourmash - -🦀 -[![](https://img.shields.io/crates/v/sourmash.svg)](https://crates.io/crates/sourmash) -[![Rust API Documentation on docs.rs](https://docs.rs/sourmash/badge.svg)](https://docs.rs/sourmash) -[![build-status]][github-actions] -[![codecov](https://codecov.io/gh/sourmash-bio/sourmash/branch/latest/graph/badge.svg)](https://codecov.io/gh/sourmash-bio/sourmash) -License: 3-Clause BSD - -[build-status]: https://github.com/sourmash-bio/sourmash/workflows/Rust%20checks/badge.svg -[github-actions]: https://github.com/sourmash-bio/sourmash/actions?query=workflow%3A%22Rust+checks%22 - ----- - -Compute MinHash signatures for nucleotide (DNA/RNA) and protein sequences. - -This is the core library used by sourmash. It exposes a C API that can be -called from FFI in other languages, and it is how we use it in Python for -building the sourmash application (CLI and Python API). - ----- - -sourmash is a product of the -[Lab for Data-Intensive Biology](http://ivory.idyll.org/lab/) at the -[UC Davis School of Veterinary Medicine](http://www.vetmed.ucdavis.edu). - -## Support - -Please ask questions and files issues -[on Github](https://github.com/sourmash-bio/sourmash/issues). - -## Development - -Development happens on github at -[sourmash-bio/sourmash](https://github.com/sourmash-bio/sourmash). - -## Minimum supported Rust version - -Currently the minimum supported Rust version is 1.65.0. diff --git a/pkg/package.json b/pkg/package.json deleted file mode 100644 index 938f0d1..0000000 --- a/pkg/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "sourmash", - "collaborators": [ - "Luiz Irber " - ], - "description": "MinHash sketches for genomic data", - "version": "0.13.0", - "license": "BSD-3-Clause", - "repository": { - "type": "git", - "url": "https://github.com/sourmash-bio/sourmash" - }, - "files": [ - "sourmash_bg.wasm", - "sourmash.js", - "sourmash_bg.js", - "sourmash.d.ts" - ], - "module": "sourmash.js", - "types": "sourmash.d.ts", - "sideEffects": [ - "./sourmash.js", - "./snippets/*" - ], - "keywords": [ - "minhash", - "bioinformatics" - ] -} \ No newline at end of file diff --git a/pkg/sourmash.d.ts b/pkg/sourmash.d.ts deleted file mode 100644 index a93e392..0000000 --- a/pkg/sourmash.d.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** -*/ -export class ComputeParameters { - free(): void; -/** -*/ - constructor(); -/** -* @param {Uint32Array} ksizes -*/ - set_ksizes(ksizes: Uint32Array): void; -/** -* @param {number} scaled -*/ - set_scaled(scaled: number): void; -/** -* @param {number} num -*/ - set_num(num: number): void; -/** -* @param {boolean} is_protein -*/ - set_protein(is_protein: boolean): void; -/** -* @param {boolean} dayhoff -*/ - set_dayhoff(dayhoff: boolean): void; -/** -* @param {boolean} hp -*/ - set_hp(hp: boolean): void; -/** -* @param {boolean} track -*/ - set_track_abundance(track: boolean): void; -/** -* @param {number} seed -*/ - set_seed(seed: number): void; -} -/** -*/ -export class KmerMinHash { - free(): void; -/** -* @param {number} num -* @param {number} ksize -* @param {boolean} is_protein -* @param {boolean} dayhoff -* @param {boolean} hp -* @param {number} seed -* @param {number} scaled -* @param {boolean} track_abundance -*/ - constructor(num: number, ksize: number, is_protein: boolean, dayhoff: boolean, hp: boolean, seed: number, scaled: number, track_abundance: boolean); -/** -* @param {string} buf -*/ - add_sequence_js(buf: string): void; -/** -* @returns {string} -*/ - to_json(): string; -} -/** -*/ -export class Signature { - free(): void; -/** -* @param {ComputeParameters} params -*/ - constructor(params: ComputeParameters); -/** -* @param {string} buf -*/ - add_sequence_js(buf: string): void; -/** -* @param {File} fp -* @param {Function | undefined} [callback] -*/ - add_from_file(fp: File, callback?: Function): void; -/** -* @returns {string} -*/ - to_json(): string; -/** -* @returns {number} -*/ - size(): number; -} diff --git a/pkg/sourmash.js b/pkg/sourmash.js deleted file mode 100644 index 87464e8..0000000 --- a/pkg/sourmash.js +++ /dev/null @@ -1,4 +0,0 @@ -import * as wasm from "./sourmash_bg.wasm"; -import { __wbg_set_wasm } from "./sourmash_bg.js"; -__wbg_set_wasm(wasm); -export * from "./sourmash_bg.js"; diff --git a/pkg/sourmash_bg.js b/pkg/sourmash_bg.js deleted file mode 100644 index 154f338..0000000 --- a/pkg/sourmash_bg.js +++ /dev/null @@ -1,566 +0,0 @@ -let wasm; -export function __wbg_set_wasm(val) { - wasm = val; -} - - -const heap = new Array(128).fill(undefined); - -heap.push(undefined, null, true, false); - -function getObject(idx) { return heap[idx]; } - -let heap_next = heap.length; - -function dropObject(idx) { - if (idx < 132) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - -function debugString(val) { - // primitive types - const type = typeof val; - if (type == 'number' || type == 'boolean' || val == null) { - return `${val}`; - } - if (type == 'string') { - return `"${val}"`; - } - if (type == 'symbol') { - const description = val.description; - if (description == null) { - return 'Symbol'; - } else { - return `Symbol(${description})`; - } - } - if (type == 'function') { - const name = val.name; - if (typeof name == 'string' && name.length > 0) { - return `Function(${name})`; - } else { - return 'Function'; - } - } - // objects - if (Array.isArray(val)) { - const length = val.length; - let debug = '['; - if (length > 0) { - debug += debugString(val[0]); - } - for(let i = 1; i < length; i++) { - debug += ', ' + debugString(val[i]); - } - debug += ']'; - return debug; - } - // Test for built-in - const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); - let className; - if (builtInMatches.length > 1) { - className = builtInMatches[1]; - } else { - // Failed to match the standard '[object ClassName]' - return toString.call(val); - } - if (className == 'Object') { - // we're a user defined class or Object - // JSON.stringify avoids problems with cycles, and is generally much - // easier than looping through ownProperties of `val`. - try { - return 'Object(' + JSON.stringify(val) + ')'; - } catch (_) { - return 'Object'; - } - } - // errors - if (val instanceof Error) { - return `${val.name}: ${val.message}\n${val.stack}`; - } - // TODO we could test for more things here, like `Set`s and `Map`s. - return className; -} - -let WASM_VECTOR_LEN = 0; - -let cachedUint8Memory0 = null; - -function getUint8Memory0() { - if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - -const lTextEncoder = typeof TextEncoder === 'undefined' ? (0, module.require)('util').TextEncoder : TextEncoder; - -let cachedTextEncoder = new lTextEncoder('utf-8'); - -const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); -} - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}); - -function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length, 1) >>> 0; - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - -const lTextDecoder = typeof TextDecoder === 'undefined' ? (0, module.require)('util').TextDecoder : TextDecoder; - -let cachedTextDecoder = new lTextDecoder('utf-8', { ignoreBOM: true, fatal: true }); - -cachedTextDecoder.decode(); - -function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} - -function _assertClass(instance, klass) { - if (!(instance instanceof klass)) { - throw new Error(`expected instance of ${klass.name}`); - } - return instance.ptr; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedUint32Memory0 = null; - -function getUint32Memory0() { - if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) { - cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer); - } - return cachedUint32Memory0; -} - -function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4, 4) >>> 0; - getUint32Memory0().set(arg, ptr / 4); - WASM_VECTOR_LEN = arg.length; - return ptr; -} - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_exn_store(addHeapObject(e)); - } -} - -const ComputeParametersFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_computeparameters_free(ptr >>> 0)); -/** -*/ -export class ComputeParameters { - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - ComputeParametersFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_computeparameters_free(ptr); - } - /** - */ - constructor() { - const ret = wasm.computeparameters_new_with_params(); - this.__wbg_ptr = ret >>> 0; - return this; - } - /** - * @param {Uint32Array} ksizes - */ - set_ksizes(ksizes) { - const ptr0 = passArray32ToWasm0(ksizes, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - wasm.computeparameters_set_ksizes(this.__wbg_ptr, ptr0, len0); - } - /** - * @param {number} scaled - */ - set_scaled(scaled) { - wasm.computeparameters_set_scaled(this.__wbg_ptr, scaled); - } - /** - * @param {number} num - */ - set_num(num) { - wasm.computeparameters_set_num(this.__wbg_ptr, num); - } - /** - * @param {boolean} is_protein - */ - set_protein(is_protein) { - wasm.computeparameters_set_protein(this.__wbg_ptr, is_protein); - } - /** - * @param {boolean} dayhoff - */ - set_dayhoff(dayhoff) { - wasm.computeparameters_set_dayhoff(this.__wbg_ptr, dayhoff); - } - /** - * @param {boolean} hp - */ - set_hp(hp) { - wasm.computeparameters_set_hp(this.__wbg_ptr, hp); - } - /** - * @param {boolean} track - */ - set_track_abundance(track) { - wasm.computeparameters_set_track_abundance(this.__wbg_ptr, track); - } - /** - * @param {number} seed - */ - set_seed(seed) { - wasm.computeparameters_set_seed(this.__wbg_ptr, seed); - } -} - -const KmerMinHashFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_kmerminhash_free(ptr >>> 0)); -/** -*/ -export class KmerMinHash { - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - KmerMinHashFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_kmerminhash_free(ptr); - } - /** - * @param {number} num - * @param {number} ksize - * @param {boolean} is_protein - * @param {boolean} dayhoff - * @param {boolean} hp - * @param {number} seed - * @param {number} scaled - * @param {boolean} track_abundance - */ - constructor(num, ksize, is_protein, dayhoff, hp, seed, scaled, track_abundance) { - const ret = wasm.kmerminhash_new_with_scaled(num, ksize, is_protein, dayhoff, hp, seed, scaled, track_abundance); - this.__wbg_ptr = ret >>> 0; - return this; - } - /** - * @param {string} buf - */ - add_sequence_js(buf) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(buf, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.kmerminhash_add_sequence_js(retptr, this.__wbg_ptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - if (r1) { - throw takeObject(r0); - } - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - to_json() { - let deferred2_0; - let deferred2_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.kmerminhash_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - var r3 = getInt32Memory0()[retptr / 4 + 3]; - var ptr1 = r0; - var len1 = r1; - if (r3) { - ptr1 = 0; len1 = 0; - throw takeObject(r2); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } -} - -const SignatureFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_signature_free(ptr >>> 0)); -/** -*/ -export class Signature { - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - SignatureFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_signature_free(ptr); - } - /** - * @param {ComputeParameters} params - */ - constructor(params) { - _assertClass(params, ComputeParameters); - const ret = wasm.signature_new_from_params(params.__wbg_ptr); - this.__wbg_ptr = ret >>> 0; - return this; - } - /** - * @param {string} buf - */ - add_sequence_js(buf) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(buf, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.signature_add_sequence_js(retptr, this.__wbg_ptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - if (r1) { - throw takeObject(r0); - } - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {File} fp - * @param {Function | undefined} [callback] - */ - add_from_file(fp, callback) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_add_from_file(retptr, this.__wbg_ptr, addHeapObject(fp), isLikeNone(callback) ? 0 : addHeapObject(callback)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - if (r1) { - throw takeObject(r0); - } - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - to_json() { - let deferred2_0; - let deferred2_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - var r3 = getInt32Memory0()[retptr / 4 + 3]; - var ptr1 = r0; - var len1 = r1; - if (r3) { - ptr1 = 0; len1 = 0; - throw takeObject(r2); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * @returns {number} - */ - size() { - const ret = wasm.signature_size(this.__wbg_ptr); - return ret >>> 0; - } -} - -export function __wbindgen_object_drop_ref(arg0) { - takeObject(arg0); -}; - -export function __wbindgen_number_new(arg0) { - const ret = arg0; - return addHeapObject(ret); -}; - -export function __wbg_new_3bc3d09a25cc4843() { return handleError(function () { - const ret = new FileReaderSync(); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_readAsArrayBuffer_28a86d3f97fa11c7() { return handleError(function (arg0, arg1) { - const ret = getObject(arg0).readAsArrayBuffer(getObject(arg1)); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_size_97217f6c840f58b2(arg0) { - const ret = getObject(arg0).size; - return ret; -}; - -export function __wbg_slice_842ca3d105677ae4() { return handleError(function (arg0, arg1, arg2) { - const ret = getObject(arg0).slice(arg1, arg2); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_newwithlength_a20dc3b27e1cb1b2(arg0) { - const ret = new Array(arg0 >>> 0); - return addHeapObject(ret); -}; - -export function __wbg_set_79c308ecd9a1d091(arg0, arg1, arg2) { - getObject(arg0)[arg1 >>> 0] = takeObject(arg2); -}; - -export function __wbg_new_73a5987615ec8862(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - -export function __wbg_apply_2ed8aac218b83e42() { return handleError(function (arg0, arg1, arg2) { - const ret = getObject(arg0).apply(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_buffer_b914fb8b50ebbc3e(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); -}; - -export function __wbg_new_b1f2d6842d615181(arg0) { - const ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); -}; - -export function __wbg_set_7d988c98e6ced92d(arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); -}; - -export function __wbg_length_21c4b0ae73cba59d(arg0) { - const ret = getObject(arg0).length; - return ret; -}; - -export function __wbg_byteLength_4f4b58172d990c0a(arg0) { - const ret = getObject(arg0).byteLength; - return ret; -}; - -export function __wbindgen_debug_string(arg0, arg1) { - const ret = debugString(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -export function __wbindgen_throw(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); -}; - -export function __wbindgen_memory() { - const ret = wasm.memory; - return addHeapObject(ret); -}; - diff --git a/pkg/sourmash_bg.wasm b/pkg/sourmash_bg.wasm deleted file mode 100644 index 9954279791260031918f7bd2a14c4d73a94b3a6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205418 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

YAI_9TnuPSjd@{I!kU zY;{OSZ|fPb&j+xHAs`in#ZDQ&Y}&E z!AOsGI1QmwmO#1xL<`7v8ftU~KV>S9V}9;bk8;NzS0W~Cr_1lB2K>IaC41)R8h<0@ zQ)?G@VAJtRGV_U|4#ALkz;W+hp^`Eo9koK{{dh`>_aVN(G0O}sahU3LqcXx}FV$CS z#cL6<6p7AEgarCu?og#HXUj(FFs%6h@!fFUZ2jclhA$JN^;n_2^eKM2ngi+2-AZnlf88U9uB zYiGY;)V@$U7FXombO#=9s5Lg-*kx7~&Dt3T3-KSzQVLe5BJ^zCu_5 zGoC@Wt+I(};H(|2mK>KcUquasz^H^=^>bu~Iah9&GzoKSD`$Bz<~l4elt>_I*^oG$ zN58g245a$vb=?A5U|>2iRJ<&S#0!OjA>)xeu~MXwhm5o85i)RCb+>8dqR*3yQ|3p} z!=vrnCrk8*xA?+hhr(Y|@+AY4+#);f`Po}5hOKi+A{*adZblD0Nu(VR{vdLs*lQlQ z=8tdmZxoC|tZ8*=d15EuCb`T-ME8rRB0iIxNGgF)Bc1#IaBmab6XelazskLkDh03sR2pr0a2A78m ztwt;ygQ!LA$Uz>C-f{!C`AayJxuvGmp4=_Fn72@R<9f>~xJWOP-N8fzmC_mMuFL#A z_9Z-`#eAEgy*JwL@eTdj>h|$Dt?fJSKwG^X7HP9TuIsD;!XHH6@?HDR_XNEu(;YG8 z4u`a~=_U$7IJ!r%_u3)dvm>A3n?U!&^pm+vP&P}pM_im}i`s^YeLkX{yJ?s^=S{<1P4_Cg*ULOy` z;x#gHF#Mng7Eii8v{{vlAebqZ{f=s&WP?3hMs$CfzJ_P;dn&*+R^y=(X8eA=mf9jV{Nww#oa_Ak}@}SvqFSMxepW|E5}* zzRW)T>l23@ZS2iQO}ocNKb7>6+qwi*EAHzlvrCIlotRTqq=kN9SadTQt4y_&cW#5F0n>)4 z>A4%6t;ZOUuwgD_#hNZDJ~iQaO$lK#6v|a1WEIj1xH*j74}{M2P^W!^q#Hd?uM?gx z>n>Pg!}e>EwAF81s2cJ3zVy+V{v9HklG7>fc);iAlQ$|cMaduozyu}|1%aE zJQidbJ;8Iqmy5e*fe?&_RW0U)?2prnJV$Qm>fcgv`o!8in;Es8$OaBK9crM@&Mau7 z;_*iP5mrs4ElWd$ZtZhP!l8s{F*8QsD2_jZw=f_Y_lurdXa)-x@tzkH=TZ9&ZD{NF z3zp3(qOGxLhe0B9-`Jfqn^k{)ec#`D5rdx@b7JY6Wlt5o7NKi14fsvB*7~xv?VJh3 zK2dnf2Rf^l(CLsI>5wq?%MWwAuO#19j&yqKc6-1HC<`6lC_a@ei;8W0l2{h0wLM~1 z)N?&>1%=B@LP*l#?zy5|8@0K*uRsaH&W(1gU|WKa<`iBxSLY}WRVy$fN$Vu&N!0G! zyC$xMdTRT5<`|fO;6)%ujc>p?jPmxNw~-d@KMAFrU*kz4(y=#t@v%A=iJaD*RagOW zR%&#@C%B|JD~!dUn?~@`z@Mk(VQMZVY1#HW&)czGDP1N%IQHdA%7a_@Beye>5d2*B@M()1#rTuSKq1`V?ucVie zykUF?;${ra@iGc9yX86wzGQCsFnz9^)0-F~`JmW~MrE_@D3U8gL$)niKcecpB)Eu^ z`Bvy)cV6XO;t2VV73(9T$dm(6-|V+-!(vV@NAxNY+x>ImO!7NVkwhjOC(qtt6e7I; z>P>BR2RCeJ@#1sG{Wa@8N4_O>?Sp0#|K5crc?^i!gfQbLi0#4-b=je+Afu1q7q}cF{pI>l_(U6 zN#mzAX$@ymS{Yk1sL(H~Caw_Vl4-3Yq)gtvP?ud^M#N|#qJ8D2)ECX>cj$hCtyV{T zrC%6(QL!(j#V)8CUqgk4&-79lRXvg!#^R($oQ^*<7=yjYtWM<=jdFTuIrAeC8x@Z% zuYK=b5&cX^^hWBeeL7NEsHSR72iDOr*D|nLTt*M2gu)7~7`8T3!jRuQODt_bpW^NL zG@O_X;&?LbZ2*oOyh1<_!hhT6^$=YJdSL4GsPNe60D)o^)@BKLT@kp3h?Y8y5N!{0 z!v<{_O0n7Gn8~!08nw)4z@Dc<_(3XaCriP97rgm1L3<~IVL9b-3VJ;yl7RNr@jY2; z(&4C}wfww{)d+7=vV++3kzo}D^76I_uOM7z-;=|2(@`3|kdhyf;Go%4vpsTbuik?s z-;z;SV`PM)G|LSKBRT%|@HeQF5vVhEhK?j{nJS;)28{A$El6R|q8~h#%awE0fS2Na z5JgZJt+47K6p}T}X=hMl%nkL7(b=^WDd{VE6)%cAmI!4RD?ToD(;qWp&nmW_hsY{X zd)<8$0Nv|Od(>S_eClP81@V?3^R~))3!dZVM)05Azu~Be45boLb&S!~aDZzJ2>U*M zaGm#o84>5&b{7_}j-b|f-7q&2A_X@YHr3B}%77EHm5}mOZzt9<&#EuoE!pcQ%8@nf z5b`WiKa$)%{_(B9Ytp`XxwQ`YxM2Sndb4kxZ?BD3KHq|98LxDuUEj?DPSXxwmymYu zyAc@4C5CF|TA7>`vj(g#)5bumHfb*Tc}D7{_rq}(3Pb?`;VYk>HVZ$Ze$tMIVbOx# zIxDJ430ls!(;>$Gl~E!CA*y)oMMJ-va5t+Jbw4*?LQ3aDD4}F~7gs#r|JCaYoqPz7 z8rLJuk1f!|f>RI#8P=yp7Tw^&)i2(J0%A8(CEpM(CvP3MIcP&alaPdU4L>-z)y5;5 zYl>e_hM^I3>QC&tV-=*Bo%5xeh8c|pLnAe|I=h&@C+O;U#Y$jonT8-@`gJ@ z4}0#2hwNa3Wg)7}bQ_+ugz`Y+Ic>%8R-X%_I_Ad}@wW@2i{NzaO&k6~4JWyx?r#ZN zp1ZHa7VpWIXJYmgL)>^uctO=>=?^35ldb~k-s7sz)fq4q7la=w0lyLq5*uq)X-J+O za#=S>6(Y?zi?OERv11;q}Sf`>?3PT6>A2IFF809$& z4=Z#H6t4xgcLmE*im5k>8{Ue1)P3 z%S~$Ef-hf&3*eD5q?vdtgV3?*DWgu}Qf+}!yce%cn_42d^nJYbp|do_@JpRpFM$?p zfbwpUdpx10P$tMa^NvOcnW;Co)+W1$xSE$9TNYa@aAG3Y3d^fwp-=#MM(B)9$Tk|( z7`)M7G=ci{AeZD7yS4qr49@`_H7WNS-53A(t$5%Rq{^pR);fZ7!pXA-LF`AEFr_4NsCM8rrtpmMM;f7uAMUW z%Q3FPG($NZ!_4&wI0hQe9_;p`vPSG$lZ{Xk1bdI9e)VIh%G=C0H8?~YzJizKy9g_( zED}{3=kkGe{CBJ{bJY1M?Lkv|!fyN*H1pp@cHT&5BNVQGy=WPGC0-^EYOg?QusS>D zjE4SX$p3)!#R}0M9XzMi;gtU4cCi1VnryK|{|88J-i@blj$VlDeg^ph|a-Y7Is`Nni~Smanq1q|zC!-;}VPZ9X;h!%T6gr8FlM(AfWA zX~#wu5ZOGLoDCHu(c`zQy`b#FEZ(gM=8Ob$iWK>{i%0t|usKpszC zo&9!ws4&y+6N;)vX&~?2hUWmR>`_&In~rHD?F1qz0&bu~R`~I%H81JSbCr~4nA-P3 zto~)_BL@^>&ux!rfiE$jlj!$VBsmPhwG8T%{ewAkY8peH1;0QQS-i}jW61LpK1&$E8sqj|!ekg)Hpmo_6z;bwj0&59Cf#Mk*l{US zzSi2z?vEt5R*OlzA`(!l$G>#a1HC4$XrnwoffF7nm0F;bsyzjEKftiVPNozZ_~dql zo-@mD>U8Z;y2?BAFOf$!lhxr(g^Lzr=PhvBzyGhW2>uTl#^TO@7{)*Z3Kk&!|K7H< zleyJj3IM%-wQUV(7l@7e|Gn+MLFRzA_+9>dZXk9PxZwWns{r;Ix^^A|LZf`SOZ zDFgw@0OSFpnF;_FfWQFx4G9F;w!eIlzl3Or00n@E$3Fx<3XoC2d00Tcd4PQnu>ZiuS!|I;W1 z9e|bL1^{#d>QDz*Am~I1APDzcnF)X-2dF~!2V0J=Whb$9|TBu& z3KIbUGr%!2_$_ik2N2u*BaEdCr~}v+U4R9)_g{%4M|~532BkFs!Ng3*{2O=oM`{O9 ze<+|GU|ay>1UPs8rmzwj1CUwHfAq8d>NY@K6>uf~tqhR00xa{V??ittJdnEun3ceb z_&+`(5#=8d9Y7UCfbpd9_=AdM23X+S;|EwE+DRK=fpg;TegXM3z&8FXF>CYcw7NAH3GvL|) zv>JY28*6JbW?e=m4q*6$5PANA69Z=&aGd_#2hNYbePBEh{hQDEA3oQA_@Dm6=l%~L z_=hVZVEU_l-v97L06yWrofrKNAGj9(`+4#I@PRMJ{QG&y|L~>$!v|gmVE%7_1i%9Q zP8k3TjJLm0ZT|;a75|mX_P>f(0SLjmfEfh5XbWC{5Q;f~z5)LM@V5_K2Vel{ztRZ{ zM_K^j`gcgPas1Di*7E)n)3JbufZyX|W$Oq~sszwCU2K8aQ^4)xANck^+-d`WmLEWd z&cW8s4yg833h3wG<6H*VmvmGGDt!Z1Jpe=A=g<8H3t)lu+c*O>;{ZZoKm{8B;})QO zVgzLI0!6|9X^P0%(HOYi0jPeq1{MIlTL945>9_1H5kRod&qQL4H7@3$^SlQS)IQ0z-0YpyczcvFW8vr@;Z|`3gh!+zGc#pwScm~4LB5afb`$I{X_fxFSmaYIZ@!C z0dA~7pz!Ynm&ghrzV^Qy|9iCmms3D`BB1R5b_Tfg8~+1`*5lIq*FFtE{@sB{Py7FU z$opT1fI^D^mir%B<3F7Ae>^=By}xmc#sFzeJHWI9GzXM^`3-&k3+nvWt;0dz#`K>I z&Nk*i9drPE8t~)ybOS2IIM`bKn*=4LmNP&#jDZ$t7)7c6der&P!TR&bEsfp(5v9`q zYc&4u%irh6CmnaLWkz zLy9g0Sm0wM0F7zuKndV*0$9^P#`K>80CqFr+#nzifba$~{#V|4fCWB6ZUQWD{?`N2 z-?7yI*lz?RU~B<5fPhw2a5o6t)JLMU)c>(zqgRS;d7%C4$2u9Lf1=P=tNo{vi)k4H zq@-CGGZHH|j{+JYyyKs2IAuaM!MNuS`d`k?wnOXh(MZ_TIV7$I>ewQG)o0)JBUz9} zb|NSihNy{GwWVDy;DpL8m=p*!Wo>XqF#L>iM~5mzAyfdR-TR&}|KR|R4mlr2VZ`68 za=x*pePL@^9yCcwa>YU*8FBn2yK2)29SH$V)s{5H$U?}XYjEG|kLFUwLVT;M% zr|}+QKJzVXuoH(R&5DZNAYeW^ijRuy>F#Hj2~AIFJD_L>zxUwgF)3gvpKg#F3dFC; zTu3lXCQ#5O6^w(=`G(mg<-QiM;j`>5myQ5iw~b;}u4yopV)QX-R|gY`h?79+{HK4> zX2Yql!gmz@T3W1<4|3y*GI8n_MN!46-D;=;`99T+p7Io>i{8sOla~Z6^2VLILxqa1 zs3VoV{M}eFg-5BU_pl%%)zJ)xW8^QhcyNo<1p9TnV+dzV0W#gyY%7T_HUd#enJv@8KYz z%zKf>kZ4euMz(sj`KBkOB*(abj1Yd-AcvYbq;?4+~W+gpN@u6DOqWEEFRxYLDk!+tXFd+vw>_O&= zy>4s~m(`ysQ0L)I4w+kv9$TfqQ$^_&5+E;p388vcOdQIKQij6`!a^vYoNgH^E`K;16KA<$V}UMraDRQq0SKqwb3E+thh?xP@(Rvy)fi@lUHGdHJUJ+eHurCPv@ zf#&JI>Wb{C#{F|)zwD?R8R_GMo<@MqWk1`8!tzq^2JF@XKQS|`8_Pb0V^x)mShS=s zAdtV@Kax%rk!-AaJ0Yn;vE*$- zs0^9C&E8FVrAb({6!(iYs0f~}VORe=`T!V&iUe3kS_TI8;h3e!ItLrOE0pLj z0ETF;VVA19x&uOT%_ZKrY1x!N9_WTU>Ww{06eVWCiHg8D28*x$YD^cxVlax0m@2C` z8Ike3fqk=`hk;^JlQPa zz3yiyG_zd^_s9?Q8-Xs^dV5$t&F^eqXWyXUP`myDElo9FLT<#ntG!!6YwHUK4MjVxaEhz$(|V{vqJddAEBxgp zp?u_Ln?PBMLpHmk)TB1dg`|@9!-Yr-JoD{(DDciUi=@%0H%VV#3bd-j4F>xisai7a$Yu=po~Chvsz;76%tb!-r?Rm zvxPBEeRtRAZhp-(3}wZ4MDF(b`?L>3W@G3YD8cd>sZsT21zwsiPUxzd_|t`wTfDJE z3NPq=w`;;)mE1fRH1`{WnDau;2= zJMzWAV+{>murIsA32I zjTIn~Xcy*Cg44A2!T8*%7B#~;6bJE(^IZfzFZ6y$5Fw^cwx?F;5e(bp~q7di4G-%RCVr5nRAX`Z65K|GUq)1|Gd?M2MrsMl$b9G|T)7X$TqZ#vu zii?DeYdu*G#b_K9uu>wYEAH4dKIYin!AKg5CCItkx>V7k42aQe_BbA>twsKLwJimf zSBr}}6zKFNi6?2>lm-f6(G{CgCrFsiXPb8%2pI0V1xJRybtvC9MC?k8d!Y%tGMWZKtOOBX;Zoy5apGSK`E_8LN-k5i=ro(WL zSQmOLQh12H`tEkq-hmud@iP6&hu4jF()gLg&cfYyBzbjkS?Gu$>9Q03IE4w`CObmehw?TrYZ__U z`W`j=!Q0L0lfnp@&!Q)at`~uf{_6wP(0iCh#)@YFUqdWd|B(dZ*@f&r3bJ9A(EwD} zaX00O<{zfE@YX`a73_o$_OxpS38RD>cHt8;Y7bZg*X`a4YxBMyS2=vV<&UUvr}RSy zbRBO!P2ZSa-0ukI$*!`AelVJ_Jz{jf48&o(;cMaGj8Zh|Je7ftSUIEV?Ra@s0yuG4 zLv5zH=h{fA*$I8sg2x2cP6>P#`}8|(YbqPrV zy84lNY!D-OhqL$xRHbF6zWY2f_mj|=A#0dKt;DL$OwC3M502I-1&I+R)aIn!M_pW( z-6x*-`0MioVJ!jUtt_jP4N=1bf z$&!##(jt+HHll@OYeRb~`JQX!zVG+@{(ioX@9+1|@A3Fu9#3a`o&B8GIoEYwuQN^z z2O;ZjsFC&!5`goD|H>pUux@zFAU!`1S0= zoaPf-O#KE|&@M?jylg2rZ9JRy`7o0LBB7M_=_6GvO z6Cw5f*J!2NTFBY4y-&F-q_dW#1(S>Rc}beKrKpSt99prm_lbm6%&3+29qrcj=htxN z1=rFac{xPn_2u2J@W!ma6ZwGb)Yb56og2eqU@pS0W+Gkkw9(fzLi}3P%R>2+yWaKC zTYk2OJn{|eNr}&R6EU-rqBM&W&eBO3JM!frX&qCWC0k%95SFjDeniQ95Kr?IYdU@F z@#RxFgQ+e(FCUW5QnEw_WYx9|!*hMylr3Y(BBdpw))6GDwP%a`{TEB zvjZe*?51thB6G2;zdbq>)V2wcKAP`)-;Vis=e7z_I8nKdalKghO0T{Lk=t6j<+ki@ z>b+Mhx_Psf_}zt#%N|QalFl9vjCdVq0tT={}Mlk)|DF zn)0cw`#_<})C(T-G08FVZjfV8_4J0dX9F+hPcfgmmtPRhT(Wd+*r)S9PUX<7YR~U~ z(wim~wnWkAK&CM{=Ik!%&&*?U)drQnr|<<5-`pRcQ>?2mY~8=(kUWk=SJ@W(rA0os zy71XCQK_&~WYL=&WR(et32mysFLcG5NN(L!V>ewg=Xb}g+qbl!kbZNjRluG3dx9WJ zn6Q0Lp%~TwTJ7N#08a3QpVa+)BiXq}V{@IgWaio46{4T~WyK!#FTMOR;#Kd`!S0yr zlc|&)yURP?h#hb2S6s96Xhkt=bEE@idPrPp%@n#+Y{yx#ou3Ad$~O!)JtCB|ds_UC12?W0B+8^F|MZLqx+B z<4qG(e8mq99@?8eDkv={Q=r}H+OS4+L{wOh)h~YD)?Be9F3;duNZyf zElb|$E8|z1R@E(C);4|dZKf8@w$Zk+=n|J)6 zZV#MSwohA2T3saPT@iTYbs=E%bdk!y~kh+FN2R`pD~8cloS3 zb$iwsk}X7bbm|HiGV&b1I4e-i+!8z(EmA7UP(Lg6^9R?JcFoaJX&~injr`Sh>gu1! zWS#XwRk=D7G{RlVxum!D6751;rdD`Kp9v?5C}`~*pdBsWlfw~XTz10?vK1aBkPD2q zQ;a`;R&f^^zB6#~n}qp+gHL~bzA-aw(h&LbmJc08rqBz$^fofPzbs8P94DhEC1>P* zx#s7;kQLC)J0aQo?$vIV#?Zj2b!lZ@D__$Gm!zB2yC=VVTXxT`Udx%{X=tF{biF$y z{(j=9U4|3um8x%>mu{a^K}DcL6l$xOWX?FJUMcSM)_3Pm<@U5wepvK#o2r(Id=Sm) zPdtZ{^4~PnrX=gQa+x`|I#2;CZkL^WINRu&N!3r^XcYOJd5{E>}AyG(*1=UcZz#HsxJ*QOPVvD$U~)%5cUdvd+eNJ1wOUuiyXFs^>; zoWy6f$)AR0hEAdL`=vf*DA2t=zEl6%cq=ArUgX>tR0~<{&D!z3G6S+J=abLNKJ=9Q z=#0%YOHF9v%+K$gtUOEqVs4-hLH_N{TG~%{ykAP0I{xVc6ryM3p7C~XIZc3-!}z+a z=%V+};n2&`4rF7oz69?bBR`VVC$a*(OrsA{T=&lP^?oZH+cIF_e|JYK>&)QoIHCRV z8P^h2CruvQ7IUR>Rky72>pjxBYlmhfUQ||Ayv}Y@i0$6NDieFtXsOA@_>U{HoyrGm zvjbNmyu`D-{1oQHp1rQ!5bkj2aH44Wfe;~1t?%j4J(kP_Pj%^Zi}xl#^QR?!OG&NY z*^lCSM|WweXnj@FyEcAh!u^Zrj9+Y;D64gJXHkFQ%CA$>8|_qdPbc0^FRdFI()ymm zpq+I6#{OMeJn`|I&GlI>wTeZVZP1jkzNnBFSybRodVb*iwRcV4=3j)yQf|IiU|PTM zhTOczblb~W!RVa#)W`MWP<2vsdnhZ(u@`@ZBzt~iQGB6%sffBpb3;WJGu4}Be~xToM~P+~Z#_1QExmfk?Rv#rxp2PN`0aJJ z4^j|oDy7Io;(IXGp;`dI;$;Gev zTFI%Xwx(^h6-_KRD#NFStzeR5hgWWz|2X?wE$D00MniK2N( zvI$i?RV!gGF~m+!5^STjG)WikIpiPcGPQ2)xVTPn{UoD9pyE{QBW=9qgInCJ!Hd+* zgm+RMTNO+82tRClP+LG6dRiTL!fh48O6mjnEYrQc`P9kgZ?7NjJ2S&Fqf57!UY3&T@R<@3 zaotmYm&|#H^a~6)F;8!(-)U*TU2^@iB3lQ^*IGjgxsR{|U3B3@t1Y}&?7VaACtESp z<&^DeB59eJqNF!>-9IdMQfA%0auPbGU)Md=zxK2GGZ(SaLm4{jW;YPps>5#Vrk|l8 z%<}5NmsJS-2J3OYg$lm4@+}O6*%jD=G?hk}-Q(M`MGn<=kZ<%&K84n(b2pGQ7;UPj0mYBzO4svH~Wcc?#Pxrenn# zfaopXkuTMLnT{~~$#>{1{jymSVYaIQkYQ7X_2X}l5oSmDu97F2ZaRRlitp;Q3l6^~ zfiP>~yG-`_j&1;yU9byhy1OZkRYyaZ4e*@~(<6POOhEe@c3xe#@3AemXJ+B+Hu&(I z^40p~Eu<<9{s;{}?8c)5@#b-S-8|S`kdIVQQOfy?{-O>_tNC*c|CfP4u;~Pp@q2X3 z0DRmEKiL|o6lwJd@SBGVPt|sr{_!8fnt$k19zA`%yTs6a#UJ{TE=Reu`0VLD@bM*h z&{rDh5tyc?3$Pdicrt5zi@VmyzB&a?>%e0={v-~y{mGl6Uj8rVASUy&l+$c)Mft5- zpdaCdo*!Yy_smlG^eKbAs6dHOH}eZ(eER%s|1_!kQo7Q^dlWdiMx~#!K`iUy&sk}( zxCFxQ%f&No<(@Y_Cmd#xxpjn*VFhy2Kv$j%hOZ(ZanLhsJGNj(M8TG;ap<E=qNOx^fYF22T(QSN^w*>m~KQ;bcuS zUuohnqUk^~3zs*q8vFg_0>yT8?fA@sCeJc#&;TI&xCqrapcJu zmNbX;VgHp~@$YK${erSWqeR;R-y1}{FRU2+JiGEW%3gfBRpD0GWa4^q)c3qs?fz0t zTjM2@>Zcx9ul;E#d})s2|ETc9bFZo_79*kazGAD`wys1$moEjc1CJjvS`%H(dVloZ zG8e`i`FOzb(KDSnl#tcew^aFT@7rN~>v>;`n%MO|E#U*P61yt}3=ixM{UK@CF{IF{ zwAan5!u={lh5;RJ$P`)zv-ftXpW6!LDrj#mv5vW z_aak;-}Tjz;}toRXBq=>O|--0iaQeYeqPc@-%ArKS&#Y0y=`R@LHIn|r8OPlUkx0^rTnQ@c)(J!Ntk@KSVQouzlq_TPf*_t6dSH0nEq6tN$Y$x>Pq@r#Kd-Pn z$tM>%uggTEW~@$$wM4INSYoHpb|ObSFYH;~(aH6Ul4`$?wYzJj25!8L_t$(VGAfYh z_Fha?v_~gU{L&H;?Hik_(A!4zPYhD?Zo_t}Uc08-Bb`@*aCxLtI8OsFTZog3=Ut>iH zpUH*3az5OZ_xwB?A^wb>UHvhY*A{N3&f9Wfm(+gA$7l34D+@=n=O)%P&_6vT-#(aW zvagl(_E)L6@3Uz~dg8C~J6~1C%o=((>A~@(cyihgZGjgdr~9AI z6?ClCu%<1UMdZ?M?7!=1Vsyd%axwFK(bc&3?%S_A1<8qC_)#Uq^SW@#`rsZC;}- z_0X8_kLD`}a!zd0MdZu)F@8(Ue&?udi?F%53h_DgqO?y#(WUucf;a6iDW({VJQUS0 zNvm3E>~MaGl1@p-V5hi+<&p#T>qbvh>zG-_k$*}l3+c6z>mtVAUR6+i`^Hl=CO=)J zZzFMd>4&KAC*^g-_eYmE=X?-66j_tERYcuP>RD%p<2O3qC+H5NDztTyBDyVZS(D`L zugNP*sO|5{#QG1rZW%eT{j-mKC*w;+4r?j9Z%6p}-S0)3ER9*qSc*nv&LrL!`i4xB z+paG`6EogdD=To}T4VZARS%5+pd?44<_lJI)*&kG*9P-MJY}W7ctfX~{+RHItgbUp0VE-1;A%%6ZZK@PZWL1 z{CHBO@V(j`o61+RIvEl%yO!81cA47tt6SYWP@+Yqgug4}{mf_I-S*V%l4UZ@HM=6m z!Kf+Z>PAP(8|DyGugTIa%3_Pzg*e{22a(;R^bzL!+yi&lkGnd&z}o(%$`$!le*9rN zemrdSfaS0W^BcnCbbs;W^s5`SUaHkWBptKe`-R#^-adZ%+XUUkQhF$SSK3v(v3X|QK?gP6J)&*|)f16rFWO#iygVA87Aan{ z?t8c3x<2(ITi$w!pV%#BqrPo^Vrt9_v8=&pdQ41I`ltJR=_a3;t1~`?%|p+{CgL@c ztyeein|asVz1rr65HU6{B`bk1 z74SY1BK^Q2gFWrz^o3--Gxy8YRTWsy$;mhRm0Gl;${)41h_1K1a<6P`wPP}Kl}CTu z(rT^ude<`RHt)|PQMB%IHQbUbGc<#X*2FbX3zM$q{8BmoU~JBG)dtsLhLrt=e%AIA zC+d!cD1OsbA&vX1*~)wD-tEzG{Zq8LKK1y|_>!qDb=;4!4H}Nr)r_o!LzbKDiUg)z zhA#)XACxYz@d-zg&4QbB1@(r%wTiY#H{;D+$k$}e^UR;b)QDG3jNaZ~<+A0iD9_pM z;S;GYQjd4>uE$Gx?{0l2Wvmtb`6z9x`TJcnc@wjmG!8@DXx9?wg36kAJioZ4jaQ_l z0`(3ydhUG3n=}^4``-7EGI!(B%Z4)(`Lcrd&Yi!LEjHJvG+1&_Mprp6)n{~m6HBUo zW47FH9cbI^*-KMH{uGYamZ}<)v}*(UM>oAG{7G+X6rwTij%fB~T42T!TO_~bE7Yi8 zRh2G#XuYH^_cK|yDeBO2joDMXvRUsop4&oC^Uq7N-rnp`^G2@XgOsr3-lL4X+L|cG zYDz5L?O`_gD|%Rq=`IrN)?aX21^%)f32$X?voN;Pd~w#gCL#D5vuo$fovN|k7rSchs;h@D zkd{}gq|l@@52|kT@9!6%pj!9q4-W<{{dHl+=&sNZo0&Ty<4jCa0)*n-d-~G8lGBjcU2WcX|e*u4t2|6 zbytPYhhjx{Jc1G^^X_+(FKyP+Om-2kv`Q22PdaUmUucJBb+aV%olO1?uj5UEdCG~GrwT?$rHVR}I=ELoQCo{Q zD;Y`9h&pDn$gZd9A_eK#CcHm$$JG#*Qm@c+JB=xFTUIBMDrT-%5t>la)!p>)y9bM@ z_p5m{o3i$$g-M>BDVJ|BP&OfZxMN0fQay%=y)H}=%IA7y_c1H__^Rw;i??iQ``3>) zN!Vva$DOKf(3UDPwl=B{v+xhovL*|3inu)Ku3lC(W$Z@1Gx<5k&35# z81(DE#m@g8J{r2S?de{}566q5ezP=>S0hK7+!Tu*el;(}wNZX|xTSAAQS&J^`*Xq0 zt_ZQ#3#xLOf`=o^sx*JR-Db_&y1)4Ru?n9ZCy74Wd3)?A&KJxBckKN(VRv_{N3X^R zJ@l0G+(gWm(y|oiD0J%)Nodmf_t{Xxlbqh@Te9be$w=8ZCam@>;bgR9{Fzr9=xJ4f zd*qrF9~{d(<#teVT4L`T?f1=B~VHrozeMIraUvsYzNz+LEW|7`r0WVKQe$$p$GWs-1TGQd(|$;E0-C=hRp* zL)J7V^2nC*xg#xp37dwlNz*K?b|7x;cu_)4++C(TAj&-QwBl-<0=>(MxoU{cg#-%o9GfbxH4T95xa^x_3e) zIC%HB!yd;bbWE+Jke5i?ORhE>na*A($#lM_+;~kb>O9M_%5VPUtY~yvOj~a7+7HP# zkLZ&cRSntuStYIt7bTRmyI;XBg)EM~g%8_vL zn-w|CHgVDCge}>wr%$fD_|2&;WVcdg(pnV>bS8~b`9)zmO+99*xBEAl)#FToormKe z*P9TY3>F&czU?8|y`As3mf9nbd*5UyavVjI9iQLxoD-S*Vf7y6^dSr8Qk{pAlg1P-k+VBK^DejwF_ikHUr2pYq$_>@kRMd- zAe}J&(E5}9pe=KGA@l0yeWHxvY}U+8hnK?y6PdHvSaE6bw{l_M${Fr9yA?e<3#3G+ zDTODPxUfdhj5?_3>CfYQ_nZ}rXRo|J zxms_fH}8@`&x&Bj9~N~jG&gjQuEQH_x-c|hK=)9TIPYI76XiHcKJAiv^hQs5;* zm2j|^>%+KcPepqJnu*eG=Lc6mE8`3IHhl8m!3;XmAD#X^PJ;8>$l=M{ei9;8$gy0{ z&Hs0+RiNG61*+-G{2*KO`yYv_o^z$f6O7K?Oy9Gzk1j_PyRR6_)FAy(mx=RKCWP%m z&Ft~6Fs6Rrrg%_$s{k$>9j2*we;woNV8gbnPWLRcF}GUNZyu8#3~{jC@Hs^_CZO0g zYWWROQhK>>gyzdQ$L;3t?1+uxK=4&lLrX(jLq|hbLr+6r!$8AOQ$tfzQ%h4@Q%6%* zQ%_T0(?HWuOG8UjOG`^zOGisrOHWH*%RtLeTSHq@TT5G8TSr@0TTfeG+d$h;M?*(b zM@vUrM@L6jM^8sz$3VwWS3_4*S4&r0S4US@S5H@8*Fe`$PeV^rPfJf*Pe)HzPft%@ z&p^*mUqfG0UrS$GUq@e8Ur%3O-$38cK*K=OK+8beK*vDWK+izmz`(%J5ERi6WN!$P zHU!ZOVJ|feL=*>z5CiewXdoLK8jV0y*O2%>z5V}IxElVgalVv%04FR=9hTtdt5+b} zLAti!L)QSnDuDk7x&(;JfPPWfwH4T}0JH&^1q6Vfu;+`>0zI23zo>Xvw}hX2bO@}b zq#n+N6$OI+(p?JXL~wwz6$i+@hXP$FpgG0YX0oy{V*7_i^CJBMI6#sDwT1L6Gq zS`z=K(s{syKjIYwL48;^1a2ev0WAlsO+^6dW4@|aBqu67l*bDNLcu^VJCqX$^KYwl%C>WgKA74(O zUtnMqXa!ib8Dy~Nf=T?gf_ncm(Lio&gntxJO^9GehDO324;SAr3~qyXP;VgG&f|hg z0Bs~t;sr$k|1fUAW`1hyz)&Fc3>4Mkfy$BJ->$#B`3=F>`+^fxWnt{Awg{jymSaLjp6UB|- z{#7pi0N`;ro7o_Lpc(;eaQpFV@sHBN;^=;VNqqAQ5Y6SX!~CLxIiN4NF;QR``N#0$ zIdMP(B>Jx;_c6HmOac2?{F%_^@Py{@Eci2;2jbd-DQpAJ;6H_eBft~b?9T+Y0rMBm0?b}3 zSfy)W&bs_PXI&x|^qNK5P96%nx6u=I^8z35B zCqMx}6+knB4OZ z$AhuhzHm64J{%6mf!%PPaCvOqJUyotoVfmKFZ&Bst0l+dFrsfF4(Tb zMgZkYO&v8Y{>CoKFZR!_4uLQRag;#aHvlLA@Yfa_zj&~!@vXhU4{ke{uigiE0PqlC zk)QMV{bH&jzlCy4GIK#u>sxUei`th zn6PLgqnL=;D8EPrMW7}a0jKT@YV5n90{9a%kL3J=iWd$>-T#s5&%S$Ma|(|zu&<6#g?Fm_v=kS+@~<~7Fkt>n z2{koD{G|oG{{PnCwE*o5KOO)t__l>HI0Wnq{qbinxNuQ|5&u#Nxce6`iGXi*SRe#G z;I~#mKEOcq0u$y{CMGf_U@8QJaCop{^1@j04dVoXD+;1QgF~Wy|7^pEY%o%SqK(+Z z1%D$pVjiRcmrmsJ!gyHgF^(mmh2w7c6K63lNEWeJ=L`@ArV(No zV38lZ1ojbtR{(7I*#V<)Qc|EsAH6WNIh3c%k>Bkq6O^q_OWJQ@Ib zz-wM806gaZ|MHC>$S(}+BBNqBpibVPpWr&`g3f`3dKTSkz%2{hd@W)yG2m-S7KX~= z)f5XM@K|2BoC564!PtWDAoF_rLesuqMVEro%K2KVR3HI(F4!j;kMsc?S)$G7OJc1qT$K$^n`@-$Gpx4cB zR$u7<;|BzL$ZRG#)LH*Z*h94k3mU06j@Sf(Orl#iQ&j|(`51fC)9j5?W6oKYE z;2v;y!Kb@)BA@T z-Zm-&Ag~aGg3w3|4u{0!2}mMF04a` zyo~HY-bX$Xd`##=_9F+OVa!Y91bPxV#hyWbNB%(lganr@UtwpTckI~lZ8`f7mYr+a zQIEwD^h{Q`e(JrCri$z7ySgP;)z-D@4pXvr<{m=}36m*`nmR_S*H~HG*#~kw&o@g* z;_yTPs+gXkQRV3;0|fp2y_GoP@)bd$dHcv*pSG##jsBm1%{w_CDN<8krr>h4r1V62 zMP*IP<#w!qAdO|Ta`pOC6?g8I;22C<`4uZC-c8Tn>_D@Z$S+mUHZZcZwsCNBaow=d z)7v+I6SSEZmzcb(ysGZ()!y2=2=0~r-m=>;D6}dn2nDIDrKGV?nj(^DIf4{M8DoJK zR!XVD%Aw`Z3V0m>JM&b10-cB#U%uK96@Vvb&@nP72@GUvfL@1DM-y=boGE)5T9BZJ zGQu!%XhEEVmA7ZaGTQ6%x@BN-qkE5lCs@WfLHjp+TbORi&*hy_jZ*Q$l-U zmlD?y6)>V{XFWLU(1tj&DLf8ktVEurW!wZj6P{E*J?NWU8i1Ea7bZn%8~RZXfjF& z6^r)43ZfwqL9_v=oC03fF4b9(1027 zf1~CJHF5Ddd&)H2HstKimwYZPvd-q`FE#a*o?bp98GCZ~?mJ!Ia_MGA*XiPlG5oyM{)`W`xMAtpYhI8RsrvX?xs1^C3Mmr~K5Fwwt$l2A^6UYQ5WWugA*H z-p$?HXJ>9+{rTp$YaO@x$#gLf&#&Kp&!>cMc`+m`9l@1k`6MRQ)+JxMOc#@qUbEKD z9v=Tm$xSyOJ$^Rx;Y$=RFFNMnQZ@C8y5_c9J^e#RObZWbYBEwlybZ=N(5z$Gr%ij(&owHcy+QWN=8IRBxN@`t&kx=%PzpEW0r%F zCQeAXA{#B3(#I6Uq|9Sdh6FzzMd=e#J*g=d@G0FGqWE$Y5o>^7gBQd`3rL|hqTLB8 z>Ee<^I>82=vI~2rTu=`MR;CwzMGIS9)5dL|I9Lt-?Jutb(lcRh9bbtA_Z^ z);l)ut2YO|)PsmJ`f@@q_0I_V8LEqy8fr-TS$>i#wK3K4bC}swy562E<9PIPsUxDt z&xv!t)Cn;t1V=~X0SOVwgpf!> zu+E{8V5~t>NE9RhyD@+Oq9W;F6$I2EZ9IfS5s^~Rau8P##8d#ugH%x%FbZ)<0e-4* zkwB(M*e!`P1m#=Ig#}qcXb2<@;i2^q5+{iFhmZsToE1_6qz6Iz!Vt(2BLK+}pdd7a z1%*N~kZ2SMEd;DsNCX0Hk76OEz@I4+!r>vL009Cs0E$7%LR(R2Bmu&ro`OaIrNzN1 zBJo%v64H>?L~8&y22vmhBH5sl5Xt}qf`}+1JQ8^b1qneoI71Y&!xRDCkU^mKK)!4Q zHWZ0KLqs;x0SR~|C_4j*feMjKiV(CE&k#^UX@I&Rk;@=+(DF#6AgGr*qzzI(s6y^pVu8bJms-Ul6Itcj|lno0^ z38V`i_Spot2MFb$K&N651PJ*B^gI|5P(H{H4Y7#|Sbk4oktj9L;0PRO5Xg}ZiULwe zz=8}wn}g8?X9XcZ@9JPMunoeBAOKrHKr7Mffj>eGDTV-TfX3kQNSqY90EN&;YvCbb zh>n3oK&oVZikLvC1jI2xgBHMr;}E_nGYg+N;UhkH-?)fM@XCA-;4J_dy!z+^m|Z;x zcD)dgRiEKod=O?Og|Lq=VjBVM`vYSFI8i(#J`7x_6a&scAhaVm*gyz^Ao#436R7GR zkHWxLYz441)%11MG}sCTS{zM14THcSHaIZWR@Kx})zVbN#)5OX7#>zbO$*#6CV`yFEltpl@k~JzW|Jzy0HKN diff --git a/pkg/sourmash_bg.wasm.d.ts b/pkg/sourmash_bg.wasm.d.ts deleted file mode 100644 index 00df329..0000000 --- a/pkg/sourmash_bg.wasm.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -export const memory: WebAssembly.Memory; -export function signature_new_from_params(a: number): number; -export function signature_add_sequence_js(a: number, b: number, c: number, d: number): void; -export function signature_add_from_file(a: number, b: number, c: number, d: number): void; -export function signature_to_json(a: number, b: number): void; -export function signature_size(a: number): number; -export function computeparameters_new_with_params(): number; -export function computeparameters_set_ksizes(a: number, b: number, c: number): void; -export function computeparameters_set_scaled(a: number, b: number): void; -export function computeparameters_set_num(a: number, b: number): void; -export function computeparameters_set_protein(a: number, b: number): void; -export function computeparameters_set_dayhoff(a: number, b: number): void; -export function computeparameters_set_hp(a: number, b: number): void; -export function computeparameters_set_track_abundance(a: number, b: number): void; -export function computeparameters_set_seed(a: number, b: number): void; -export function kmerminhash_new_with_scaled(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): number; -export function kmerminhash_add_sequence_js(a: number, b: number, c: number, d: number): void; -export function kmerminhash_to_json(a: number, b: number): void; -export function __wbg_computeparameters_free(a: number): void; -export function __wbg_signature_free(a: number): void; -export function __wbg_kmerminhash_free(a: number): void; -export function __wbindgen_malloc(a: number, b: number): number; -export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; -export function __wbindgen_add_to_stack_pointer(a: number): number; -export function __wbindgen_free(a: number, b: number, c: number): void; -export function __wbindgen_exn_store(a: number): void; From 2806e5cae14dc07eb9e03610c796a86df17326d1 Mon Sep 17 00:00:00 2001 From: Luiz Irber Date: Wed, 17 Apr 2024 15:41:07 +0000 Subject: [PATCH 4/4] add .fastq extension Co-authored-by: Tessa Pierce Ward --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 284c744..d3c77dd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,7 +8,7 @@ import style from './index.css'; const worker = new Worker(); -const SUPPORTED_EXTENSIONS = ['.fa', '.fasta', '.fna', '.gz', '.fq']; +const SUPPORTED_EXTENSIONS = ['.fa', '.fasta', '.fna', '.gz', '.fq', '.fastq']; @customElement('mgnify-sourmash-component') export class MGnifySourmash extends LitElement { @property({ type: Boolean, reflect: true })